← 返回列表
未验证
{{TITLE}}dsh-plugin 模板
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/14 · 已提供中文文档
可直接发布的 DeepSeek Harness 插件骨架:打包格式、工具 DSL、配置、测试和脚手架脚本
综合分
30.1
GitHub 分
30.1
用户评分
—
★ Stars
5
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add sunshine-lang/dsh-plugin-template该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-tools@deepseek-ai/schemastery用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
{{TITLE}}(dsh-plugin 模板)
一个开箱即用的 DeepSeek Harness 插件骨架。一切皆插件:本模板把 bundle 格式、工具 DSL、配置校验、测试与发布清单集中在一个项目里。
快速开始
1. 用模板生成一个新插件
node scripts/scaffold.mjs dsh-myplugin --description "what it does"
2. 修改骨架
cd ../dsh-myplugin
- src/index.ts:把演示用的 hello 工具替换成你的能力
- src/index.ts:调整 Config 字段
- README.md:补充安装、用法、配置说明
3. 在 DeepSeek Harness 仓库内测试
(要求模板位于 /scratch-plugin/dsh-plugin-template)
node --import tsx/esm scratch-plugin/dsh-myplugin/test-integration.ts
4. 构建(提交 lib/——用户安装无需构建权限)
pnpm exec tsc -p tsconfig.local.json # 在 harness 仓库内
或独立克隆后安装依赖再构建:
npm install && npm run build
5. 在 Web UI 中试运行(从 harness 仓库)
pnpm dsh --profile web --patch ./scratch-plugin/dsh-myplugin/cordis.patch.yml
发布清单
- [ ] npm 包名可用(curl -s -o /dev/null -w "%{http_code}" https://registry.npmjs.org/ → 404)
- [ ] lib/ 已构建并提交(GitHub 安装不运行构建脚本)
- [ ] package.json 的 repository 字段指向你的 GitHub 仓库
- [ ] README 说明了安装、用法和每个 Config 配置项
- [ ] 推送到 GitHub 时使用独立仓库(一插件一仓库是生态惯例;dsh plugin add "github:you/repo" 需要包根目录)
- [ ] 添加话题:dsh-plugin、deepseek-harness
- [ ] (可选)npm publish——用户之后可 dsh plugin add
- [ ] (可选)把仓库提交到 awesome-deepseek-harness(README.md + README.zh-CN.md,各一行)
目录结构
├── package.json # dsh.bundle.patch —— bundle 清单
├── cordis.patch.yml # profile 挂载本 bundle 时插入的层
├── src/index.ts # 插件本体:name / inject / Config / apply + 工具
├── test-integration.ts # 无 key 的 harness 上下文测试
├── tsconfig.json # 干净的构建配置(随包发布)
└── tsconfig.local.json # 在 harness 仓库内构建(工作区类型路径)
值得保留的约定(踩坑总结)
- 可选工具参数要省略 required——写 required: false 会被 schema 编译器拒绝。
- 用 Schemastery 定义 Config(@deepseek-ai/schemastery 的 z.object):所有可调项都是 Config 字段,无效配置在加载时响亮失败。
- 对完整结果施加边界:限制文件大小、页数、字符数;在有意义的边界截断,并告诉模型如何继续。
- Node 解析:相对导入使用 .js 后缀(NodeNext ESM);@deepseek-ai/* 依赖声明在 dependencies 中,从 profile 的 node_modules 解析。
- pnpm workspace 子目录里跑 npm install 会失败(workspace: 协议)——独立开发请在 harness 仓库外脚手架;在仓库内构建请用 tsconfig.local.json。
同作者更多插件
该作者的全部 DeepSeek Harness 插件(统一入口):dsh-plugins
许可证
MIT。同作者(sunshine-lang)的其他插件
扫码进群