dsh-mcp-manager:在 GUI 中管理 MCP 服务器

前言

DeepSeek Harness(DSH)采用「一切皆插件」的理念,插件系统通过 profile 的 cordis.patch.yml 文件加载。MCP 服务器配置以 @deepseek-ai/dsh-mcp-client 的 insert 行形式存在。官方设置页无法感知这类 union 行,手工编辑文件容易因顶层 override 行遮蔽而踩坑。dsh-mcp-manager 插件补上这一缺口,提供图形界面来查看和编辑当前 profile 的 MCP 服务器配置。

这是什么

dsh-mcp-manager 是一个 dsh bundle 插件,由维护者 yifabunemgshoushi-oss 开发。它通过 Host 半和 Client 半两部分协作,在 dsh 桌面版 GUI 中管理当前 profile 的 MCP 服务器(即 cordis.patch.yml 中 @deepseek-ai/dsh-mcp-client 的 insert 行)。插件版本为 1.2.1,许可证为 MIT。

核心功能

Host 半:API 路由与配置读写

Host 半(lib/index.js)在 dsh 的 /api 认证通道下挂载一个 fetch 路由 /api/mcp-config,提供三种操作:

  • list:列出当前 profile 的 MCP 服务器
  • save:保存修改后的配置
  • remove:删除指定的 MCP 服务器

写入操作直接使用 yaml 的 Document API 在 cordis.patch.yml 里就地改写目标行,因此注释、缩进、折行与 !!js 表达式全部原样保留。落盘走 dsh 自己的原子写 + 文件锁机制。

Client 半:GUI 界面

Client 半(lib/client.js)提供桌面 GUI 中的「MCP 服务器」页面,支持以下操作:

  • 列出当前 profile 的全部 MCP 服务器
  • 查看服务器的 serverName、传输方式、目标地址、工具数量、运行状态
  • 新增服务器:通过表单填写信息,行 id 默认由 serverName 派生,可手动修改
  • 编辑并保存配置(热重载,无需重启)
  • 启用或停用服务器
  • 从 {"mcpServers": {...}} 片段批量导入
  • 删除服务器:删除前自动备份原文到同目录 .bak 文件,并提示会一并删除的注释行数

界面文案内置中文与英文两套,跟随 dsh 主题 token 适配外观。

安装与启用

本插件是 dsh bundle,由 dsh 桌面版按 package.json 中的 dsh 字段识别并加载:

  • dsh.bundle.patch 指向 cordis.patch.yml,由 Host 半作为一条 Loader 行注册
  • dsh.client 声明 platform: web 与 inject 目标,由 dsh 客户端模块系统把 lib/client.js 作为浏览器半侧送出

通过 dsh 插件管理器或命令行安装:

dsh plugin --profile <profile> add <本仓库地址>

安装后,入口出现在「设置」页的侧边列表里,名为「MCP 服务器」。插件注册的是 settings.section 槽位,不在主界面左侧导航。

依赖说明

依赖全部写在 package.json 里,仓库不携带 node_modules/:

  • yaml(dependencies):在 dependencies 中声明,由 pnpm 在安装时自动装进 profile node_modules
  • @deepseek-ai/dsh-atomic-write(peerDependencies + devDependencies):声明为 peer 而非 dependency,由宿主供给单一实例,插件自身不携带 node_modules

dsh-atomic-write 声明为 peer 依赖,是为了让运行中的 dsh 运行时闭包提供单一实例,插件仓库既不需要、也不应该携带 node_modules。

典型用法

查看当前 MCP 服务器

  1. 打开 DSH 桌面版
  2. 进入「设置」页
  3. 在侧边列表中找到「MCP 服务器」
  4. 页面会列出当前 profile 的所有 MCP 服务器,包括 serverName、传输方式、目标地址、工具数量和运行状态

新增 MCP 服务器

  1. 在 MCP 服务器页面右上角点击「新增服务器」
  2. 填写表单:
    - serverName:服务器名称
    - transport:选择传输方式(支持 stdio 与 streamable-http)
    - target:目标地址
  3. 可选:填写一段说明注释,留空则自动生成时间注释
  4. 点击保存,配置会追加到 cordis.patch.yml 末尾的一个 - insert: 块

删除 MCP 服务器

  1. 在列表中找到要删除的服务器
  2. 点击删除
  3. 确认删除,系统会备份原文到同目录 .bak 文件,并提示会一并删除的注释行数

能力边界

  • 支持 stdio 与 streamable-http 两种传输方式的查看、编辑与新增
  • 新增时只在新建时写入注释,改写既有行不会动注释
  • 写入只改目标行(就地逐键合并),注释、缩进、折行与 !!js 表达式保持原样
  • 删除前会自动备份原文到同目录 .bak

适用场景与注意

本插件适合需要在图形界面中管理 MCP 服务器配置的 DSH 用户,特别是需要频繁添加、编辑或删除 MCP 服务器,或者需要查看服务器运行状态和工具数量的场景。

安装前应检查源码与许可证。插件以当前 dsh 进程权限运行,确保对 cordis.patch.yml 文件有读写权限。

结尾

dsh-mcp-manager 通过 Host 半和 Client 半的协作,为 DSH 用户提供了在图形界面中管理 MCP 服务器配置的完整能力,包括查看、新增、编辑、启用/停用、批量导入和删除。插件保持了原有配置文件的注释、缩进和表达式格式,同时提供了热重载功能,无需重启即可生效。对于需要精细管理 MCP 服务器配置的开发者来说,这是一个实用的工具。

  • 目录页:https://www.skillhub.cn/plugins/yifabunemgshoushi-oss/dsh-mcp-manager
  • GitHub:https://github.com/yifabunemgshoushi-oss/dsh-mcp-manager
羽毛球分组比赛记分
小程序二维码

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

Xiaoye