前言¶
DeepSeek Harness Desktop(DSH)的核心理念是“一切皆插件”。在开发智能体时,管理 MCP 服务器和 Skill 通常需要手动编辑配置文件,这种方式不仅繁琐,还容易出错。dsh-skill-mcp-manager 为 DSH 提供了一个设置页内的统一管理界面,用于处理 MCP 服务器与 Skill 的增删改查,无需手动修改 DSH 源码。
这是什么¶
这是为 DeepSeek Harness Desktop 提供设置页内的 MCP server 与 Skill 统一管理界面的插件,由用户 kiligzzz 维护。它基于官方 DSH 双面插件机制(host + 浏览器端)实现,通过 profile bundle 加载,随 DSH 升级而存续。
核心功能¶
该插件主要包含以下功能模块:
-
Skill 管理
- 列出所有 skill,支持按名称、描述搜索,显示启用状态。
- 开关:通过修改 frontmatter 的
disable-model-invocation标记实现启用/禁用。 - 删除:真实条目删除文件/目录;软链接(symlink)只删除链接本身,不追目标。
- 导入:上传
.md文件,名称自动规范化为 kebab-case。 - 文件夹同步:使用
ln -s建立软链,源文件夹改动实时生效。 - 编辑器打开:macOS 使用
open,Linux 使用xdg-open。
-
MCP 管理
- 新增、编辑、删除 server,支持
stdio(命令/参数/环境变量/工作目录)与streamable-http(URL/请求头)两种传输方式。 - 按会话渐进加载:启动时不连接 MCP,也不注入原生工具 Schema。模型命中 Server 描述后调用
mcp_session(load),再通过@deepseek-ai/dsh-mcp-client加载该 Server 的工具。 mcp_session支持load/unload/status,不同会话互不影响。- 直接编辑
~/.dsh/mcp.json后,描述目录会在 3 秒内刷新,且只安全重连已加载过该 Server 的会话。
- 新增、编辑、删除 server,支持
-
能力清单 prompt 段
- 每个会话的系统提示词都会追加紧凑的
capability:mcp段,仅列出已配置 Server 的名称、description 与是否允许加载,模型需要时才加载完整工具 Schema。
- 每个会话的系统提示词都会追加紧凑的
安装与启用¶
该插件需要支持 profile bundle patch 的 DSH 环境。在 profile 的 package.json 中添加以下依赖与配置:
{
"dependencies": {
"@kiligzzz/dsh-skill-mcp-manager": "^0.3.0"
},
"dsh": {
"profile": {
"bundles": ["@kiligzzz/dsh-skill-mcp-manager"]
}
}
}
安装后重启 DSH 即可。插件自带 cordis.patch.yml,无需手写 cordis.patch.yml insert 行。
典型用法¶
- 渐进式加载:模型命中 Server 描述后调用
mcp_session(load)加载工具。 - 配置热更新:直接编辑
~/.dsh/mcp.json后,描述目录会在 3 秒内刷新,且只安全重连已经加载过该 Server 的会话。 - 软链同步:将源文件夹里的 skill 逐个
ln -s软链到~/.dsh/skills,源改动实时生效。
注意事项¶
- 该插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。
- 依赖环境:需要支持 profile bundle patch 的 DSH 环境。
- Host 依赖:Host 半区依赖
loader服务从 DSH 运行时解析@deepseek-ai/dsh-mcp-client(该包不随此插件发布)。 - 浏览器端依赖:浏览器端依赖
slots服务(settings.section槽位)。 - 配置格式:
~/.dsh/mcp.json以 map 格式{ "name": { ... } }写入;旧版{ "servers": [...] }数组格式首次读取时自动迁移。 - 破坏性操作:删除或开关 skill 会写
~/.dsh/skills下的文件,此类操作 UI 会先确认。
结语¶
dsh-skill-mcp-manager 通过统一界面解决了 DSH 环境下 Skill 与 MCP Server 管理的配置文件编辑问题,并通过渐进式加载优化了资源占用。更多细节与源码可参考 GitHub 或 技能社区目录。