前言¶
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 強大的工作流執行、權限管理和持久化監控能力。