DSH 插件:dsh-reset-handoff(主機重置的交接協議)

前言

DeepSeek Harness (DSH) 是一個長生命週期進程。有時需要重啓以重新加載插件、應用配置或恢復卡死狀態。然而,內部代理不能重啓 DSH 本身:它無法查看結果,無法看到正在運行的業務,如果重啓失敗,也沒有人負責診斷。解決方案是“交接”:DSH 寫入一個請求,外部運維代理讀取它、運行重啓流程,並在重啓後寫回結果。

插件介紹

該插件是 DSH 的一個主機插件,用於通過版本化 JSON 協議將重置請求傳遞給外部運維代理。它遵循“預檢查快照 -> 重啓 -> 健康檢查 -> 恢復”的流程。由 nicecx 維護。

核心功能

  • 主機插件:允許外部重置 DSH。
  • JSON 協議 (v1):用於請求和結果文件。
  • 流程:預檢查快照、健康檢查、恢復。
  • 安全:成熟度門控 (GATE) 以確保安全重啓。
  • 工具:reset_handoff、reset_status。
  • 降級:優雅降級支持。

安裝與啓用

dsh plugin --profile <profile> add github:<owner>/dsh-reset-handoff

使用方式

工具與命令

  • reset_handoff(reason, scope?):提交重置請求。它不會在進程內重啓 DSH。
  • reset_status():查詢最新請求和結果(只讀)。

協議與執行

插件與執行器是解耦的,它們通過 ~/.dsh/reset-handoff/ 下的兩個 JSON 文件共享協議(可通過 DSH_RESET_HANDOFF_DIR 覆蓋):
* request.json:由 DSH 寫入。
* result.json:由執行器寫入。

參考執行器(純 Python)位於 hermes/reset_agent.py 中。
* 運行 python3 reset_agent.py 執行五步流程。
* 運行 python3 reset_agent.py --dry-run 打印流程而不進行重啓。

注意事項

  • 依賴檢查:必須在重啓前驗證插件依賴。
  • 健康檢查:重啓前進行健康檢查,重啓後進行觀察。
  • 優雅降級:插件必須優雅降級。
  • 禁止自殺:永遠不要創建自殺/無條件重啓作業。
  • 外部重啓:外部執行器必須重啓 dsh web 服務(例如 macOS launchd)。

結語

該插件通過將重啓邏輯移出 DSH 進程,解決了“重啓 DSH 自身”的死鎖問題。它使用版本化 JSON 協議確保了操作的可觀察性和可恢復性。

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

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

小夜