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는 Anthropic의 구독 레이트 제한, API 과부하, 일시적인 오류로 인해 세션이 일시 중단될 때 자동으로 재개하는 유틸리티입니다. 사용자가 터미널을 수동으로 모니터링하고 제한이 해제된 후 수동으로 "continue"를 입력할 필요 없이 생산성을 유지할 수 있습니다.

작동 방식

이 도구는 claude 명령어를 래핑하는 쉘 함수로 작동합니다. 사용자가 연결을 끊거나 노트북이 절전 모드로 들어가도 tmux를 사용해 세션을 백그라운드에서 계속 실행합니다. 백그라운드 모니터는 5초마다 tmux 패널의 출력을 훑어 특정 오류 메시지를 감지합니다.

감지된 메시지에 따라 다른 복구 경로를 트리거합니다:

  • 사용 제한: 리셋 시간(시간대 인식)을 파싱하고, 리셋 후 60초의 여유 시간을 더해 "continue"를 전송합니다.
  • API 과부하: 5xx 오류 또는 overloaded_error 응답에 대해 지수 백오프와 잼을 적용합니다.
  • 안전장치 오진: 일시적인 AUP 플래그를 해제하기 위해 제한된 횟수만큼 즉시 재전송을 수행합니다.
  • 중단된 스트림: 연결이 끊기거나 컴퓨터가 응답 도중 절전 모드로 들어갔을 때 작업을 재개합니다.

대상 사용자

장시간 실행 작업, 야간 작업, 또는 레이트 제한이나 API 불안정성으로 자주 중단되는 에이전트 워크플로우를 사용하는 개발자.

주요 특징

  • 워크플로우 변경 없음: 동일한 TUI 경험을 유지하면서 claude 명령어의 대체로 통합됩니다.
  • tmux 통합: SSH 연결 끊김이나 시스템 절전 모드에도 세션의 지속성을 보장하기 위해 자동으로 tmux 세션을 생성하고 관리합니다.
  • 시간대 인식 파싱: IANA 시간대 오프셋과 여름 시간 전환을 정확히 처리하여 리셋 시간을 계산합니다.
  • 이벤트 기반 감지: 터미널 스크래핑 없이 모호함 없이 과부하 감지를 위한 선택적 StopFailure 훅 제공.
  • Chrome 인식 스크래핑: 입력 상자나 상태 스피너와 같은 UI 요소를 무시하여 오진을 방지하는 지능적인 터미널 모니터링.
  • 순수 Node.js: 외부 node_modules 종속성이 없습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • Dispatch
  • 프로젝트