前言¶
DeepSeek Harness (DSH) 的核心設計理念是「一切皆插件」。在使用 DSH 構建工作流或智能體時,通常需要連接多個 Model Context Protocol (MCP) 服務。這些服務形態各異,有的提供 HTTP 接口,有的依賴本地進程;有的需要認證,有的則無需認證。在 DSH 原生配置中管理這些服務往往需要手動編輯 YAML 文件,配置複雜且容易出錯。
dsh-mcp-oauth-client 是爲此設計的通用管理插件。它提供了一個可視化的管理界面,並作爲客戶端橋接,支持通過配置文件或界面添加、管理和連接各類 MCP 服務。
插件概覽¶
- 插件名稱:
dsh-mcp-oauth-client - 維護者:fangzaozao
- 開源協議:MIT
- 定位:面向 DeepSeek Harness 的通用 MCP 管理與客戶端橋接插件
- 說明:雖然包名保留了 oauth 歷史名稱,但它不僅支持帶認證的服務,也支持無認證的 MCP 服務。
核心功能¶
該插件提供以下能力:
- 可視化管理:在 DSH 的「設置 → MCP」界面中統一管理所有服務。
- HTTP 流式支持:支持可流式 HTTP 協議,包含以下認證方式:
- 無認證
- OAuth 2.1 + PKCE
- Bearer 令牌
- 自定義請求頭
- 本地進程支持:支持標準輸入輸出(stdio)協議,可配置啓動命令、參數、環境變量和工作目錄。
- 服務控制:支持添加、刪除、啓用、停用、重新連接服務,以及查看當前工具數量。
- OAuth 自動化:支持自動打開瀏覽器進行授權,通過本機回調地址完成認證,並使用官方 MCP SDK 處理令牌刷新。
安裝與啓用¶
該插件通過 npm 包管理。安裝時需要指定 Web profile。
1. 通過 npm 安裝¶
dsh plugin --profile web add dsh-mcp-oauth-client
2. 通過本地 tarball 安裝¶
如果插件已打包,可以直接安裝:
pnpm pack
dsh plugin --profile web add ./dsh-mcp-oauth-client-0.3.0.tgz
3. 通過 Git 安裝¶
從 Git 安裝時,插件會執行 prepare 腳本進行構建。如果使用 pnpm 10 及以上版本,需要在 DSH profile 的 pnpm-workspace.yaml 中明確允許該構建腳本:
allowBuilds:
dsh-mcp-oauth-client: true
然後使用固定的 commit SHA 進行安裝,以確保構建結果穩定:
dsh plugin --profile web add github:fangzaozao/dsh-mcp-oauth-client#COMMIT_SHA
使用方法¶
安裝完成後,啓動 Web profile,進入「設置 → MCP」頁面,點擊「添加服務器」開始配置。
HTTP 服務配置¶
對於 HTTP 類型的 MCP 服務,界面提供了四種認證方式供選擇:
- 無認證:適用於公開訪問或由網絡層(如防火牆)保護的端點。
- OAuth 2.1 / PKCE:支持動態註冊,也支持手動填寫客戶端 ID 和客戶端密鑰。
- Bearer 令牌:直接輸入令牌,插件會自動在請求頭中添加
Authorization: Bearer <token>。 - 自定義請求頭:適用於 API Key 或特定服務商的請求頭格式。
stdio 服務配置¶
對於本地標準輸入輸出(stdio)類型的 MCP 服務,需要填寫可執行命令。
- 命令:填寫啓動該 MCP 服務的可執行文件或腳本路徑。
- 參數:命令參數每行填寫一個。
- 環境變量:使用
名稱=值的格式填寫。 - 工作目錄:可選配置。
管理器模式¶
該插件包只安裝管理器,不內置默認的 MCP 地址、憑據或本地命令。需要通過界面添加的具體服務條目,其配置會寫入當前 profile 的 cordis.patch.yml 文件中。只有管理器條目本身需要設置 manager: true;如果該服務是由組合包提供的,且組合包已包含管理器,則無需重複設置。
注意事項¶
- 安全存儲:在界面中填寫的憑據會以明文形式寫入
cordis.patch.yml。請勿將該配置文件提交到 Git 倉庫。 - 令牌持久化:OAuth 的訪問令牌和刷新令牌僅保存在插件進程的內存中。如果插件重啓,令牌將失效,需要重新授權。
- 系統要求:運行該插件需要 Node.js 20 或更高版本。
- DSH 版本兼容性:需要支持組合包和 Web 客戶端擴展的 DSH 版本。
- 預覽狀態:本插件面向 DeepSeek Harness 開發者預覽版。DSH 仍在快速迭代,後續版本可能包含破壞性變更。
總結¶
dsh-mcp-oauth-client 解決了 DSH 環境下管理異構 MCP 服務(特別是涉及認證和本地進程)的配置痛點。通過可視化的操作和標準化的配置輸出,它降低了連接外部工具的門檻。對於需要深度集成 MCP 生態的 DSH 用戶,這是一個值得安裝的基礎設施插件。
更多細節和源碼,請訪問 GitHub 倉庫。