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

子代理開發與質量檢查

子代理負責開發,並執行 typecheck、test、build。

宿主側還會進行:

  • 加載冒煙
  • 宿主工具名衝突攔截
  • 提交前 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
羽毛球分组比赛记分
小程序二维码

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

小夜