DSH 提供了官方的 workflow 工具,用於處理大規模多智能體編排,但缺乏現成的模板庫。dsh-workflow-templates 插件內置了 12 個可複用的 workflow 編排腳本模板,並提供 list、search、run、validate 四個面向模型的工具,以及模板格式的靜態校驗能力。該插件對齊官方 tool-workflow 契約,但不強制限制官方合法腳本(例如允許 return 1 等計算型返回),旨在降低編排腳本的編寫門檻。
核心功能¶
該插件提供四個核心工具,用於模板的管理、檢索與調用。
- wf_template_list:列出模板目錄,支持按領域(
domain)或標籤(tag)過濾,輸出 Markdown 格式的模板清單。 - wf_template_search:按關鍵詞搜索,匹配名稱、標籤、描述、領域及參數名,並標註命中依據。
- wf_template_run:讀取模板內容,生成調用官方
workflow工具的三參數起點(meta、script、args)及參數填充引導。它僅輸出調用起點,不自動執行模板腳本。 - wf_template_validate:檢查模板格式合法性,包括 META 的必填字段、結尾
return表達式結構、腳本鉤子使用情況等,對齊官方 tool-workflow 契約。
安裝與配置¶
插件以 Cordis 插件包組織。安裝依賴並構建後,通過 cordis.yml 掛載。
1. 安裝依賴與構建¶
npm install
npm run build # tsc → lib/
2. 掛載插件¶
在 DSH 的配置文件(如 cordis.yml)中添加以下條目。插件支持兩種掛載模式:
- 已發佈態(推薦):使用裸包名。
- insert:
- id: workflow-templates
name: 'dsh-workflow-templates'
config:
workflowToolName: workflow
- 開發態:使用相對路徑直掛源碼(僅限本地開發/測試)。
- insert:
- id: workflow-templates
name: './src/index.ts'
config:
workflowToolName: workflow
3. 配置項¶
| 鍵 | 默認值 | 說明 |
|---|---|---|
workflowToolName |
workflow |
官方 workflow 工具名稱,需與宿主配置中的 toolName 保持一致,否則可見性探測會誤報。 |
templatesDir |
包內 templates/ |
覆蓋模板目錄的絕對路徑。 |
使用方法¶
1. 列出與搜索¶
使用 wf_template_list 查看所有模板,或使用 wf_template_search 查找特定關鍵詞。
- 按領域過濾:
wf_template_list domain=security - 按標籤過濾:
wf_template_list tag=release - 關鍵詞搜索:
wf_template_search docker
2. 生成調用起點¶
當需要執行 workflow 時,使用 wf_template_run。它不直接運行腳本,而是輸出符合官方 workflow 工具規範的調用起點(meta/script/args),供模型或用戶進一步執行。
// 示例:調用 wf_template_run 生成 workflow 起點
// wf_template_run pr-deep-review
3. 校驗模板¶
在修改或編寫模板前,使用 wf_template_validate 進行靜態檢查。它會報錯(E)或警告(W),例如缺少必填的 name/description,或使用了非官方鉤子。
// 示例:校驗模板格式
// wf_template_validate templates/security/dep-vuln-sweep.js
模板契約與校驗規則¶
插件內置校驗器,確保模板符合官方 tool-workflow 契約,但不會比官方更嚴格。
- META 字段:
name和description必填。tags、args、phases爲可選擴展,缺失僅警告。 - REQUIRED_REASON:可選字段,用於聲明爲何必須走官方
workflow工具執行,缺失僅警告。 - 腳本鉤子:僅允許使用官方鉤子(
agent/pipeline/parallel/phase/log)。禁止使用模塊語句(import/export/require)。 - 結尾 Return:必須以
return <表達式>結尾,不做 JSON 字面量限制,允許計算型返回值。
注意事項與權限¶
- 使用邊界:僅在模型/用戶顯式要求 workflow 或大規模多智能體編排時使用。簡單的委派任務不應使用 workflow 工具。
- 執行機制:插件不自動執行模板腳本,僅輸出調用起點。執行權在官方
workflow工具。 - 權限範圍:插件僅具備讀取模板與渲染輸出的權限,不寫入文件,不調用外部服務。
- 開發依賴:開發形態下依賴相鄰的
dsh-src檢出(使用link:依賴),需確保目錄佈局爲<parent>/dsh-src。