DeepSeek Harness (dsh) 將一切視爲插件,其 Web 進程作爲 systemd 管理的長駐服務運行。當需要更新插件或重啓時,硬重啓會打斷當前任務、斷開瀏覽器連接並丟失內存中的目標狀態。dsh-phoenix 將“插件更新 → 重啓 dsh”這一破壞性操作轉化爲可恢復的循環:任務在安全邊界結束,瀏覽器自動重連,長期目標跨重啓繼續演進。
dsh-phoenix 是一個持久化插件,由 StvLi 維護。它解決了三個核心痛點:在安全邊界重啓、保持頁面連接、以及跨重啓恢復目標狀態。
核心能力¶
1. 安全重啓¶
插件通過 cordis_run 工具激活時,dsh-phoenix 不會立即重啓。它會檢查所有活躍代理(包括子代理),只有當所有代理處於空閒狀態時才執行重啓。爲了防止無限等待,設置了 5 分鐘上限。
重啓過程通過 systemd-run --user 作爲獨立的臨時單元運行,確保被重啓進程能完整結束。
2. 客戶端自動重連¶
插件註冊 /__dsh_health 端點,返回一個基於啓動的 token。
它向客戶端注入一個零依賴的心跳腳本,定期輪詢該端點。一旦 token 變化(即後端重啓),頁面會自動刷新。這消除了後端重啓導致的頁面凍結或“停止”狀態。
3. 跨重啓目標延續¶
目標狀態在會話日誌中是持久的,但 dsh 在每次重啓時會禁用活躍目標。
dsh-phoenix 讀取持久化的 JSON 檢查點。如果 pendingResume 爲 true,它會找到當前代理的活躍且已禁用的目標,並調用 goals.resume() 重新激活該目標,使驅動程序繼續下一輪迭代。
使用方式¶
自主演化循環¶
結合上述能力,可以實現跨重啓的自主演化循環:
- 讀取檢查點
- 決定下一步
- 測試或修改插件
- 寫入檢查點(
pendingResume: true) - 安全重啓
- dsh 啓動,dsh-phoenix 重新武裝目標
- 進入下一輪…
命令操作¶
使用 dsh plugin add/remove/update CLI 命令管理插件。
環境要求與注意¶
- Node.js: 需要 >= 22。
- 依賴: 需要
@deepseek-ai/dsh-tools和@deepseek-ai/dsh-agent-presets作爲對等依賴。 - 觸發機制: 僅響應
cordis_run操作。DHS 自身的 HMR 熱重載編輯不會觸發重啓。 - 許可證: MIT。
通過檢查點作爲持久化記憶,目標作爲驅動器,重新武裝作爲復活點,dsh-phoenix 爲 dsh 提供了一個完整的、無感的生命週期管理能力。