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
- 项目