返回目录
开发工具 插件

dsh-plugin-starter

ciceroyang/dsh-plugin-starter

Scaffold a battle-tested DeepSeek Harness plugin (bundle, tool, skill, tests, CI) in one command

Stars
1
Forks
0
Issues
0
更新
3 天前

PROJECT TOPICS

项目标签

INSTALL REFERENCE

安装参考

未验证
dsh plugin --profile web add github:ciceroyang/dsh-plugin-starter

该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。

PROJECT README

README

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

  1. Edit index.js and SKILL.md
  2. Create the GitHub repo and add the dsh-plugin topic
  3. Open a listing PR against awesome-deepseek-harness

References

CLASSIFICATION EVIDENCE

分类依据

项目类型插件
功能分类开发工具
规则置信度

系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: developer-tools。