dsh-session-resilience:DSH 安全重啓與策略化會話恢復

前言

在 DeepSeek Harness (DSH) 的智能體開發場景中,本地宿主機重啓、網絡斷開、Token 達到上限或檢測到重複工作時,現有的會話往往會中斷。手動恢復不僅耗時,還容易丟失上下文或導致狀態不一致。

dsh-session-resilience 插件旨在解決這些問題。它通過在 DSH 配置文件中集成一個安全重啓、基於令牌感知的重新連接以及策略化會話恢復的 Bundle,讓 DSH 在重啓後能夠儘可能無縫地恢復或延續之前的任務。

插件定位

dsh-session-resilience 是一個 DSH 配置文件插件(Bundle),由開發者 hasan-aghayev 維護。

它的核心價值在於:
* 安全重啓:記錄活躍會話,啓動替換宿主機,並在連接就緒前不報告成功。
* 策略化恢復:提供預設策略和手動控制,適應不同長度的任務。
* 本地優先:所有標記、日誌和控制路由均運行在本地宿主機,不依賴遠程服務或分析。

核心功能

插件提供以下已覈實能力:

  1. 安全 DSH 重啓:記錄當前活動的根會話,在配置的端口啓動新的 DSH 宿主機,並在確認新連接可用後才結束當前流程。
  2. 令牌感知重連:在瀏覽器後臺交換新的啓動令牌,請求 DSH 替換當前連接,並等待新連接建立後才報告成功。
  3. 策略化會話恢復:提供四種策略配置(Safe、Balanced、Long task、Manual),分別控制交接窗口、重試次數、掃描範圍和退避策略。
  4. 就地重連:在保持當前頁面和未發送草稿不變的情況下完成重連。
  5. 單一恢復中心:重啓、停止、自動延續、循環保護、錯誤分類、通知、統計和暫停會話的控制均在一個設置卡片中管理。
  6. 無虛假成功:系統不會在替換宿主機不可達或未找到新的啓動 URL 時報告就緒。
  7. DSH 原生控制面:使用 DSH 的語義令牌和緊湊字段密度,而非獨立的視覺主題。

安裝與啓用

安裝該插件需要將其安裝到 DSH 配置文件所使用的環境中,並將其添加到配置文件的 Bundle 列表中,然後運行配置文件的常規 Reconcile 步驟。

安裝命令如下:

dsh plugin --profile <profile> add https://github.com/hasan-aghayev/dsh-session-resilience

安裝完成後,重啓 DSH 實例即可生效。

使用方式與控制

模型工具調用

在模型側,插件提供了兩個原生的工具函數:
* restart_dsh:當用戶明確要求重啓 DSH 或當前任務邏輯需要重啓時調用。
* shutdown_dsh:僅當用戶明確要求停止時調用。

這兩個工具均接受空對象作爲參數。重啓結果中會包含實例信息、前一個進程、端口、捕獲的根會話以及幫助日誌路徑。

恢復策略配置

在 DSH 的設置界面(Settings → Plugins → DSH Session Resilience)中,可以通過卡片進行配置。卡片支持分步編輯,需點擊保存後纔會寫入配置。

主要策略包括:

  • Safe:適用於短期或敏感任務。交接窗口 5 分鐘,最多連續恢復 2 次,掃描範圍較小。
  • Balanced:適用於日常工作。交接窗口 10 分鐘,最多連續恢復 3 次,使用中等退避。
  • Long task:適用於構建、導入和長週期智能體會話。交接窗口 30 分鐘,最多連續恢復 8 次,掃描範圍更廣。
  • Manual:適用於精細調整。使用卡片中的單個控件進行控制,初始值與 Balanced 保持一致。

安全行爲

恢復引擎僅在機器中斷、臨時失敗或 Token 限制時自動延續。用戶中止和政策阻止的回合不會被自動恢復。在恢復前,冪等性守衛可以阻止重複調用已知的成功工具或驗證未知結果。

注意事項

  1. 環境要求:

    • Node.js 版本需 >= 22.19.0。
    • DSH 版本需滿足:>=0.1.0-rc.7 <0.2.0 或 >=0.1.7-alpha.1 <0.1.8 或 0.2.0-rc.2 或 ^0.2.0。
  2. 本地運行:

    • 重啓標記、輔助日誌和控制路由僅限於 DSH 宿主機本地。
    • 插件不包含任何分析功能或遠程服務。
  3. 就緒狀態:

    • 重啓操作不會在替換宿主機可達且找到其新的啓動 URL 之前被報告爲就緒。

總結

dsh-session-resilience 提供了一套本地化、策略化的解決方案,用於處理 DSH 宿主機重啓和會話中斷的場景。通過將恢復控制集中在單一界面,並確保只有經過驗證的連接才能被視爲成功,它降低了手動干預的需求,提升了智能體任務運行的穩定性。

更多信息與源碼請訪問:GitHub 倉庫

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

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

小夜