前言¶
在 DSH(DeepSeek Harness)里接 MCP,往往还要在 Claude Code、Cursor、VS Code、Codex 等工具各自维护一份 MCP 服务器配置。同名服务改一处、漏三处,是常见运维成本。社区插件 dsh-mcp-global-manager(维护者 asfre,分类 admin-security)把「发现 → 同步进 DSH → 按需写回原工具 → 在 DSH 侧增删改停用」收进侧栏面板,面向本机多工具并用的开发者。
DSH 生态主张「一切皆插件」;目录页在 SkillHub,与 DeepSeek / 幻方无官方从属关系。下文功能与命令均以 GitHub README 与 package.json(当前版本 0.1.1,MIT)为准。
这是什么¶
dsh-mcp-global-manager 是 DSH 侧栏面板插件:按注册表扫描本机已知编程工具里的 MCP 配置文件,对比差异后可将条目采纳进 DSH profile 的 cordis.patch.yml(生成 @deepseek-ai/dsh-mcp-client 受管行,与 dsh-mcp-manager-plus 行形状互通),并在面板内管理 DSH 侧 MCP;写回各工具配置文件需逐条显式授权。
运行环境:Windows / macOS / Linux;依赖 DSH >=0.1.6-alpha.1(README 写明 0.2.0 正式版前的过渡版本不支持,详见兼容性说明)。宿主侧不出网、不执行命令(不为装 MCP 跑 npx / git 等),只读写配置文本。
侧栏入口:地球图标 + MCP全局管理(order: 22,排在 dsh-remote-web-ui「远程链接」之后;未装远程链接插件也可单独使用)。
核心功能¶
发现与差异账本¶
- 内置 28 个工具源,另支持自定义源(id / 格式 / 容器键 / 候选路径,可用
%APPDATA%等展开)。 - 识别 JSON、TOML、OpenCode、Continue 数组等方言;读取时容忍
//注释与尾随逗号。 - 差异四态:无变化 / 新发现 / 有变化 / 源里已删;JSON 键序重排不误报;同名条目跨工具会标注重复来源。
- 扫描带约 400ms 请求级缓存,连续点「刷新扫描」不会反复打满磁盘。
同步与管理¶
- 采纳导入:勾选批量或单条「采纳到 DSH」;
--emit预览与真实导入共用同一纯函数。 - DSH 侧:新增 / 编辑 / 删除 / 停用;新增支持三步表单(基本信息 / 启动方式 / 环境变量),可粘贴整行命令「识别」拆分,底部实时预览写入内容。
- 写回原工具:须先开「允许写回」,再确认写回或从该工具删除;服务端账本双重闸门,无 force 旁路。部分源(如 lingma、cherry-studio、zed、warp、continue)注册为只读,写回返回 403。
安全与本地数据¶
- 命中
KEY/PASSWORD/SECRET/TOKEN等规则的 env、请求头及 URL 查询令牌在面板打码;写回时用磁盘原值还原,还原失败则 409 拒写,避免把占位符写进配置文件。 - 每次写入前备份到
~/.dsh/mcp-global-manager/backups/,最多保留 40 份;差异账本在~/.dsh/mcp-global-manager/state.json(含上次快照,仅本机、不出网)。 - API 仅监听 loopback,并校验 Origin / Host;插件以当前登录用户权限读写文件,安装前宜自行审阅源码与 MIT 许可证。
面板内 自检 可检查 js-yaml 解析、bundles/client.js 与 DSH 受管行数;界面中英文随 DSH 语言切换。
安装与启用¶
用 DSH 自带插件命令,--profile 换成你实际使用的 profile(如 web / desktop / tui):
# ① 包发布到 npm 之后(推荐)
dsh plugin --profile web add dsh-mcp-global-manager
# ② 从源码装(开发态,无需 npm 账号)
dsh plugin --profile web add file:C:/Users/you/dsh-plugins/dsh-mcp-global-manager
# ③ 或装 GitHub Release 上的 tarball
dsh plugin --profile web add https://github.com/asfre/dsh-mcp-global-manager/releases/latest/download/dsh-mcp-global-manager.tgz
装完后彻底重启 DSH(托盘退出再开;Ctrl+R 只重载前端,宿主 lib/*.js 可能仍是旧版)。侧栏「远程链接」下方应出现 MCP全局管理。
README 提醒:补丁依赖 js-yaml 4.x,profile 里可能被其他插件的 5.x 占位;装完重启后建议点一次 自检。
典型用法¶
经过安装与重启,可按下面顺序操作(与 README「面板怎么用」一致):
- 侧栏打开 MCP全局管理,点顶部 刷新扫描。
- 看徽章行:总数 / 新发现 / 有变化 / 源里已删 / DSH 已管 / 存在的文件 / 读取失败。
- 在「各工具的 MCP 配置」按源分组:勾选后 采纳选中,或单条 采纳到 DSH。
- 单条 改配置;需要改其他工具磁盘上的文件时,先开 允许写回,再 写回该工具 或 从该工具删除(有确认框)。
- 在「DSH 侧」做增删改与停用;新增 DSH 条目 可手工建一条。
- 「源里已删」仅标红、不自动删 DSH 行;要清空差异账本可删
~/.dsh/mcp-global-manager/state.json后重新扫描。 - 服务名写入 DSH 前会规范化非法字符(如纯中文可能变为
server-<hash6>),面板会提示改名。
开发态只扫描、不写盘,可在插件目录执行:
node tools/cli-scan.mjs # 只扫描打印;--emit 预览导入 YAML
适用场景与注意¶
适合谁:本机同时用多种 AI 编程工具、希望以 DSH 为 MCP 配置中枢,又偶尔需要把变更写回某一工具配置文件的开发者。
权限与信任:插件读写你用户目录下的各工具 MCP 配置与 DSH profile;state.json 可能含敏感 env 快照。多用户机器或装有不受信本地程序时,注意 ~/.dsh/mcp-global-manager/ 目录权限;loopback 端口对本机任意进程可见,README 已说明局限。
已知限制(节选):
- JSON 写回会丢失
//、/* */注释与尾随逗号(读可容错);写前有备份可回滚。 - TOML 仅处理
[mcp_servers.x]一层;面板管的是配置,不代管 DSH MCP 运行时启停。 - 卸载插件后,
cordis.patch.yml里已生成的mcp-*行不会自动删除,需在面板或配置中自行清理;账本与备份目录需手动删才彻底清理。
结尾¶
dsh-mcp-global-manager 把分散在多工具里的 MCP 配置收成可扫描、可对比、可导入 DSH、可受控写回的一条工作流,并强调本地、只读默认与写回双确认。进一步了解与安装入口: