前言¶
DeepSeek Harness(DSH)把智能体循环、工具调用、工作区审批和沙箱策略放在本地或自托管运行时里执行。日常开发时,你往往已经在浏览器里开着 ChatGPT,却还要切到 DSH Web 或终端去新建会话、跟进进度、处理审批。两边没有统一入口,远程协作时更难让同事「看见」本地 DSH 在做什么。
下面介绍的 dsh-chatgpt-bridge 是一条 MCP 桥接路径:让 ChatGPT Web 通过官方 Model Context Protocol,在受控隧道里调用本地 DSH,创建、查看、继续和监督 agent 会话。控制方向是 ChatGPT Web → 安全 MCP 隧道 → 桥接插件 → DSH;它不会让 DSH 去调用 ChatGPT,也不会把 DSH 的模型请求路由到 ChatGPT。
这是什么¶
dsh-chatgpt-bridge 由维护者 jiezeng2004-design 作为独立 DSH 插件持续维护。当前公开发布版本为 0.4.1(npm 包同名),README 写明已在 DSH 0.1.1-rc.1 上端到端验证。许可证为 MIT。
插件只做连接:会话日志、agent 循环、工具、技能、子智能体、工作流、审批、沙箱与工作区安全模型仍由 DSH 核心承担,无需修改 DSH 核心代码。在 SkillHub 等社区目录中,它归类为「工作流」类插件。
核心功能¶
MCP 工具面¶
桥接通过 MCP 暴露 15 个工具。连接建立后,应在 ChatGPT 侧扫描或刷新工具列表;README 要求列表中应包含第 15 个工具 dsh_update_goal,若缺失需重新扫描连接器。
文档中明确提到的工具包括:
- 只读检查:
dsh_health、dsh_list_workspaces - 会话与消息:
dsh_send_message - Goal 监督:
dsh_start_goal、dsh_wait_goal、dsh_update_goal - 审批:
dsh_approve
其中包含写入与动作类工具,不仅限于只读 MCP。桥接会驱动真实的 DSH agent,在 DSH 已注册工作区内按审批与沙箱策略修改文件,安装前应理解这一权限边界。
原生设置与隧道运行时(v0.4.0)¶
DSH Web 的 Settings → ChatGPT Bridge 页面可在图形界面管理 OpenAI 隧道:配置隧道、保存 Runtime API key、启动/停止/重启插件自带的 tunnel-client、查看实时状态、运行分层诊断并查看脱敏日志。
运行时配置位于 $DSH_HOME/chatgpt-bridge/runtime-config.json;密钥存放在 $DSH_HOME/chatgpt-bridge/secrets/,生成的 profile 仅以 file: 引用。管理 API 为 DSH Web 服务器上的 loopback 路径 /_dsh/chatgpt-bridge/*,带 Host/Origin/Content-Type 等 CSRF 检查。
本地端点¶
在同一 web profile/runtime 中同时运行 DSH Web 与桥接时,默认端点为:
| 用途 | URL |
|---|---|
| DSH Web | http://127.0.0.1:3080 |
| Bridge MCP | http://127.0.0.1:3456/mcp |
桥接绑定 127.0.0.1,不自行对外暴露公网接口,也不自建隧道;ChatGPT Web 需通过 OpenAI 当前支持的 Secure MCP Tunnel 等机制,把远程 MCP 客户端请求转发到本机 loopback。
安装与启用¶
环境要求¶
- Node.js >= 22,且可在
PATH中调用。 - 可用的 DSH 安装(
dsh在PATH中);README 示例亦可用pnpm dlx @deepseek-ai/dsh@0.1.1-rc.1替代每条命令里的dsh。 - 建议使用 web profile:DSH Web 与桥接应运行在同一 web profile/runtime,ChatGPT 创建的会话才能在 DSH Web 中实时可见。
- ChatGPT 侧的 MCP 与写入类动作是否可用,取决于你当前的 OpenAI 套餐与工作区;安装前请查阅 OpenAI 官方文档。
安装插件¶
推荐从已发布的 npm 包安装到 web profile:
dsh plugin --profile web add dsh-chatgpt-bridge
仅执行 npm install dsh-chatgpt-bridge 不够:插件必须加入 DSH profile bundle,dsh plugin ... add 会完成这一步。
启动运行时¶
dsh web
在同一 web profile/runtime 中启动 DSH Web 与桥接。
读取认证令牌¶
首次启动时,桥接会生成令牌并写入 $DSH_HOME/chatgpt-bridge.token。macOS / Linux 下读取:
cat ~/.dsh/chatgpt-bridge.token
勿将令牌提交到 GitHub 或粘贴到公开聊天;它授权 MCP 访问你的 DSH 运行时。也可自行设置环境变量 DSH_CHATGPT_BRIDGE_TOKEN,桥接将优先使用该值。
连接 ChatGPT¶
ChatGPT Web 无法直接访问本机 http://127.0.0.1:3456/mcp。若桥接跑在本机,需通过 OpenAI 当前支持的 Secure MCP Tunnel 将请求转发到 loopback;在连接器中使用步骤 3 的令牌作为 MCP Authorization Bearer。stdio 传输不是 ChatGPT Web 的快速路径;其他 MCP 客户端可参考 README 的 Advanced 章节。
连接后扫描/刷新 MCP 工具,确认 15 个工具(含 dsh_update_goal)均已出现。
典型用法¶
只读验收¶
将以下提示交给已连接 MCP 的 ChatGPT,验证桥接与 DSH 健康状态:
请使用已连接的 DSH App,只做只读检查:
1. 调用 dsh_health
2. 调用 dsh_list_workspaces
3. 不修改任何文件
4. 返回 bridge version、health 和 workspace 名称
README 给出的期望结果示例:
health = ok
bridge version = 0.4.1
Goal 监督(只读约束)¶
在确认工作区名称后,可用 Goal 流程做结构化只读检查:
使用 dsh_start_goal 创建一个只读检查目标(workspace 用 dsh_list_workspaces
查到的名称),goal 描述为“只读检查项目”,plan 为列出项目结构并总结
README,constraints 使用 {"read_only": true}。然后反复调用 dsh_wait_goal
直到 terminal,最后只汇报 health、goal revision 和总结,不修改任何文件。
v0.3.0 引入的 Goal Control Plane 与 v0.4.0 的原生设置能力在 0.4.1 中仍保留。
适用场景与注意¶
适合谁
- 已在本地或自托管环境运行 DSH,并希望在 ChatGPT Web 中统一发起和监督 agent 任务。
- 需要远程同事通过 ChatGPT(在隧道与令牌保护下)查看 DSH 会话进度、处理审批,而不必直接登录 DSH 机器。
- 希望保持 DSH 原有安全模型,仅增加一条 MCP 桥接,而非改造 DSH 核心。
注意事项
- 插件以当前
dsh进程权限运行,写入类工具可在已注册工作区内改文件;安装前应阅读源码与 MIT 许可证,并理解 DSH 审批与沙箱策略。 - 桥接不替代 DSH 的模型后端;模型请求仍由 DSH 自身配置决定。
- SkillHub、dshbase、DSHarness 等目录为社区生态列表,与 DeepSeek / 幻方无官方从属关系;目录标签不代表安全审计或用户规模背书。
- GitHub 仓库当前约 11 stars;维护方持续跟踪 DSH 上游兼容性并发布回归测试过的版本。
链接¶
- SkillHub 目录页:https://www.skillhub.cn/plugins/jiezeng2004-design/dsh-chatgpt-bridge
- GitHub 仓库:https://github.com/jiezeng2004-design/dsh-chatgpt-bridge
- npm 包:https://www.npmjs.com/package/dsh-chatgpt-bridge
经过上面的步骤,你可以在 ChatGPT Web 与本地 DSH 之间建立一条受控 MCP 通道:会话仍是原生 DSH 会话,安全边界仍由 DSH 承担,多一个从浏览器侧创建与监督智能体工作流的入口。