DSH(DeepSeek Harness)的設計理念是“一切皆插件”。在本地開發或部署環境中,管理 Model Context Protocol (MCP) 服務器通常需要直接編輯配置文件或 Loader 行。fanyongbing/dsh-mcp-native 插件提供了一個設置頁入口,將 MCP 服務器視作原生 Loader 行進行管理,支持卡片列表、搜索、啓動/停用及配置編輯。
核心功能¶
該插件提供了以下管理能力:
- 卡片列表與搜索:在設置頁以卡片形式展示服務器狀態,支持按服務名、Loader ID、命令、地址、說明等字段實時過濾。
- 狀態篩選:支持按全部、運行中、已停用、異常進行篩選。
- 啓動與停用:通過設置頁操作 Loader 行的
disabled標誌來控制服務啓停。 - 重啓與重連:支持對服務器進行重啓操作,用於在重連次數用盡後恢復連接。
- 配置編輯:提供表單模式和 JSON 原始模式,支持字段說明與雙向轉換。
- 新增與刪除:直接在當前 profile 中新增或刪除 Loader 行。
- MCP 說明:內置常見 MCP 服務器的說明庫,並在“說明”頁展示已註冊的工具及描述。
- 從本機導入:掃描並導入 Claude Desktop、Cursor、Claude Code 等客戶端的 MCP 配置。
安裝與啓用¶
通過官方命令安裝插件:
dsh plugin --profile desktop add github:fanyongbing/dsh-mcp-native
安裝後,設置導航欄會出現 MCP 服務 條目。
典型用法¶
啓動/停用服務器¶
在設置頁的 MCP 服務 區域,點擊卡片上的操作按鈕,通過修改 Loader 行的 disabled 標誌來控制服務。
編輯配置¶
支持兩種編輯模式:
1. 表單模式:填寫基本信息、傳輸方式、環境變量等。
2. JSON 原始模式:直接編輯配置文件內容,支持 !!js 表達式。
導入現有配置¶
點擊“從本機導入”,勾選 Claude Desktop、Cursor 等客戶端的配置,插件會將其寫入當前 DSH profile。
配置字段示例¶
配置項需填寫在 Loader 行的 config 字段中,支持的傳輸方式爲 stdio 或 streamable-http:
- id: mcp-github
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: github
transport: stdio
command: npx
args: ['-y', '@modelcontextprotocol/server-github']
env:
GITHUB_TOKEN: !!js process.env.GITHUB_TOKEN
適用場景與注意¶
該插件爲純手寫 JS,零依賴、零構建,但存在以下限制:
- 連接狀態:無法枚舉已連接的服務器集合,也無法讀取單臺服務器的連接狀態。界面將“運行中”定義爲 Loader 行已掛載,而非連接成功。
- 控制粒度:無法在不切換 Loader 行的情況下啓動/停止單臺服務器;重連次數用盡後只能重啓該行或重啓 DSH。
- 傳輸限制:僅支持
stdio與streamable-http傳輸方式,不支持 SSE。 - 安全性:宿主半邊使用本地迴環 HTTP 路由,讀取配置包含環境變量,請在可信環境下使用。
- 默認行爲:默認
failOnStartupError爲false,即使首次連接失敗,插件 fiber 仍爲 ACTIVE 狀態。