dsh-mcp-manager:在 DSH Web 設置面板中管理 MCP 服務器

在 DeepSeek Harness (DSH) 的開發工作流中,管理 MCP 服務器(@deepseek-ai/dsh-mcp-client)通常涉及手動編輯配置文件、處理 YAML 語法,並重啓 Web 進程才能生效。dsh-mcp-manager 插件爲這一過程提供了 Web 界面,支持增刪改查(CRUD)和實時連接狀態監控,並通過熱重載機制實現零重啓更新。

核心功能

該插件在 DSH Web 設置面板中新增了獨立的“MCP 服務”頁面,主要包含以下能力:

  • 設置入口:頁面位於“設置 → MCP 服務”,與通用設置、模型、插件同級。
  • 完整增刪改:支持 stdio 和 streamable-http 兩種傳輸協議。通過表單可配置命令行參數(command/args/cwd/env)或 HTTP 服務器的 URL 與 Headers。
  • 實時連接狀態:列表每行顯示服務器連接狀態及已註冊的工具數量。提供手動刷新按鈕,後臺亦有 30 秒輪詢機制。
  • 無需重啓:修改配置後,插件會重寫 profile 的 cordis.patch.yml,宿主通過 Cordis HMR 事務性熱重載,dsh-mcp-client 在原地重連。
  • YAML 安全:內置解析器自動處理 YAML 保留字符(如 -y、@pkg/name 等),確保生成的配置文件始終可被正確解析。

安裝與啓用

使用前需確保已安裝 DSH Web profile(默認爲 web)。

  1. 安裝依賴:在 profile 目錄下執行安裝命令。
    cd "$DSH_HOME/profiles/web"
    pnpm add dsh-mcp-manager
  1. 添加配置:在 profile 的 cordis.patch.yml 中添加插件條目。
    - insert:
        - id: mcp-manager
          name: dsh-mcp-manager
  1. 啓用:重啓 dsh web(或等待 HMR 熱掛載生效),刷新瀏覽器即可在設置菜單中看到“MCP 服務”入口。

典型用法

Web 界面操作

設置頁面以表格形式展示服務器列表,包含以下列:

  • Server:顯示服務器名稱及配置 ID。
  • Status:綠色代表已連接(顯示工具數量),灰色代表斷開(懸停可查看詳情)。
  • Env:顯示環境變量鍵名(具體值在編輯模式下可見)。
  • Actions:編輯(打開包含完整配置的表單)或刪除(需確認)。

點擊標題旁的“刷新”按鈕可立即探測所有服務器的連接狀態。

HTTP API

插件提供同源 HTTP 接口,可用於腳本或外部程序調用:

  • 列出服務器:GET /mcp-manager/servers
    返回服務器列表及連接狀態(connected、toolCount)。
  • 創建或更新:POST /mcp-manager/servers
    JSON body 格式提交,若 id 存在則更新,否則創建。
  • 刪除:DELETE /mcp-manager/servers/:id
    刪除指定 ID 的服務器配置。

寫入操作通過單一隊列序列化,防止併發編輯衝突。

注意事項

  • 配置存儲:插件不維護獨立的服務器存儲,被管理的服務器即 cordis.patch.yml 文件中 @deepseek-ai/dsh-mcp-client 的配置行。
  • Profile 目標:默認管理 web profile,可通過插件配置項 config.targetProfile 修改以管理其他 profile。
  • Windows 兼容性:在 Windows 上使用 npx 啓動某些 MCP 服務器(如 @modelcontextprotocol/server-filesystem)時,可能會因爲 npm 配置警告或 cmd 對二進制路徑的解析問題導致失敗。建議直接使用完整命令路徑或改用 streamable-http 傳輸。

通過 dsh-mcp-manager,開發者可以在 Web 界面直接維護 MCP 服務器,避免手動處理 YAML 文件和重啓進程。更多細節請參考 GitHub 倉庫。

羽毛球分组比赛记分
小程序二维码

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

小夜