前言¶
DeepSeek Harness (DSH) 的理念是「一切皆插件」。在使用 MCP (Model Context Protocol) 服務器時,傳統的配置方式(如手動編輯 JSON 文件)不僅繁瑣,而且調試困難。本文介紹的 dsh-mcp-servers-panel 插件旨在解決這個問題,它將 MCP 服務器的管理無縫集成到 DSH 的設置面板中,提供可視化的新增、查看、修改、刪除及啓停功能。
插件定位¶
這是一個爲 DSH 提供原生 MCP 服務器管理界面的插件,由 whiteS18 維護,基於 MIT License 開源,歸類於工作流類插件。
核心功能¶
1. 設置面板無縫集成¶
插件安裝後,會自動在 DSH 設置的左側菜單中添加「MCP Servers」選項卡。界面遵循 DSH 官方原生 UI 規範,使用純 SVG 矢量圖標。
2. 已安裝 MCP 服務列表¶
在面板中可以清晰查看當前已配置的 MCP 服務器。列表展示名稱、作用域(用戶 / 項目)以及運行狀態指示燈(在線綠色、禁用灰色、錯誤紅色)。右上角提供「刷新」、「Add MCP +」、「Open MCP Config」快捷操作。每個服務器卡片支持點擊展開,查看已發現的工具數量及描述,並提供獨立的啓停開關與刪除確認。
3. 新建與編輯 MCP 服務¶
支持「表單」與「JSON」雙模式切換編輯:
* 表單模式:直觀輸入服務名稱、傳輸協議、可執行命令、參數、環境變量及端點 URL。
* JSON 模式:支持直接編輯完整配置,智能兼容單個配置對象、mcpServers 包裝對象以及 Cursor / Claude Code 常見格式。
支持自由切換「作用域」:選擇「用戶(User)」將配置保存於 ~/.dsh/mcp-servers.json,選擇「項目(Workspace)」則保存於 <workspace>/.dsh/mcp.json。
4. DSH 原生對話調用¶
插件會自動維護 MCP 進程的生命週期(stdio 管道或 HTTP 通信),並完成 MCP 協議握手(initialize -> notifications/initialized -> tools/list)。發現的工具會自動註冊至 ctx.tools,供模型與會話直接調用。名稱過長或包含非法字符時,會按 DSH 規則截斷並附加哈希。
5. 跨平臺與 Windows 兼容¶
- Windows stdio 增強:針對 Windows 上
spawn無法直接運行無擴展名腳本或.cmd/.bat的問題,插件會自動通過PATHEXT探測可執行目標並封裝cmd.exe /d /s /c執行,解決ENOENT錯誤。 - 環境 PATH 智能探測:自動嗅探並補充常見全局環境路徑(如 Node.js、npm、pnpm、scoop、mise、cargo 等),避免因 PATH 問題導致服務啓動失敗。
6. 診斷排查與可視化¶
展開服務器卡片可查看底層啓動配置(傳輸類型、命令、工作目錄等)。連接異常時會展示錯誤詳情,配合 8 秒握手超時保護,避免子進程死鎖。
安裝與啓用¶
- 環境檢查:確保安裝了 Node.js >= 20.0.0,並滿足依賴項
@deepseek-ai/cordis (^4.0.0)和@deepseek-ai/dsh-tools (>=0.1.0)。 - 執行安裝:
dsh plugin --profile <name> add dsh-mcp-servers-panel
- 重啓應用:DSH 在進程啓動時組合插件。安裝後必須完全退出並重新打開 DSH(不是刷新頁面)才能生效。
典型用法¶
- 啓動 DSH Desktop 後,進入「設置」。
- 在側邊欄找到「MCP Servers」面板。
- 點擊右上角「Add MCP +」新建服務。
- 在編輯彈窗中,根據需要選擇「表單」或「JSON」模式輸入配置,並設置「作用域」。
- 保存後,在列表中點擊服務器卡片展開,確認工具已加載,並通過 DSH 原生對話調用這些工具。
注意事項¶
該插件以當前 DSH 進程的權限運行,建議在安裝前檢查源碼與許可證。由於插件加載機制,任何配置更改或新增都需要完全重啓 DSH 應用才能被識別。
結語¶
dsh-mcp-servers-panel 通過圖形化管理解決了 MCP 服務的配置與調用問題,適合需要頻繁調試或管理多個 MCP 工具的開發者。更多細節與源碼可參考其 GitHub 倉庫。