前言¶
在 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 參數;可選參數包括:
nametargetRootmigrateupdateinstallhot
子代理開發與質量檢查¶
子代理負責開發,並執行 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