前言¶
DeepSeek Harness(DSH)採用“一切皆插件”的架構。在構建涉及多 Agent、依賴鏈和定時任務的複雜工作流時,直接管理 Session 和工作樹容易出錯,且難以保證狀態持久化。dsh-factory 作爲一個控制平面,在 DSH 原生能力之上構建了持久化的依賴圖任務工廠。
核心能力¶
該插件提供以下功能:
- 依賴圖:支持在單一命名流程中定義並行分支、順序鏈、Join 和終結器。
- 原生 Agent 運行:每個分配任務都作爲普通的持久化 DSH Session 運行,使用選定的模型和預設。
- 安全 checkout lanes:基於 Git 工作樹的隔離寫入通道,包含髒工作保護和 Live Session 保護。
- 調度:支持一次性(延遲)和定期(基於 Cron)調度。
- 自動失敗重試:失敗的運行會重新排隊,帶有指數退避(默認三次重試,間隔三十秒起步)。
- 項目範圍標識符:每個工作區生成獨立的大寫 Key,避免跨項目依賴錯誤。
- 一流的討論與 Triage:提供可排序的隊列、討論流、Artifacts 和審覈結果。
- White-glove intake:擴展 New Session,提供緊湊的任務/流程選擇器。
安裝與啓用¶
Factory 作爲一種控制平面運行,不會替代 DSH 本身。安裝後需要重啓 profile 才能生效。
dsh plugin --profile web add dsh-factory@latest
安裝完成後,Factory 將作爲一個側邊欄應用出現,其 SQLite 數據庫存儲在 DSH home 目錄中。
使用流程¶
- 捕獲:正常發送提示以創建 Live Session,選擇“Run later”創建草稿任務,或將提示放入新/現有流程中。
- 組合:添加可搜索的依賴、並行分支、標籤、優先級、調度和模型覆蓋。
- 運行:調度器獲取就緒任務,分配安全 checkout lane,啓動 DSH Agent,並記錄帶有依賴和 mutation-ledger 上下文的分配。
- 協作:通過 Agent 收件箱發佈隊列和引導消息;待處理行保持可編輯和可重新排序,直到被獲取。
- 完成:在
factory_finish之後,會生成一個簡潔的用戶可見結果,只有在 Session 日誌刷新後才結算。 - 回顧:Triage 保留每個終端事件,包括定期運行、收據、摘要、失敗和媒體文件。
注意事項¶
- Factory 是 DSH 的控制平面,並非替代品。Factory SQLite 擁有項目、任務、流程、調度、運行和審覈狀態。DSH 保留 Agent 執行、模型可見消息、待處理提示順序、工具、附件、Session 和工作樹安全的權威性。
- Checkout 是一個序列化寫入通道。
- Factory 永不強制移除工作樹,永不刪除髒工作,也永不釋放 lane(當共享存在報告 Live Session 時)。
- 定期任務在每次出現後返回到 Scheduled 狀態,並在 Triage 中保留每次成功或失敗。
- 調度器接管僅恢復調度器擁有的分派,因此觀察外部 Session 不會創建重複運行。
總結¶
dsh-factory 爲 DeepSeek Harness 提供了結構化的任務編排能力,適合需要持久化調度、依賴管理和安全併發執行的場景。