dsh-mcp-plugin
August 16, 2026 · View on GitHub
把一个 MCP server(stdio / streamable-http,任意语言,含 Rust/Go 独立二进制、Node/Python 脚本)封装成
可 dsh plugin add 一键安装的 DeepSeek Harness (dsh)
Cordis 插件的技能(WorkBuddy / CodeBuddy 技能包)。
注意:这与
dsh-skill-pack-plugin(把SKILL.md技能包封装成插件)是两条不同路线。本技能只处理 MCP server。
它解决什么
- dsh 注册 MCP server 是「配置型 Cordis bundle」,借用内置的
@deepseek-ai/dsh-mcp-client,无需自己写插件逻辑。 - 覆盖 stdio / streamable-http 两种接入方式。
- 覆盖跨平台二进制分发模式:umbrella 包 + 平台可选依赖(optionalDependencies)+ 零构建 bin shim,
规避 pnpm 安装时的
allowBuilds墙(ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED)。 - 提供原生
.mcp.json降级方案(很多场景根本不需要写插件)。 - 记录已验证的坑位:
!!js process.env.*YAML 扩展、行id全局唯一性、不要对同一 server 双重挂载等。
安装(作为技能)
把本目录整体放进你的技能目录即可,例如:
# WorkBuddy / CodeBuddy 用户级技能目录
cp -r dsh-mcp-plugin ~/.workbuddy/skills/dsh-mcp-plugin/
对话中直接说「把 <某个 MCP server> 做成 dsh 插件」即可触发本技能。
用法速览
- 在插件的
cordis.patch.yml里插入一行,把@deepseek-ai/dsh-mcp-client实例化成指向目标 server 的 stdio/http 实例。 serverName即工具命名空间,最终工具名mcp__<serverName>__<tool>。- 独立二进制用 umbrella 包 + 平台可选依赖 + bin shim 做跨平台分发;
command直接用命令名(dsh 把.bin加进 PATH)。 - 发布顺序:平台二进制包 → umbrella 包 → 插件包(均
npm publish --access public)。
完整细节见 SKILL.md。
许可证
MIT