cheapestinference/claude-auto-retry

Auto-retry Claude Code on subscription rate limits, API overload (529/5xx) and safeguard false positives — waits for the printed reset, exponential backoff, tmux-based

解決的問題

claude-auto-retry 是一個實用工具,可在使用 Claude Code(CLI 工具)時,自動恢復因 Anthropic 的訂閱速率限制、API 過載或暫時錯誤而暫停的會話。它消除了使用者需要手動監控終端並在限制解除後輸入 "continue" 的需求,從而防止生產力損失。

工作原理

該工具作為 claude 命令的 shell 函數包裝器運行。它使用 tmux 在背景中保持會話運行,即使使用者斷開連接或筆電進入睡眠狀態。一個背景監控器每 5 秒輪詢一次 tmux 面板,檢測終端輸出中的特定錯誤訊息。

根據檢測到的訊息,觸發不同的恢復路徑:

  • 使用限制: 解析重置時間(支援時區感知),在重置後加上 60 秒的緩衝時間,再發送 "continue"。
  • API 過載: 對 5xx 錯誤或 overloaded_error 回應實作帶抖動的指數退避。
  • 安全防護誤報: 有限次數地立即重發,以清除暫時的 AUP 標誌。
  • 中斷的流: 在連接中斷或電腦在回應過程中進入睡眠時恢復工作。

適用對象

使用 Claude Code CLI 執行長時間任務、夜間作業或頻繁被速率限制或 API 不穩定中斷的代理式工作流的開發者。

特色亮點

  • 零工作流程變更: 作為 claude 命令的替代品整合,提供相同的 TUI 體驗。
  • tmux 集成: 自動建立並管理 tmux 會話,確保在 SSH 中斷或系統睡眠後仍保持持久性。
  • 時區感知解析: 准確處理 IANA 時區偏移和夏令時轉換,以計算重置時間。
  • 事件驅動檢測: 可選的 StopFailure 鈎子,無需終端抓取即可實現無歧義的過載檢測。
  • Chrome 智能抓取: 智能終端監控,忽略輸入框和狀態旋轉器等 UI 元素,避免誤報。
  • 純 Node.js: 無外部 node_modules 依賴。

相關

  • 專案
  • 專案
  • 專案
  • Dispatch
  • 專案