前言¶
DeepSeek Harness (DSH) 的 goal 系統會將目標本身及其生命週期階段持久化到會話日誌,以便在重啓後恢復上下文。然而,”繼續執行的授權”(activation)並不會持久化。當 DSH 進程重啓或升級後,目標會被解除武裝,導致 goal-round-driver 停止工作。開發者必須手動發送指令來重新激活目標。
dsh-auto-goal-resume 插件旨在消除這一手動干預步驟。它會在 DSH 重啓後自動掃描並恢復所有活躍目標的執行,使 agent 能夠無縫接續之前的工作,直到目標完成、阻塞或達到輪次上限。
核心功能¶
- 自動續跑:重啓後無需任何人工指令,自動檢查並恢復活躍目標。
- 冷恢復 agent:從持久化會話日誌中恢復 agent 及其預設組合,確保上下文一致性。
- 冪等性:已 armed 的會話會被自動跳過,重複掃描不會產生副作用。
- 容錯能力:單個會話失敗不會影響其他會話;服務未就緒時具備自動重試機制。
- 零依賴:邏輯自包含,不引入額外的包或依賴解析鏈路。
- 護欄保留:嚴格遵守目標的輪次上限,不觸碰 paused、blocked 或 complete 狀態的目標。
安裝與啓用¶
插件已發佈到 npm,可通過以下命令快速安裝:
dsh plugin --profile web add auto-goal-resume
安裝完成後,重啓 DSH 即可生效。插件會自動接管重啓後的活躍目標恢復邏輯。
工作原理¶
插件通過兩層機制確保恢復的可靠性:
- 實時層:當會話被打開或 agent 冷啓動時,插件立即檢查該會話的活躍目標並執行恢復。
- 啓動掃描:DSH 啓動約 20 秒後,插件會掃描所有持久化會話,解析其中的 goal 事件,對活躍目標進行 resume 操作。
在恢復過程中,插件會優先從日誌中解析預設(preset),這比創建時的 header 更能反映會話的實際狀態。
注意事項與限制¶
- 輪次上限:自動恢復不會無限執行,僅會在
roundsStarted < maxGoalRounds時生效。 - 狀態過濾:只恢復
active狀態的目標,paused、blocked和complete狀態一律跳過。 - 單實例限制:不跨機器或實例,恢復僅針對當前 DSH 實例的持久化會話。
- 副作用風險:自動續跑可能產生副作用(如寫文件、調用外部 API),使用前需確認任務本身可安全自動繼續。
- 普通對話:沒有活躍目標的普通對話不會觸發自動恢復邏輯。
資源鏈接¶
- 插件目錄:dsh-auto-goal-resume
- 源碼倉庫:GitHub