在 DeepSeek Harness (DSH) 的開發場景中,模型請求失敗會導致本輪運行中斷,需要手動干預才能繼續。dsh-auto-continue 插件監聽請求錯誤,在失敗後自動注入「繼續」指令,並沿兜底鏈切換模型,實現免手動干預。
核心功能¶
該插件主要解決模型推理失敗時的自動恢復問題:
- 監聽與記錄:監聽
agent/request-error記錄失敗,失敗模型會被持久化記錄到~/.dsh/auto-continue/model-fails.,重啓 dsh 不丟。 - 冷卻機制:默認冷卻期 5 小時。冷卻期內每次切換都跳過該模型,直到冷卻期結束。
- 循環切換:失敗模型冷卻期內每次切換都跳過,沿兜底鏈循環切換模型,直到換到能用的模型。
- 每會話上限:每會話繼續上限默認 100 次,正常完成後自動清零。
- 限流處理:429 限流也走重試→切換循環。
- 截斷行爲:
max-tokens截斷只注入「繼續」,不換模型。 - 重啓行爲:重啓後不續跑歷史遺留失敗輪。
- 手動控制:支持手動暫停/恢復。
安裝¶
通過插件管理器安裝:
github:cglyvip/dsh-auto-continue
安裝前需確認插件管理器聲明瞭 dsh.bundle.patch,否則管理器會報錯。
配置與使用¶
會話指令¶
在會話中可使用以下指令:
/autocont— 查看狀態/autocont on|off— 臨時開關(本次運行內有效)/autocont reset— 清空冷卻與計數
文件配置¶
設置文件位於 ~/.dsh/auto-continue/settings.(優先級高於 profile)。若需完全回到 profile 配置,可刪除該文件。
在 profile 的 cordis.patch.yml 裏可覆蓋以下字段:
retriesPerModel:同一模型失敗後先重試的次數(默認 3)。continueMax:每會話繼續次數上限(默認 100)。fallbacks:兜底鏈(provider+model 列表)。
日誌與文件路徑¶
- 日誌文件:
~/.dsh/auto-continue/activity.log(超過 512KB 自動輪轉爲.old)。 - 持久化記錄:
~/.dsh/auto-continue/model-fails.
裝完重啓 dsh 後,建議先查看 activity.log 確認插件已加載。