DeepSeek Harness MCP 集中管理插件

前言

在 DeepSeek Harness 之外,你通常會在多個 AI 開發工具裏聲明同一類 MCP 服務器:有的在 JSON 裏,有的在 YAML 中;鍵名不同、字段名不同、超時單位也不同。手動把這些配置遷移到 DSH,或者在不同工具之間同步,非常容易出錯。dsh-mcp-manager 插件提供了一個統一的設置頁,讀取本機各工具的配置文件,將 MCP 服務器按文件分組展示,再通過開關決定是否掛載到 DeepSeek Harness,並支持一次真連探活。

插件簡介

dsh-mcp-manager 由 wangbobo-coder 維護,是一個 DeepSeek Harness 插件。它掃描 Claude Desktop、Claude Code、Cursor、Windsurf、VS Code、Roo Code、Gemini CLI、Qwen Code、Qoder IDE、OpenCode、Trae、Trae CN、Copilot CLI、Kiro、Zed、Continue、CodeBuddy 等工具的配置文件,將它們整合到同一張卡片視圖裏,每條服務器帶有一個掛載開關。插件不依賴外部 SDK,沒有運行時依賴,也不需要構建。

安裝與啓用

插件通過插件管理頁安裝,也可通過 agent 工具安裝。

方式一:插件管理頁

  1. 打開 DeepSeek Harness 設置。
  2. 進入「插件管理」。
  3. 搜索 @oh-agent/dsh-mcp-manager。
  4. 點擊安裝。

方式二:讓 agent 安裝

在對話中直接說「安裝 @oh-agent/dsh-mcp-manager」,等價於:

plugin_manager  action: install_bundle  target: "@oh-agent/dsh-mcp-manager@0.1.3"

安裝後會在設置頁增加一個「MCP」入口,同時暴露一個 agent 工具 mcp_manage。

主要功能

1. 多工具配置掃描

插件內置 18 種工具的適配器,通過讀取對應配置文件,解析出服務器定義。適配器使用統一的路徑解析函數(appData、xdgConfig、vscodeUserDir、zedConfig 等),支持 Windows、macOS、Linux 以及項目級路徑。不同工具的鍵名差異被適配層統一映射到標準字段,例如 serverUrl、url、httpUrl、streamable-http、environment、command 數組等。

2. 按文件分組展示

頁面按配置文件分組,每個文件一張卡片。卡片頭部顯示工具名、服務器數量和路徑(顯示時用 %APPDATA%\… 風格,完整路徑在 tooltip 中)。每行顯示傳輸方式、命令或 URL、共用該定義的工具數量、探活結果以及掛載開關。卡片默認可摺疊,篩選生效時會展開所有卡片,確保隱藏的命中能被檢索到。

3. 真連探活

每條服務器可以觸發一次探活:插件會通過標準 JSON-RPC 流程與服務器建立連接(stdio 或遠程 POST),檢查 initialize、notifications/initialized 和 tools/list,僅讀訪問不調用任何工具。探活結果會顯示在界面上,幫助確認服務器是否可用。

4. 掛載與卸載

開關的含義是「這個服務器有沒有掛載進 DeepSeek Harness」。插件根據服務器在 DSH 中的存在形式選擇不同的寫入路徑:

  • 我們自己寫的 - insert: 行:開關打開時重寫該行,關閉時刪除該行,操作後文件回到精確的原始字節。
  • 已存在的 dsh-mcp-client 行:通過 pluginManager.setPluginEnabled(rowId, …) 熱卸載該行,工具從列表消失。
  • 用戶自己寫的 - insert: 行:插件會追加或移除自己的覆蓋項(- id: … 或 disabled: true)。
  • 只在別的工具中聲明且被打開:在 DSH 組合文件中追加一條新的 - insert: 行,Loader 重排後通常 1–4 秒生效,最多等待 8 秒並上報 live: true 或 activating: true。

插件不會爲了開關而給其他工具添加 enable 字段,因爲 Qoder、Trae 等工具的配置文件中根本沒有此類鍵。

5. 安全寫入機制

寫入路徑圍繞「只重寫我們能證明是自己寫的東西」構建:

  • 歸屬臺賬:每次寫入記錄 {path, serverName, fingerprint},同名寫入只有在磁盤上的定義指紋一致時才生效。
  • 絕不覆蓋別人的服務器:名字已被非我們寫入的條目佔用時,新服務器改用帶後綴的名字。
  • 樂觀併發:傳入掃描時的文件哈希,文件變更時返回 409 和當前哈希,提示重新掃描。
  • 原子替換:寫臨時文件、rename 覆蓋目標、再讀回並重新解析。
  • 每次修改前備份:按 backupsToKeep 保留,可在頁面還原。
  • 憑據掩碼:按鍵驅動的掩碼機制,短 token 會被掩碼,間接引用(如 ${FIGMA_API_KEY})原樣顯示。覆蓋字面值所有可能藏身的地方(env、headers、extra、命令行參數等)。掩碼的定義永遠寫不回瀏覽器。
  • 自定義頭校驗:變更請求需攜帶 x-dsh-mcp-manager: 1,疊加在 JSON content-type 和 loopback 來源校驗之上。

6. 掛載名處理

@deepseek-ai/dsh-mcp-client 要求 serverName 匹配 /^[A-Za-z0-9_-]{1,32}$/,現實中大量中文名、帶空格的英文名無法直接使用。插件導出 dshMountName(name) 函數:先 sanitize,若結果丟失信息(中日韓字符、空格、超長)則追加原名的短哈希。該函數是純函數且全域一致,掃描、開關、移除都從同一輸入計算,避免撞名導致開關翻轉。

使用示例

安裝後進入「設置 → MCP」,你會看到類似技能頁的佈局:

  • 頂部爲標題行與操作按鈕。
  • 四格彙總條:服務器數量、文件數量、已掛載進 DSH 的數量、包含字面憑據的數量。
  • 篩選行:自由文本搜索(名字、命令、路徑)加兩個下拉(按工具、按掛載狀態)。
  • 配置文件卡片列表。

點擊某一行會打開對話框,而不是原地展開。對話框列出聲明該服務器的所有文件、統一後的定義、可直接粘貼進 cordis 組合的 YAML 行,以及「複製到…」按鈕,方便把定義推送到其他工具。

適用場景與注意

適合需要同時使用多個 AI 開發工具、希望在 DeepSeek Harness 中統一管理 MCP 服務器的開發者。插件以當前 DSH 進程權限運行,安裝前建議查看源碼與許可證。

總結

dsh-mcp-manager 提供了一個集中管理本機各 AI 工具 MCP 配置的設置頁,按文件分組展示、真連探活、只在 DSH 內掛載/卸載,不改動其他工具的配置。安裝後通過開關即可控制掛載,無需手動編輯多個配置文件。

  • 插件主頁:https://www.skillhub.cn/plugins/wangbobo-coder/dsh-mcp-manager
  • 源碼倉庫:https://github.com/wangbobo-coder/dsh-mcp-manager
羽毛球分组比赛记分
小程序二维码

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

小夜