dsh-chatgpt-bridge:用 ChatGPT Web 创建与监督 DSH 会话

前言

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_healthdsh_list_workspaces
  • 会话与消息:dsh_send_message
  • Goal 监督:dsh_start_goaldsh_wait_goaldsh_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。

安装与启用

环境要求

  1. Node.js >= 22,且可在 PATH 中调用。
  2. 可用的 DSH 安装(dshPATH 中);README 示例亦可用 pnpm dlx @deepseek-ai/dsh@0.1.1-rc.1 替代每条命令里的 dsh
  3. 建议使用 web profile:DSH Web 与桥接应运行在同一 web profile/runtime,ChatGPT 创建的会话才能在 DSH Web 中实时可见。
  4. 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 承担,多一个从浏览器侧创建与监督智能体工作流的入口。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜