dsh-mcp-settings:在 DeepSeek Harness Web 設置中管理 MCP 服務器

前言

對於使用 DeepSeek Harness(DSH)Web profile 的開發者,MCP 服務器配置、啓停和狀態查看分散在不同位置時,排查成本會比較高。dsh-mcp-settings 是一個可安裝的 DSH bundle,把設置驅動的 MCP server manager、只讀 inventory Remote 和 Web Settings UI 放進同一個兼容的 Web profile,讓你可以從 Settings > MCP 管理 mcp.servers。

DSH 的理念是「一切皆插件」;社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係,不應把它寫成官方應用商店。

這是什麼

dsh-mcp-settings 的定位是:

Settings-driven MCP server manager, inventory Remote, and Web settings UI for DeepSeek Harness

它由 aka-danielZhang 維護,GitHub 倉庫地址是:

https://github.com/aka-danielZhang/dsh-mcp-settings

這個 bundle 會爲一個兼容的 Web profile 安裝三個插件行:

插件行 職責
dsh-mcp-settings-manager 擁有 mcp.servers,爲啓用的服務器啓動和停止一個內置 MCP client fiber,併發布合並後的連接狀態
dsh-mcp-settings-inventory 暴露只讀 mcpInventory/list Remote
dsh-mcp-settings-ui 增加 MCP Settings 頁面,提供 Form/JSON 編輯、啓用切換、狀態輪詢和工具數量展示

目標 profile 不能已經掛載另一個 settings-driven MCP manager 或 MCP Settings UI。現有 mcp.servers 用戶配置不會被刪除。

核心功能

Manager

dsh-mcp-settings-manager 負責 MCP 服務器生命週期和狀態:

  • 擁有 mcp.servers 配置空間。
  • 爲每個啓用的服務器啓動一個內置 MCP client fiber。
  • 停用服務器時停止對應 fiber。
  • 發佈合併後的連接狀態。

Inventory

dsh-mcp-settings-inventory 暴露只讀 Remote:

mcpInventory/list

它用於列出 MCP inventory,不提供寫操作。

UI

dsh-mcp-settings-ui 增加 Settings > MCP 頁面:

  • Form 編輯和 JSON 編輯。
  • 直接啓用 / 禁用服務器。
  • 狀態輪詢。
  • 工具數量展示。
  • 支持 stdio 服務器和 Streamable HTTP 服務器。
  • 支持 credential references。

憑據引用方式如下:

  • HTTP 服務器使用 authorizationCredentialRef 構建 Bearer authorization header。
  • stdio 服務器使用 envCredentialRefs 把目標環境名映射到 credential references。

安裝與啓用

先確認環境。根據已覈實事實,安裝前需要滿足以下條件:

  • 需要一個匹配的 DeepSeek Harness development build,並且其 web profile 已經提供 package.json 中列出的 DSH peer packages。
  • 該 Harness build 必須發出 mcp-client/status 事件;README 說明該事件尚未在 public Harness default branch 中。
  • Node.js 要求:^22.19.0 || >=24。
  • 直接從 GitHub 安裝時,需要 pnpm 10 或更新版本。
  • package.json 中 version 爲 0.2.3,packageManager 爲 pnpm@11.7.0,engines.node 爲 ^22.19.0 || >=24.0.0。
  • 當前兼容的 DeepSeek Harness 版本爲 0.1.0-rc.7,對應 @deepseek-ai/dsh-root 和 @deepseek-ai/dsh-mcp-client。
  • 自 v0.2.2 起,manager 會本地鏡像 reconnect defaults 和 server-name pattern,而不是導入未發佈的 dsh-mcp-client exports。

從 GitHub 安裝

執行:

dsh plugin --profile web add github:aka-danielZhang/dsh-mcp-settings

這條命令只安裝 bundle,不會安裝或升級 Harness-owned peer packages。因此需要把它指向一個已經具備所需 peer packages 的兼容 Web profile。

如果你安裝的是不完全受你控制的代碼,建議固定 commit:

dsh plugin --profile web add github:aka-danielZhang/dsh-mcp-settings#<commit-sha>

pnpm build permission

Git 安裝會觸發倉庫的 prepare 腳本來生成 lib/。pnpm 在 profile 授權前會阻止依賴構建腳本。如果首次安裝報告了 ignored build,把安裝時打印的 package key 添加到:

~/.dsh/profiles/web/pnpm-workspace.yaml

的 allowBuilds 中,然後重複安裝命令。結構類似:

allowBuilds:
  "<安裝命令打印的 package key>": true

這個授權允許包代碼在安裝階段運行,所以安裝前應檢查源碼與許可證。

重啓並驗證

安裝後重啓 Web profile:

dsh --profile web

然後打開:

Settings > MCP

現有的 mcp.servers 列表仍然可用。

用下面命令檢查組合後的 profile 行:

dsh --profile web --dump-config

輸出中應包含:

dsh-mcp-settings-manager
dsh-mcp-settings-inventory
dsh-mcp-settings-ui

安裝本地 checkout

也可以克隆倉庫後從本地路徑安裝:

git clone https://github.com/aka-danielZhang/dsh-mcp-settings.git
cd dsh-mcp-settings
dsh plugin --profile web add file:.

典型用法

經過上面的安裝步驟後,使用流程如下:

1、打開 Settings > MCP。

2、在 Form 或 JSON 視圖中編輯 mcp.servers。

3、爲 HTTP 服務器配置 authorizationCredentialRef,用於構建 Bearer authorization header。

4、爲 stdio 服務器配置 envCredentialRefs,用於映射目標環境名到 credential references。

5、切換服務器啓用狀態。

6、查看 UI 中的連接狀態和工具數量。

移除 bundle 時執行:

dsh plugin --profile web remove dsh-mcp-settings

然後重啓 Web profile。移除後 bundle 行會消失,但用戶配置會保留。

適用場景與注意

適合在兼容 Web profile 中使用 DSH,並希望通過 Web Settings 管理 MCP 服務器的開發者。

安裝和使用時注意:

  • dsh plugin add 只安裝 bundle,不安裝或升級 Harness-owned peer packages。
  • 該 bundle 依賴匹配的 Harness development build,並且該 build 必須發出 mcp-client/status 事件。
  • 目標 profile 不能已經掛載另一個 settings-driven MCP manager 或 MCP Settings UI。
  • DSH 是 pre-release software;當擴展點變化時,peer ranges、Typert descriptor 和 bundle patch 應一起更新。
  • 自 v0.2.2 起,manager 本地鏡像 reconnect defaults 和 server-name pattern,而不是導入未發佈的 dsh-mcp-client exports。
  • 插件會在當前 dsh 進程權限下運行;安裝前應檢查源碼、依賴和許可證。
  • 許可證字段未在已抓取資料中明確給出。README 提到遷移自 MIT-licensed 包並指向 LICENSE,但未提供 LICENSE 文本或本插件許可證字段。

結尾

dsh-mcp-settings 的價值在於把 MCP 服務器管理集中到 DSH Web Settings:manager 負責 mcp.servers 啓停和狀態,inventory 提供只讀 mcpInventory/list Remote,UI 提供 Form/JSON 編輯、啓用切換、狀態輪詢和工具數量展示。

目錄頁 URL 未在已抓取資料中給出。GitHub 倉庫地址爲:

https://github.com/aka-danielZhang/dsh-mcp-settings
羽毛球分组比赛记分
小程序二维码

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

小夜