前言¶
DeepSeek Harness 的理念之一是「一切皆插件」。但在 DSH 插件开发里,一个很容易出现的误区是:插件能被加载,并不等于工具能被真实调用。
dsh-plugin-template 是一个面向 DSH 插件开发者的社区起始模板。它提供一个最小可运行的插件结构,并通过 CI 安装打包产物、真实调用内置的 hello 工具、运行 DSH web 启动冒烟测试,来验证插件不只是“能装进去”,而是“能跑起来”。
这是什么¶
- 仓库名:
zoahdev/dsh-plugin-template - 定位:DeepSeek Harness plugins 的最小化、已验证社区起始模板
- 维护者:
zoahdev - 许可证:MIT
package.json版本:0.1.0- 测试环境:
dsh0.1.0-rc.6、Node24、pnpm11
它是社区模板,不是官方 DeepSeek 模板,不是安全审计,也不是生产就绪证明。社区目录是独立站点,与 DeepSeek / 幻方没有官方从属关系。
核心能力¶
下面介绍模板中已核实的能力:
- 包含 bundle manifest 与
cordis.patch.yml插件行配置。 - 提供一个
hello工具,CI 会安装打包产物并真实调用该工具。 - 内置运行时 peer-version guard,拒绝不满足
^0.1.0-rc.6的@deepseek-ai/dsh-tools。 - 包含单元测试、打包集成测试和 DSH 启动冒烟测试。
- 支持本地
dsh-plugin-doctor检查和 GitHub Action 健康检查。
安装与启用¶
下面的示例使用模板本地打包后的 tarball 安装。
先克隆仓库,并运行安装、测试和打包命令:
git clone https://github.com/zoahdev/dsh-plugin-template.git my-plugin
cd my-plugin
pnpm install && pnpm test && pnpm pack
这一步会生成本地插件包 dsh-plugin-template-0.1.0.tgz。
将插件安装到 DSH 的 web profile:
dsh plugin --profile web add ./dsh-plugin-template-0.1.0.tgz
启动 DSH web:
dsh web --port 4099
典型用法¶
模板内置了一个 hello 工具。启动后,可以让 agent 执行:
Use the hello tool to greet Ada.
这个示例用于验证插件注册、工具暴露和实际调用链路,而不是只验证插件文件存在。
如果你准备对改名后的插件做本地健康检查,可以运行:
node lib/bin.js --full <your-plugin-directory>
依赖与运行限制¶
使用这个模板时,需要注意以下已核实的限制:
peerDependencies使用 caret range^0.1.0-rc.6,不是固定版本 pin。- 模板测试基于
dsh0.1.0-rc.6、Node24、pnpm11。 - pnpm 可能静默链接旧 RC;插件会拒绝加载,不应使用
--legacy-peer-deps抑制错误。 - DSH web 启动冒烟在
windows-latest运行,因为ubuntu-latest缺少上游linux-x64 pty.node prebuild。
适用场景¶
适合:
- 想从已有可运行模板开始做 DSH 插件。
- 希望通过 CI 证明插件能加载、工具能调用。
- 希望在本地检查和 CI 检查之间保持一致性。
不适合:
- 需要官方 DeepSeek 背书。
- 需要安全审计结论。
- 需要生产就绪证明。
插件会以当前 dsh 进程权限运行。安装前应检查源码、许可证和依赖,确认其符合你的使用场景。
结尾¶
dsh-plugin-template 的价值不在于功能多,而在于它把“插件可加载、工具可调用、版本不匹配会拒绝”做成了一条可复现的检查路径。
- 社区目录:https://www.skillhub.cn/plugins/zoahdev/dsh-plugin-template
- GitHub:https://github.com/zoahdev/dsh-plugin-template