ciceroyang/dsh-plugin-starter

捆绑包Bundle ⭐ 3 MIT 工具Tools

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.

或使用命令行安装(适合开发者)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

  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

上一个 Prev dsh-qq-onebot-bridge 下一个 Next dsh-plugins