D

DSH插件脚手架

開発v1.0.0
作者:user_62a0c738更新日 2026-10-01dsh-plugin-scaffold@user_62a0c738/dsh-plugin-scaffold
コード生成スクリプトツール

AlphaMoatによると、2026-09時点でDSH插件脚手架のダウンロード数は1,069、スター数は64で、AIスキル全体5,078件中5,000位、開発では577件中572位です。

インストール数
268
ダウンロード数
1069
スター数
64
総合順位
#5,000
全体の上位 99% · 開発の上位 100%
プラットフォームインストール数ダウンロード数スター数コメント
SkillHub ↗268106964—

プラットフォームごとに集計方法と集計時点が異なります。

このスキルでできること

7つのフェーズでプラグイン開発を進めます:目標と能力面の明確化、フォーム選択(pure Cordis、bundle、bundle-client)、スキャフォールド生成、ビジネス実装、ローカル検証、リリース準備、リリースと最終検証。各フェーズには成果物と決定ゲートがあり、前フェーズの決定が固まり検証を通過しない限り次に進んではいけません。すべての段階の決定は docs/plugin-plan.md に記録します。python3 scripts/scaffold.py で骨格を生成し、pnpm run bundle・pnpm run gates・npm pack --dry-run でローカル検証します。マウント失敗など個別の質問の場合は全フローを再実行せず、references/ の該当する契約・落とし穴・検証の章を直接読みます。

資料公開日 2026-10-27

できること

  • プラグインの目標と能力面(ツール、サービス、HTTP ルート、ブラウザ UI、skill、MCP など)を明確化
  • 能力面に応じてフォームを選び scripts/scaffold.py でスキャフォールドを生成
  • フォームに従って実装し pnpm run gates でローカル検証
  • リリース準備を完了し最終インストール検証を通過

使う場面

  • DSH プラグインをゼロから計画・作成・開発・検証・公開したい場合
  • マウント失敗など個別の問題だけを調査したい場合

プロンプト例

スキルのドキュメントをもとに生成した例であり、実際の実行結果ではありません。

DSH プラグインをゼロから作るのを手伝って
プラグインのマウントが失敗するのはなぜ?
リリース準備段階なので、不足している点を確認して

月次の推移

ダウンロード数1069
68589110972026-08 · ダウンロード数 7132026-09 · ダウンロード数 106926-0826-09
スター数64
6364652026-08 · スター数 642026-09 · スター数 6426-0826-09

2026-09 から集計方法を変更し、同名スキルを作者ごとに分けて集計し、全スキルを対象にしました。破線は変更前の月で、変更後のデータとは直接比較せず、変更をまたぐ増減も計算していません。

月ダウンロード数前月比スター数
2026-091069—64
2026-08713—64

SKILL.md 原文

作者が公開した元のファイルをテキストのまま表示しています。AlphaMoat による編集や審査はしていません。リンクはクリックできません。コマンドは内容を確認してから実行してください。取得日 2026-10-23。

4.9 KB・SkillHub v1.0.0
---
name: dsh-plugin-scaffold
description: 从规划到发布的 DeepSeek Harness 插件全流程指南,覆盖需求与形态决策、脚手架生成、业务实现、本地验证、发布准备和最终发布。Use when the user wants to plan, create, bootstrap, develop, verify, or publish a DSH plugin/extension, or asks how to build a DeepSeek Harness plugin end-to-end.
---

# DSH 插件全流程

按以下 7 个阶段执行。每个阶段都有一个明确产出和决策门;上一阶段的决策未确定、
未通过验证,就不得进入下一阶段。所有阶段决策持续写入 `docs/plugin-plan.md`。
すべて表示(全 142 行)
如果用户只是问某个局部问题(例如“为什么挂载失败”),不要重跑全流程;直接读
`references/` 中对应的合同、坑或验证章节。

## 阶段 0:明确目标与能力面

先确定插件到底做什么,避免进入实现后再改形态。

必须确定:

- 插件名(规范化为小写连字符形式)
- 一句话目标
- 能力面:工具、服务、HTTP 路由、浏览器 UI、根布局、skill、MCP、静态资源等
- 目标 profile,默认 `web`

决策门:如果用户需求同时包含多种能力,先列全,再在阶段 1 决定哪些由插件承担。
未列全能力面之前,不要开始选形态。

## 阶段 1:选择插件形态

依据阶段 0 的能力面选形态:

| 能力面 | 形态 | scaffold 参数 |
|---|---|---|
| 仅 Node 工具/服务/事件处理 | pure Cordis | `--kind pure` |
| 需要组合层或随包分发多个挂载 | bundle | `--kind bundle` |
| Node half + 浏览器 client bundle | bundle-client | `--kind bundle-client` |

如果需要完全替换默认 web shell 根布局,由 AI agent 在业务实现阶段自行判断并
实现:在 client 侧注册 `ctx.slots.register({ name: 'root' })`,必要时在
`cordis.patch.yml` 中禁用默认 `ui-layout`。脚手架不提供独立参数。

同时确定:

- 分发方式:git 源、本地目录、npm
- 包管理器:pnpm(默认)或 npm

决策门:`--kind`、分发方式必须明确后,才能进入阶段 2。

## 阶段 2:生成脚手架

运行:

```bash
python3 scripts/scaffold.py <plugin-name> \
  --out <output-directory> \
  --kind <pure|bundle|bundle-client> \
  --description "Short description"
```

随后进入生成目录并验证骨架可用:

```bash
cd <output-directory>/<plugin-name>
pnpm install
pnpm run bundle
pnpm run gates
```

决策门:以上三条命令全部通过后,才允许开始写业务。

生成目录包含 `docs/plugin-plan.md`。把阶段 0、1 已确定的字段核对一遍,再把
阶段 2 的验证结果勾掉。

## 阶段 3:实现业务

严格按阶段 1 的形态实现:

- 只生成对应形态的 `src/index.ts` 和/或 `src/client/index.ts`。
- 使用 `ctx.*` 服务前,先把服务名加入 entry 的 `inject`。
- 注册工具、路由、服务或事件时用 `ctx.effect()`,并返回 cleanup disposer。
- client 侧按需注入 `slots`、`sessions`、`workspaces` 等服务;如果业务要接管
  整个 web shell 根布局,由 AI agent 判断并注册
  `ctx.slots.register({ name: 'root' })`。
- 不要手改 `lib/`;每次改 `src/` 后运行 `pnpm run bundle`。

决策门:Node half 与 client half 的业务行为必须符合阶段 0 的能力面清单;
不要在实现时临时扩大形态。

## 阶段 4:本地验证

验证顺序:

```bash
pnpm run bundle
pnpm run gates
npm pack --dry-run
```

然后做安装冒烟和浏览器验证,具体见
[references/verification.md](references/verification.md)。

如果验证失败:

- 业务错误回到阶段 3;
- 形态或 contract 错误才允许回到阶段 1。

决策门:本地构建、门禁、包内容、安装与浏览器冒烟全部通过后,才进入发布准备。

## 阶段 5:发布准备

发布前完成:

- 初始化 git 仓库并关联真实 remote。
- 把 README 中的 `<owner>` 占位 ref 替换为真实 git 源。
- UI 插件补至少一张截图。
- 确认 `lib/` 构建产物已提交。
- 设置仓库 description 和 topics。
- 再次运行 `pnpm run gates` 和 `npm pack --dry-run`。

决策门:没有通过阶段 4 之前,不得初始化发布动作或写最终 ref。

## 阶段 6:发布并最终验证

按阶段 1 决定的分发方式执行:

- git 源:`git push`,然后用目标 ref 重装。
- npm:`npm publish`,然后用包名安装。

最终验收必须从最终分发源重新安装,并重启 web,确认:

- 无 `plugin tree failed to load`
- 浏览器无 `slot entry crashed`
- 插件功能符合阶段 0 的目标

决策门:只有在最终安装验证通过后,才算全流程完成。

## References

- [contracts.md](references/contracts.md):package、entry、client 合同。
- [gotchas.md](references/gotchas.md):构建和打包的高频坑。
- [verification.md](references/verification.md):安装、包内容和浏览器冒烟。

開発の人気スキル

データ月:2026-09 · ダウンロード数、スター数、インストール数は公開スキルレジストリ(ClawHub、SkillHub)から月単位で集計しています。詳しくはデータの方法論をご覧ください。