前言¶
DeepSeek Harness(DSH)提供了一套本地化、高性能的 AI 工作流执行能力,但在实际开发中,直接通过 CLI 与其交互往往不够灵活。当开发者使用 Codex、Claude Code、Cursor 等 MCP(Model Context Protocol)标准客户端时,需要一种方式将 Harness 的能力接入到这些智能体中。
harness-relay-mcp 正是为了解决这个问题而生。它作为 DeepSeek Harness 的 MCP 控制平面,允许外部 MCP 智能体委派任务、监控进度并获取持久化结果,而不是简单地将 Harness 封装为一个普通的模型调用。
这是什么¶
harness-relay-mcp 是一个独立的开源项目(维护者:tonytanglab,许可证:MIT)。它不是 DeepSeek 模型的封装,而是连接外部 MCP 智能体与本地 DeepSeek Harness 实例的桥梁。
它的核心定位是控制平面而非模型层。它不运行模型推理,而是接管 Harness 的会话管理、权限控制、工具调度和事件持久化,通过 MCP 协议将这些能力暴露给外部 Agent。
核心功能¶
该插件提供了以下能力:
- 原生会话与持久化事件:使用 Harness 原生的会话模型和事件系统,而非解析 CLI 输出,确保状态准确。
- 完整的异步生命周期:支持任务的启动、状态查询、等待、引导、回复、取消和重新打开。
- 丰富的配置选项:在提交任务前,可选择 Provider(提供者)、Model(模型)、Reasoning Effort(推理强度)、Agent Preset(智能体预设)和原生权限。
- 权限分级支持:直接支持 Harness 的三种原生权限级别:只读、工作区写入和危险完全访问。
- 多模态支持:支持有序文本和内联图片提示,并对 Base64 编码进行了边界验证。
- 高可用性:具备持久化的运行身份,MCP 服务器重启后可恢复上下文。
- 可视化与验证:提供稳定的 Harness Web 会话链接,且 bundled Skill 中包含显式的页面验证机制。
- 广泛的兼容性:兼容 Codex、Claude Code、OpenCode、Cursor 等标准 MCP 客户端。
安装与启用¶
推荐通过 DeepSeek Harness 的官方 profile 进行安装。
- 安装插件
使用 profile 命令将插件添加到 Harness 中:
dsh plugin --profile web add harness-relay-mcp
- 验证配置
检查配置是否包含插件信息:
dsh --profile web --dump-config
确保输出中包含 `id: harness-relay-mcp` 和 `name: 'harness-relay-mcp'`。
- 启动 Harness
启动配置好的 profile:
dsh --profile web
- 卸载(如需)
卸载插件不会取消已提交的工作流:
dsh plugin --profile web remove harness-relay-mcp
典型用法¶
MCP Agent 交互流程¶
外部 MCP Agent 可以通过以下流程控制 Harness:
- 启动任务:调用
start_run,并在参数中选择 Provider、Model、Reasoning、Preset 和 Permission。 - 监控与控制:通过
status_run查看状态,或使用wait_run等待完成,期间可使用steer_run进行引导。 - 结果获取:任务完成后,获取持久化结果以及原生的 Harness Web 会话 URL。
使用 Codex 插件¶
如果你使用 Codex 作为 MCP 客户端,需要安装对应的插件层(注意:Codex 插件是外部调用层,不替换 Harness bundle):
- 注册 Marketplace:
codex plugin marketplace add tonytanglab/deepseek-harness-relay-mcp
- 添加插件:
codex plugin add deepseek-harness-relay@harness-relay
- 查看已安装插件:
codex plugin list
适用场景与注意¶
适用场景¶
- 长耗时任务:需要 Harness 内部进行复杂工具调用或长时间运行的任务。
- 权限管理:需要精确控制 Agent 对工作区的读写权限(只读、写入、完全访问)。
- 持久化监控:需要跨会话或跨重启恢复任务状态。
- Web 检查:需要通过 Harness Web 界面进行人工检查或调试。
重要注意事项¶
- 版本要求:
- 内部模式:需要 DeepSeek Harness 版本在
>=0.1.3-alpha.2 <0.2.0之间,并使用webprofile,绑定地址为127.0.0.1。 - 独立兼容模式:需要本地运行 DeepSeek Harness Web Host(默认地址:
http://127.0.0.1:3080/)。
- 内部模式:需要 DeepSeek Harness 版本在
- 工作区注册:目标工作区必须已由 Harness 注册,或位于明确配置的允许根目录下。
- 避免循环:不要将 Relay 同时配置在 Harness 的 MCP 客户端中,否则会造成
Harness -> Relay -> Harness的无限递归。 - 卸载影响:卸载 Relay 的基础设施不会取消已提交的 Harness 工作流,需手动在 Harness 中处理。
- 历史兼容性:Relay 0.2.6 及更早版本针对已移除的
rc.7ApiProxy 表面,不兼容当前 Harness 线。 - 开发者预览:DeepSeek Harness 目前处于开发者预览阶段,建议在使用前重新查阅官方仓库以获取最新动态。
总结¶
harness-relay-mcp 解决了 DeepSeek Harness 与外部 MCP 智能体集成的痛点,提供了完整的控制平面能力。它让开发者能够在熟悉的 Agent 界面中,享受 Harness 强大的工作流执行、权限管理和持久化监控能力。