dsh-auto-retry:DSH 工作流自動恢復插件

前言

DeepSeek Harness (DSH) 採用插件化架構,允許用戶擴展功能。在使用 DSH 進行工作流編排時,常會遇到網絡波動、服務端報錯或模型流輸出中斷的情況。內置的重試機制有時不夠用,或者執行太快導致用戶無法感知,而斷開的回合往往需要手動介入。

dsh-auto-retry 插件旨在解決這些問題。它提供請求級補充重試、回合級自動繼續以及掛起自動喚醒。通過這些機制,插件能在後臺自動處理大部分異常,並將過程可視化,避免用戶盯着屏幕乾等。

核心能力

請求級補充重試

當 DSH 內置重試耗盡後,插件會針對 8 種觸發情況進行追加重試。這 8 種情況包括:限流 (429)、服務端錯誤 (5xx)、響應超時、空響應、網絡傳輸錯誤、未知錯誤、HTTP 4xx 錯誤以及請求中斷。用戶可以在設置中逐項勾選並設定重試次數(0~20 次)。

回合級自動繼續

對於重試無法挽救的回合,插件會延遲一段時間(默認 5 秒)後自動以用戶身份發送“繼續”消息,恢復上下文。這包括輸出被截斷後的續寫,以及因無可用模型等原因導致的停擺。爲了避免在網絡徹底斷開時無限空轉,插件內置了熔斷機制,連續失敗達到閾值後會暫停自動繼續,直到回合成功。

無響應看門狗

dsh 的流式輸出默認沒有超時保護。如果模型長時間不輸出任何內容(零活動),任務會永遠掛起。插件通過“看門狗”機制檢測這種情況:一旦判定時長(默認 180 秒)內無流幀或事件,主動取消當前請求並觸發自動繼續。

實時狀態展示

爲了解決“後臺到底發生了什麼”的盲區,插件在界面底部增加了實時倒計時橫幅,顯示重試進度、觸發原因和剩餘時間。同時,右上角會彈出輕量級戰報通知,每條通知 4 秒後自動消失。

數據看板

在設置頁底部提供可摺疊的數據看板。它會記錄重試次數、成功所需平均重試次數、錯誤碼分佈、模型分佈以及按日統計的趨勢。數據持久化在本地(~/.dsh/auto-retry-stats.),重啓後保留最近 5000 條記錄。

內置策略展示與輸入優化

設置頁會直接展示各 Provider 當前生效的內置重試策略,幫助用戶理解插件追加重試的時機。同時,針對 UI 輸入框,插件修復了數值框“邊輸邊改”的問題,支持輸入時自由書寫,失焦後自動校驗修正。

主/子智能體分治

插件採用分治策略:主智能體負責處理重試和自動繼續;子智能體僅負責請求級重試。當子智能體徹底失敗時,錯誤會返回給主智能體,由主智能體自行判斷是否重試或繼續,避免越權操作。

安裝與啓用

進入 profile 目錄:

cd ~/.dsh/profiles/web

使用插件命令安裝:

dsh plugin add github:zxmqq1234/dsh-auto-retry

安裝完成後,重啓 DSH Web。進入設置頁,即可看到“自動重試”板塊。

配置與設置

設置頁從上到下包含以下板塊:

  1. 總開關與實時通知:一鍵停用插件,或僅關閉彈窗通知。
  2. 觸發情況:勾選 8 種需要觸發補充重試的錯誤類型,並設置各自的重試次數。
  3. 主智能體:配置自動繼續的延遲時間、熔斷上限、繼續文案、看門狗判定時長以及截斷續寫開關。
  4. 子智能體:僅開啓補充重試,並查看相關說明。
  5. 高級:選擇間隔策略(指數退避或固定間隔)及參數。
  6. 內置重試策略:查看當前生效的配置。
  7. 數據看板:點擊展開統計面板。

默認配置即推薦值,通常無需調整。

注意事項

  • 恢復範圍:插件只恢復“看門狗取消”和“真報錯”兩種情況。手動點擊停止的回合不會自動繼續。
  • 追加而非替代:插件尊重 DSH 內置重試,只在它耗盡或不覆蓋時出手,不會雙重重試。
  • 數據存儲:統計數據存儲在本地,文件名爲 ~/.dsh/auto-retry-stats.。

兼容性

該插件兼容以下 DSH 版本:

  • dsh 0.1.7-alpha.1
  • dsh 0.1.7-alpha.2
  • dsh 0.2.0-rc.1
  • dsh 0.2.0-rc.2

結尾

dsh-auto-retry 將繁瑣的手動干預工作自動化,適合網絡環境不穩定或需要長時間運行的任務場景。更多詳情與源碼,請訪問 GitHub 倉庫。

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

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

小夜