Цели
- Повторять каждый HTTP-запрос, а не весь многоэтапный процесс.
- Сохранять порядок, повторяя только текущий этап.
- Не допускать дублирования неидемпотентных операций.
Значения по умолчанию
Поведение
Поставщики моделей
- OpenClaw позволяет SDK поставщиков самостоятельно выполнять обычные короткие повторные попытки.
- Для SDK на основе Stainless, таких как Anthropic и OpenAI, ответы, допускающие повторную попытку (
408,409,429и5xx), могут содержатьretry-after-msилиretry-after. Если указанное время ожидания превышает 60 секунд, OpenClaw внедряетx-should-retry: false, чтобы SDK немедленно вернул ошибку, а механизм переключения моделей смог перейти к другому профилю аутентификации или резервной модели. - Переопределите это ограничение с помощью
OPENCLAW_SDK_RETRY_MAX_WAIT_SECONDS=<seconds>. Установите значение0,false,off,noneилиdisabled, чтобы SDK самостоятельно соблюдали длительные интервалы ожиданияRetry-After.
Discord
- Повторяет запросы при ошибках ограничения частоты (HTTP 429), превышении времени ожидания запроса, ответах HTTP 5xx и временных сбоях транспорта, таких как ошибки поиска DNS, сбросы соединения, закрытия сокета и ошибки получения данных.
- Использует значение Discord
retry_after, если оно доступно; в противном случае применяется экспоненциальная задержка.
Telegram
- Повторяет запросы при временных ошибках (429, превышение времени ожидания, подключение/сброс/закрытие соединения, временная недоступность).
- Использует
retry_after, если значение доступно; в противном случае применяется экспоненциальная задержка. - При ошибках разбора HTML/Markdown повторные попытки не выполняются; при первой попытке используется резервный вариант с обычным текстом.
Конфигурация
Задайте политику повторных попыток для каждого поставщика в~/.openclaw/openclaw.json:
Примечания
- Повторные попытки применяются к каждому запросу (отправка сообщения, загрузка медиафайла, реакция, опрос, стикер).
- В составных процессах завершённые этапы не повторяются.