ciceroyang/dsh-plugin-starter
Scaffold a battle-tested DeepSeek Harness plugin (bundle, tool, skill, tests, CI) in one command
项目介绍Project Overview
dsh-plugin-starter 是 DeepSeek Harness 插件脚手架生成器。核心能力:一行命令生成宿主插件、工具、运行时技能、单元测试、CI 与 bundle 清单,零依赖、无构建步骤。使用时机:新建 DSH 插件或为已有想法快速搭建可运行的起点;加 --with-settings 可附带 React 设置卡片。注意事项:设置卡片的 RPC 仅支持 loopback,远程浏览器无法显示设置页。
dsh-plugin-starter is a scaffolding generator for DeepSeek Harness plugins. Core capability: one command produces a host plugin, tool, runtime skill, unit tests, CI, and the bundle manifest, with zero dependencies and no build step. When to use: when starting a new DSH plugin or quickly bootstrapping an idea into a runnable project; pass --with-settings to add a React settings card. Caveat: the settings card RPC is loopback-only, so remote browsers receive no settings page.
请帮我了解并安装插件:【dsh-plugin-starter】【https://github.com/ciceroyang/dsh-plugin-starter】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add github:ciceroyang/dsh-plugin-starter
把 ciceroyang/dsh-plugin-starter 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-plugin-starter
Scaffold a battle-tested DeepSeek Harness plugin in one command: host plugin, tool, runtime skill, unit tests, CI, and the bundle manifest — zero dependencies, no build step.
Usage
node generator.mjs my-plugin --desc "One-line description"
node generator.mjs my-plugin --out ./packages/my-plugin
node generator.mjs my-plugin --verify # smoke-test right after scaffolding
node generator.mjs my-plugin --with-settings # settings card (client half, tsdown + React)
The scaffold passes its own tests immediately (run node --test inside it).
Layout:
index.js host plugin (example tool + runtime skill)
lib/hello.js pure-function example (unit-test friendly)
skills/<name>/SKILL.md model-facing skill manual
tests/hello.test.js node:test suite
cordis.patch.yml bundle patch layer
package.json dsh.bundle manifest + peer deps
.github/workflows/ci.yml four-node matrix
Why this shape
The template encodes community pitfalls (see the tutorial):
- object output schemas need additionalProperties
- --patch absolute-path plugins resolve deps from their own directory
- registrations are effects: collect disposers, clean up on unload
- optional services via ctx.get('skills'), not inject
- keep deterministic logic in lib/ so tests stay harness-free
Settings-card variant (--with-settings)
Adds client/index.tsx (settings.section registration + minimal form), the dsh.client manifest, and tsdown build scripts/deps on top of the base scaffold. After generation run pnpm install && pnpm build to emit lib/client.js. The settings RPC is loopback-only (remote browsers get no settings page). Full mechanism: docs/settings-guide.md.
Publishing your plugin
- Edit index.js and SKILL.md
- Create the GitHub repo and add the dsh-plugin topic
- Open a listing PR against awesome-deepseek-harness
References
- Field guide with 6 real pitfalls: https://github.com/ciceroyang/dsh-report-studio/blob/main/docs/tutorial-zh.md
- Complete example plugin: https://github.com/ciceroyang/dsh-report-studio
esengine/DeepSeek-Reasonix
nocobase/nocobase
EverMind-AI/EverOS
YaoApp/yao
ZSeven-W/openpencil
Anionex/agent-vision-toolkit
TencentCloudBase/CloudBase-AI-Toolkit
PicGo/PicGo-Core