前言¶
DeepSeek Harness (DSH) 采用“一切皆插件”的理念。在桌面端开发时,管理 Skill(技能)和 MCP Server(模型上下文协议服务器)通常需要直接操作配置文件,缺乏统一入口且容易误改。下面介绍 dsh-skill-mcp-manager,它为 DSH Desktop 提供了一个设置页内的统一管理界面。
核心功能¶
该插件基于 DSH 的双面插件机制(Host + 浏览器端)和 profile bundle 方式加载,随 DSH 升级自动存续。
Skill 管理¶
插件管理位于 ~/.dsh/skills 的技能文件:
* 列表与搜索:列出所有 Skill,支持按名称或描述搜索。
* 开关与删除:通过修改 frontmatter 标记实现启用/禁用;删除操作涉及真实文件或软链,具有破坏性,需先确认。
* 导入:支持上传 .md 文件,名称自动规范化为 kebab-case。
* 文件夹同步:通过软链接(ln -s)将源文件夹同步至目标目录,源文件修改实时生效。
MCP 管理¶
插件管理位于 ~/.dsh/mcp.json 的服务器配置:
* 支持协议:支持 stdio(命令/参数/环境变量/工作目录)和 streamable-http(URL/请求头)。
* 渐进加载:启动时不连接服务器,仅在模型命中描述后调用 mcp_session(load),按需加载工具,不同会话互不影响。
* 配置编辑:支持通过系统编辑器打开配置文件。
系统提示集成¶
每个会话的系统提示词会自动追加 capability:mcp 段,列出已配置 Server 的名称、描述及加载状态,模型据此决定调用哪些工具。
安装与启用¶
需要一个支持 profile bundle patch 的 DSH 环境。在 profile 的 package.json 中添加依赖和 bundle 配置:
{
"dependencies": {
"@kiligzzz/dsh-skill-mcp-manager": "^0.3.0"
},
"dsh": {
"profile": {
"bundles": ["@kiligzzz/dsh-skill-mcp-manager"]
}
}
}
配置完成后重启 DSH,在设置页面即可看到新增的管理入口。
典型用法¶
- 统一管理:在 DSH 设置页面对 Skill 和 MCP Server 进行增删改查。
- 软链同步:在宿主机上执行命令,将技能文件夹通过软链接同步到
~/.dsh/skills,实现外部文件实时更新。
说明与注意事项¶
- 配置格式:插件写入
~/.dsh/mcp.json时使用 map 格式({ "name": { ... } })。旧版{ "servers": [...] }数组格式在首次读取时会自动迁移。 - 依赖项:Host 半区依赖运行时解析
@deepseek-ai/dsh-mcp-client,不随包发布;浏览器端依赖slots服务。 - 破坏性操作:删除或开关 Skill 会直接修改文件系统,属于破坏性操作。
- 开发:插件无构建步骤,纯 JavaScript 实现。
总结¶
该插件解决了 DSH 环境下 Skill 与 MCP Server 手动配置繁琐的问题,通过设置页提供可视化管理,并实现了按会话渐进加载工具的能力,适合需要频繁调整上下文协议配置的开发者。
- GitHub 仓库:https://github.com/kiligzzz/dsh-skill-mcp-manager
- 插件目录:https://www.skillhub.cn/plugins/kiligzzz/dsh-skill-mcp-manager