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.jsonversion0.2.3packageManagerpnpm@11.7.0engines.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
羽毛球分组比赛记分
小程序二维码

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

小夜