前言¶
DeepSeek Harness (DSH) 支持通過插件擴展能力。dsh-workflows 是一個可安裝的 bundle,用於管理保存的 JavaScript 工作流定義、受監督的後臺運行、保留的檢查機制、斜槓命令以及 Web 儀表板。它補充了基礎 Harness 的能力,使開發者能夠將工作流腳本持久化,並在後臺執行與監控。
核心功能¶
該插件提供以下核心能力:
* 保存的工作流:支持將 JavaScript 工作流定義保存爲文件,包含元數據和腳本體。
* 後臺運行與監督:支持在後臺啓動工作流,提供運行時的監督與監控。
* 保留的檢查:保留運行過程的檢查點與日誌,便於事後復盤。
* Web 儀表板:提供可視化的 Web 界面來管理定義與查看運行狀態。
* 斜槓命令:提供 /create-workflow、/workflows 和 /workflow 等命令行快捷入口。
* 兼容性評估:內置 MIT 許可的兼容性評估器,用於安全回放。
環境要求與安裝¶
在安裝之前,需要確認運行環境。
前置條件:
* Node.js 版本需滿足 ^22.19.0 || >=24.0.0。
* 需要使用 pnpm@11.7.0。
安裝步驟:
1. 確保服務用戶的 PATH 中包含 pnpm。
2. 執行安裝命令。該命令會添加一個依賴和一個 bundle 層,無需手動構建。
dsh plugin --profile web add @zaalipro/dsh-workflows@0.1.0-rc.5
dsh plugin --profile headless add @zaalipro/dsh-workflows@0.1.0-rc.5
兼容性說明:
該插件編譯並針對官方 DeepSeek Harness 0.1.2-rc.1 進行了測試。Stock Harness 0.1.0-rc.8 及後續未發佈的版本目前不受支持。
典型用法¶
安裝完成後,可以通過斜槓命令進行操作。
創建工作流:
使用 /create-workflow [detail] 命令進行創作。該命令會收集意圖,生成 JavaScript 代碼,並進行一次模擬驗證後保存。元數據以 JSON 數據形式存儲,腳本爲純 JavaScript。
啓動工作流:
使用 /workflow <name> [<json-args>] 或其生成的別名啓動保存的定義。
* /workflow review-changes:直接啓動名爲 review-changes 的定義。
* /workflow review-changes {"arg": "val"}:傳遞參數啓動。
* 命令返回後,工作流會在後臺啓動,提示使用 /workflows 監控。
查看儀表板:
* 在 Web 模式下,使用 /workflows 打開 Web 儀表板,查看所有保存的定義、實時運行狀態、階段詳情、日誌與終端結果。
* 使用 /workflow(不帶參數)打開保存定義的選擇器。
運行機制與限制¶
瞭解插件的運行機制有助於正確處理異常情況。
運行存儲:
工作流定義通常位於以下位置之一:
1. 配置的 bundled root。
2. Git 項目的 .dsh/workflows 目錄(或 Session cwd)。
3. $DSH_HOME/workflows。
運行數據存儲在 $DSH_HOME/workflow-runs 目錄下。
恢復與中斷:
* 暫停與恢復:僅支持同進程下的暫停與恢復。
* 進程死亡:如果進程意外死亡,活躍的運行記錄會被轉換爲不可恢復的 Interrupted 狀態。此時無法 Resume 或 Save,僅保留檢查數據。
* 重放機制:只有在評估器進入靜止狀態後的檢查點才具備回放權威。外部副作用(如非提交的調用)在重放時會再次執行,因此冪等性很重要。
參數與作用域:
* 用戶作用域(save_scope: "user")無需 Session cwd 即可工作。
* 結構化 agent() 參數必須符合特定格式(minItems/maxItems 非負整數,且不能與 oneOf 混用)。
生態與資源¶
該插件由 zaalipro 維護,遵循 MIT 許可證。