🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

Codex 调用桥 bodazi-na/codex-MCP-dsh

DeepSeek Harness
bodazi-na30 天前有提交已提供中文文档扫描:无法判定

让 Codex 通过 MCP 直接派发本机 dsh 任务并留痕

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/5 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add bodazi-na/codex-MCP-dsh
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]!
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
数据截至 2026/11/04·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 30 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

⚠︎ 实装验证未通过(unknown · 2026/11/4) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 包内无可扫 JS
  • · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/4(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 经MCP调用本机dsh
  • 派发任务与查询状态
  • 调用留审计日志

把本地 DeepSeek Harness(dsh)当原生工具从 Codex 经 MCP 调用:dsh_task / dsh_status,每次调用都有真实审计日志,Windows 优先。

README

由 DeepSeek 最新模型翻译生成
Codex 通过 MCP 调用 DSH 把本机安装的 DeepSeek Harness(dsh) 挂成 MCP server,Codex 就能像调用内置工具一样调用它:dsh_task 派一个真实任务(DSH 用自己的技能、记忆和工作区执行), dsh_status 自检接线。每次调用都会留下一个真实的 DSH 会话,以及一行可审计的调用记录。 flowchart LR C[Codex] -->|MCP stdio: dsh_task / dsh_status| M[dsh_mcp.mcp_server] M -->|dsh --profile headless --json| D[DeepSeek Harness] D -->|读/写工作区、调工具、用技能| W[(workspace + ~/.dsh)] D -.->|sessionId(可续接)| M M -->|answer + session_id| C 本机实测:{"answer": "MCP-OK", "session_id": "session-77f0b613-…", "exit_code": 0}; 端到端流程与排障全过程见 docs/codex-mcp-dsh.md。
展开完整文档(README 剩余 1 节)
Codex 通过 MCP 调用 DSH

把本机安装的 DeepSeek Harness(dsh) 挂成 MCP server,Codex 就能像调用内置工具一样调用它:dsh_task 派一个真实任务(DSH 用自己的技能、记忆和工作区执行), dsh_status 自检接线。每次调用都会留下一个真实的 DSH 会话,以及一行可审计的调用记录。

flowchart LR
C[Codex] -->|MCP stdio: dsh_task / dsh_status| M[dsh_mcp.mcp_server]
M -->|dsh --profile headless --json| D[DeepSeek Harness]
D -->|读/写工作区、调工具、用技能| W[(workspace + ~/.dsh)]
D -.->|sessionId(可续接)| M
M -->|answer + session_id| C

本机实测:{"answer": "MCP-OK", "session_id": "session-77f0b613-…", "exit_code": 0};
端到端流程与排障全过程见 docs/codex-mcp-dsh.md。

快速开始(三步)

1) 依赖
uv sync

2) 把配置贴进 Codex(把 <DSH_HOME>、<repo> 换成你的路径)完整可复制版本:examples/codex-config.toml ~/.codex/config.toml 里追加 [mcp_servers.dsh] 与 [mcp_servers.dsh.env]

3) 验证——二选一
python scripts\mcp_smoke.py --task "Reply with exactly: MCP-OK" # 命令行验证
或在 Codex 里说:Call the dsh_status tool exactly once, then reply with the raw JSON

~/.codex/config.toml 的内容(路径改成你自己的):

[mcp_servers.dsh]
command = '<DSH_HOME>\dsh-runtimes\dsh-primary-runtime\dependencies\python\python.exe'
args = ["-m", "dsh_mcp.mcp_server"]
startup_timeout_sec = 120

[mcp_servers.dsh.env]
PYTHONPATH = '<repo>\src;<repo>\.venv\Lib\site-packages;<repo>\.venv\Lib\site-packages\win32;<repo>\.venv\Lib\site-packages\win32\lib'
DSH_MCP_WORKDIR = '<repo>'
DSH_MCP_STATE_DIR = '<repo>\.dsh-a2a'
DSH_MCP_CALL_LOG = '<repo>\logs\mcp_calls.jsonl'

改完 Codex 的配置要重启 Codex 才生效。

两个工具

| 工具 | 签名 | 作用 |
| dsh_task | prompt, session_id?, timeout_seconds?, json_output? | 跑一个任务并返回最终答复;把返回的 session_id 传回来即续接同一会话;json_output=true 时额外返回 session / exit_code / usage |
| dsh_status | probe_boot? | 报告解析到的 launcher、profile、工作区、状态目录;probe_boot=true 时顺带做一次 profile 预检 |

工具面刻意只有两个——每个工具的 schema 每轮都要付上下文成本。

配置为什么长这样(三个必填点)

| 点 | 缺了会怎样 |
| command 用工作区外的解释器 | 工作区内的 .venv 受 Windows 沙箱限制,它派生的 dsh 写不了 ~/.dsh → EPERM … cordis.yml,每次任务都失败 |
| env.PYTHONPATH | 运行时解释器里没有 dsh_mcp 这个包(它是本仓库源码)→ server 启动即 ModuleNotFoundError: No module named 'dsh_mcp' |
| PYTHONPATH 里带 win32 与 win32\lib | mcp 2.x 在 Windows 上 import pywintypes(pywin32),而 pywin32 靠 .pth 注入路径——PYTHONPATH 不处理 .pth → No module named 'pywintypes' |

排障:失败长什么样

最坑的一种是静默失败:少写 env 时 Codex 不会报"服务器起不来",它只是拿不到工具,模型会说"我的工具列表里没有 dsh_status"(MCP 只返回空 resources)。

诊断第一条命令:

& '<DSH_HOME>\dsh-runtimes\dsh-primary-runtime\dependencies\python\python.exe' -m dsh_mcp.mcp_server --check
正常:打印 launcher / profile / workdir / state dir

| 现象 | 原因 | 处理 |
| 模型看不到 dsh_status / 只有空 resources | 配置缺 env,server 启动即崩 | 补 [mcp_servers.dsh.env],见上;用 --check 复现 |
| ModuleNotFoundError: No module named 'dsh_mcp' | 解释器里没装本仓库源码 | PYTHONPATH 加 <repo>\src |
| No module named 'pywintypes' | 少了 pywin32 的两个目录 | PYTHONPATH 加 …\site-packages\win32;…\site-packages\win32\lib |
| EPERM … .dsh\profiles\…\cordis.yml | 解释器在工作区内(沙箱限制) | 换工作区外的解释器(如上),或把 DSH_MCP_DSH_HOME 指到可写目录 |
| could not start … piped stdio: WinError 5 | 在沙箱里跑 | 在普通终端里跑 |
| 改完配置没反应 | MCP server 在 Codex 启动时拉起 | 重启 Codex |

调用记录(审计「谁调过我」)

每次工具调用都会追加一行 JSONL(DSH_MCP_CALL_LOG,默认 logs\mcp_calls.jsonl):

python scripts\mcp_calls.py --all

when (local) tool ok ms session prompt
2026-10-05 21:29:53 dsh_status ok -
2026-10-05 21:29:57 dsh_task ok 3875 session-1d31559f-… Reply with exactly: CALL-LOG-OK

记录字段:ts(UTC) / tool / ok / duration_ms / prompt_preview / session_id /
exit_code / usage,失败时记诊断后的 error。要进一步取证(模型是否看到工具、每次任务对应的真实 DSH 会话目录等),看 docs/codex-mcp-dsh.md 的「调用记录在哪查」一节。

目录结构(MCP 相关)

src/dsh_mcp/
mcp_server.py MCP server:两个工具 + 调用审计(stdio / streamable-http) dsh_runner.py 执行 dsh --profile headless --json,解析事件、超时、取消 config.py 环境变量、launcher 探测(自动跳过失效 shim) session_store.py session_id 的持久化(支持续接) stub_runner.py 假执行体(--stub,用来零成本验证客户端接线) scripts/ mcp_smoke.py 真实 MCP 客户端:列工具 + dsh_status + 可选跑一个任务 mcp_calls.py 调用记录查看器 fake_dsh.py 离线测试用的假 launcher tests/ 16 条契约测试(离线可跑) examples/ Codex TOML / 通用 stdio JSON / WorkBuddy HTTP docs/ 端到端流程与实测记录 start-mcp.cmd HTTP 传输启动器(默认 http://127.0.0.1:9102/mcp) _common.cmd 解释器与 PYTHONPATH 解析(工作区外解释器 + pywin32 目录)

- HTTP 传输(给只吃远端 URL 的客户端,如 WorkBuddy 的 mcp.json): .\start-mcp.cmd → {"mcpServers": {"dsh": {"url": "http://127.0.0.1:9102/mcp"}}}
- 契约测试:uv run pytest -q(16 passed);CI 见 .github/workflows/ci.yml(windows-latest)。

许可

MIT,见 LICENSE。
预览分享卡片长什么样 ↓bodazi-na/codex-MCP-dsh
分享 · DeepSeek Harness Hub
bodazi-na/codex-MCP-dsh

让 Codex 通过 MCP 直接派发本机 dsh 任务并留痕

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部