dsh-plugin-forge:AI-native DSH 插件生成工具

前言

在 DSH 的「一切皆插件」思路下,扩展能力常常不止于写一个插件:还要构建、迁移为独立仓库、提交、挂载到当前会话或 profile。dsh-plugin-forge 提供一个由 AI 调用的 forge_plugin 工具,把这条链路接进任务执行中。

它由 csiroqa 维护,许可证为 MIT。对 DSH / 智能体开发者来说,它的价值是把“能力缺口”变成可检查、可提交的独立插件仓库,并尽量在当前会话可用。

这是什么

dsh-plugin-forge(包名 @dsh-external/plugin-forge,版本 0.1.0)是 AI-native DSH 插件生成工具。核心是 forge_plugin 工具:AI 在执行任务时调用它,完成子代理开发、迁移为独立 git 仓库、英文 Conventional Commit 提交、热挂载与 profile 安装。

核心功能

AI 调用与能力缺口

forge_plugin 由 AI 在执行任务时调用。根据已核实事实,它支持 AI 自发发现能力缺口,并把需求推进为插件仓库。

调用时至少提供 requirement 参数;可选参数包括:

  • name
  • targetRoot
  • migrate
  • update
  • install
  • hot

子代理开发与质量检查

子代理负责开发,并执行 typechecktestbuild

宿主侧还会进行:

  • 加载冒烟
  • 宿主工具名冲突拦截
  • 提交前 diff 检查

按 README 的安全说明,子代理仅写 staging(工作区内)。失败时 staging 保留,便于排查。

迁移、提交与挂载

插件会迁移为 项目根/dsh-plugins/<name> 的独立 git 仓库,并在功能完成时提交英文 Conventional Commit。

生成成功后,工具支持:

  • 热挂载当前会话/运行时
  • 装入当前 profile,缺省自动

push 默认关闭,仅配置显式开启时执行;工具不自动 push/tag/release。

重复检测与更新

如果子代理判定与既有插件重复,宿主会拒绝新建,并返回既有仓库名。

需要迭代既有插件时,可使用 update=true 更新既有仓库。

repository 源

repository 源面板行格式为:

github:owner/repo#ref

monorepo 子包加:

&path:/packages/<子包>

安装与启用

前置要求

  • Node ≥ 22
  • pnpm
  • 本地 deepseek-harness 检出
  • package.json 标记 private: true

该仓库的依赖使用本地 link: 路径,因此安装命令通常对应本地开发目录。

README 给出的本地安装示例

下面命令来自 README,用于本地 link 方式安装并构建:

pnpm install && pnpm build
dsh plugin --profile web add link:D:\2-OGP\dsh-plugin-forge

上面的 link:D:\2-OGP\dsh-plugin-forge 是 README 原文中的本地路径示例,是否通用无法确认;实际使用时需按本地目录调整。已核实资料未提供除本地 link 安装外的 registry/npm 安装命令。

安装后重启 dsh web

典型用法

查看插件仓库状态

使用:

/forge status

该命令用于查看各插件仓库状态,包括逐仓库 HEAD、工作区、最近提交与累计提交数。

真实 LLM 测试

README 提供如下命令:

node scripts/llm-e2e-host.mjs prompt <name> <stagingDir> <targetRoot> <harnessRoot> "<需求>"
node scripts/llm-e2e-host.mjs run <name> <stagingDir> <targetRoot> <harnessRoot> "feat: <name>: <摘要>"

这两条命令用于真实 LLM 测试。

适用场景与注意

适合:

  • 有本地 deepseek-harness 检出,希望在 DSH 中从需求生成插件仓库
  • 需要 AI 调用工具完成开发、构建、提交、挂载
  • 需要 /forge status 查看已生成插件仓库
  • 希望插件生成后热挂载或装入 profile

注意:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证
  • 许可证为 MIT
  • 只传可信需求给 forge_plugin
  • 子代理会执行开发、构建、git commit 等动作
  • 不自动 push/tag/release
  • 失败(子代理未完成 / 迁移后构建失败 / 加载冒烟未通过)会 throw,staging 保留

链接

  • 社区目录页:https://www.skillhub.cn/plugins/csiroqa/dsh-plugin-forge
  • GitHub:https://github.com/csiroqa/dsh-plugin-forge
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜