dsh-phoenix: DeepSeek Harness 的無感重啓與目標延續

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() 重新激活該目標,使驅動程序繼續下一輪迭代。

使用方式

自主演化循環

結合上述能力,可以實現跨重啓的自主演化循環:

  1. 讀取檢查點
  2. 決定下一步
  3. 測試或修改插件
  4. 寫入檢查點(pendingResume: true)
  5. 安全重啓
  6. dsh 啓動,dsh-phoenix 重新武裝目標
  7. 進入下一輪…

命令操作

使用 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 提供了一個完整的、無感的生命週期管理能力。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜