前言¶
在使用 DeepSeek Harness (DSH) 時,如果執行了網關重啓操作,其他正在進行的對話會停止,歷史記錄保留但工作中斷。你需要找到每個對話並手動輸入“continue”才能繼續。
dsh-keep-going 插件利用 DSH 保存的會話歷史,在網關重啓後自動恢復未完成的工作。它不需要瀏覽器重新打開每個對話,也不侷限於通過插件請求的重啓。
這是什麼¶
這是一個由 Carrick-K7 維護的 DSH 工作流插件(MIT 許可證)。它的核心價值是:網關重啓不應讓所有未完成的對話停留在等待狀態。
核心功能¶
插件提供以下能力:
- 恢復中斷會話與歷史:利用持久化的會話記錄恢復未完成的工作。
- 保持活躍目標運行:重啓後自動接續正在執行的目標。
- 保留等待用戶回答的問題:等待用戶回覆的對話在重啓後保持等待狀態,不自動模擬回答。
- 僅觸發一次:插件在每次進程重啓後運行一次,隨後進入休眠。
- 過濾無效任務:不處理存檔會話、暫停、被阻止或已完成的目標。
- 不處理工具錯誤與已完成任務:工具錯誤或已取消的任務不會被重新啓動。
安裝與啓用¶
該插件僅通過 GitHub 分發,未發佈到 npm。
安裝命令如下:
dsh plugin --profile web add git+https://github.com/Carrick-K7/dsh-keep-going.git#0.2.6
安裝完成後,必須重啓 DSH 進程以激活恢復功能。
典型用法¶
插件提供了以下命令來管理重啓和恢復狀態:
restart_harness:等待正在運行的工作,保存新接收的消息,然後請求 DSH 正常退出。/restart:與restart_harness行爲一致,但保留髮出命令的對話作爲調用者。keep_going_status//keep-going:檢查當前對話的恢復進度和問題,包括未回答的問題。keep_going_clear_goal:移除已停止(暫停、被阻止或完成)的目標,保留其歷史記錄爲墓碑,並清除其恢復記錄。
恢復行爲說明:
* 恢復後,活躍目標會被重新觸發一次,交給 DSH 的目標驅動程序處理。
* 等待用戶回答的問題不會被自動回答,需要你在對應對話中手動回覆。
* 安全批准(approval)不會被重放,需要通過 DSH 正常機制重新批准。
適用場景與注意¶
- 分發渠道:僅通過 GitHub 倉庫分發。
- 環境依賴:需要 DSH 提供原生會話、持久性查詢、目標驅動程序等核心服務,否則屬於部署錯誤。
- 運行機制:插件以當前 DSH 進程權限運行。它不會重新啓動已完成的任務或存檔會話。
- 重啓方式:必須通過服務管理器(如 systemd)重啓 DSH,插件本身不負責啓動替代進程。
結語¶
dsh-keep-going 爲 DSH 提供了自動化的任務恢復能力,避免了因網關重啓導致的對話中斷。通過簡單的配置和命令,可以顯著減少維護成本。