🛠️ DeepSeek Harness 插件开发与接入指南
September 2, 2026 · View on GitHub
本文档介绍如何在 deepseek-harness-plugins Monorepo 体系下开发、调试并发布一个全新的 Harness 插件。
1. 插件基础认知
DeepSeek Harness 采用 Cordis 插件化架构 与 前端模块注入机制:
- 服务端能力:通过
cordis上下文(ctx)注册服务、消息监听器或数据处理中间件; - 前端界面注入:通过
dsh.client.inject声明注入的 Web UI 模块,动态挂载设置面板、侧边栏或自定义组件。
2. 5 分钟创建新插件结构
在 packages/ 目录下新建子文件夹(例如 packages/harness-plugin-demo):
packages/harness-plugin-demo/
├── index.js # 服务端入口(Cordis 插件)
├── client.js # 前端注入入口(可选)
├── cordis.patch.yml # Cordis 配置补丁(可选)
├── package.json # npm 元数据
├── README.md # 插件说明文档
└── LICENSE # 开源协议 (MIT)
package.json 规范模板
{
"name": "@anarkhgatsby/deepseek-harness-plugin-demo",
"version": "0.1.0",
"description": "Demo plugin for DeepSeek Harness",
"type": "module",
"main": "./index.js",
"exports": {
".": "./index.js",
"./client": "./client.js",
"./package.json": "./package.json"
},
"repository": {
"type": "git",
"url": "https://github.com/mapan0424/deepseek-harness-plugins.git",
"directory": "packages/harness-plugin-demo"
},
"dsh": {
"bundle": {
"patch": "./cordis.patch.yml"
},
"client": {
"inject": [
"@deepseek-ai/dsh-client-runtime",
"@deepseek-ai/dsh-client-connection",
"@deepseek-ai/dsh-client-locale"
],
"platform": "web"
}
},
"files": [
"index.js",
"client.js",
"cordis.patch.yml",
"README.md",
"LICENSE"
],
"license": "MIT",
"publishConfig": {
"access": "public"
},
"peerDependencies": {
"@deepseek-ai/cordis": "^4.0.1"
}
}
3. 本地调试与发包
- 在根目录运行
pnpm install,新插件会自动被识别并建立本地软链; - 若涉及消息总线,可直接引用
@anarkhgatsby/deepseek-harness-core进行跨渠道路由; - 执行
pnpm changeset记录更新; - 执行
pnpm version:packages生成正式版本; - 执行
pnpm publish:packages完成 npm 独立包上线。