前言¶
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。進入設置頁,即可看到“自動重試”板塊。
配置與設置¶
設置頁從上到下包含以下板塊:
- 總開關與實時通知:一鍵停用插件,或僅關閉彈窗通知。
- 觸發情況:勾選 8 種需要觸發補充重試的錯誤類型,並設置各自的重試次數。
- 主智能體:配置自動繼續的延遲時間、熔斷上限、繼續文案、看門狗判定時長以及截斷續寫開關。
- 子智能體:僅開啓補充重試,並查看相關說明。
- 高級:選擇間隔策略(指數退避或固定間隔)及參數。
- 內置重試策略:查看當前生效的配置。
- 數據看板:點擊展開統計面板。
默認配置即推薦值,通常無需調整。
注意事項¶
- 恢復範圍:插件只恢復“看門狗取消”和“真報錯”兩種情況。手動點擊停止的回合不會自動繼續。
- 追加而非替代:插件尊重 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 倉庫。