Сообщения и доставка
Политика повторных попыток
Цели
- Повторять попытку для каждого HTTP-запроса, а не для многошагового потока.
- Сохранять порядок, повторяя только текущий шаг.
- Избегать дублирования неидемпотентных операций.
Значения по умолчанию
- Попытки: 3
- Максимальная задержка: 30000 мс
- Джиттер: 0.1 (10 процентов)
- Настройки провайдеров по умолчанию:
- Telegram минимальная задержка: 400 мс
- Discord минимальная задержка: 500 мс
Поведение
Discord
- Повторяет попытки только при ошибках ограничения скорости (HTTP 429).
- Использует
retry_afterот Discord, когда доступно, в противном случае — экспоненциальную отсрочку.
Telegram
- Повторяет попытки при временных ошибках (429, таймаут, сброс/закрытие соединения, временная недоступность).
- Использует
retry_after, когда доступно, в противном случае — экспоненциальную отсрочку. - Ошибки разбора Markdown не повторяются; происходит откат к обычному тексту.
Конфигурация
Настройте политику повторных попыток для каждого провайдера в файле ~/.openclaw/openclaw.json:
{
channels: {
telegram: {
retry: {
attempts: 3,
minDelayMs: 400,
maxDelayMs: 30000,
jitter: 0.1,
},
},
discord: {
retry: {
attempts: 3,
minDelayMs: 500,
maxDelayMs: 30000,
jitter: 0.1,
},
},
},
}
Примечания
- Повторные попытки применяются к каждому запросу (отправка сообщения, загрузка медиа, реакция, опрос, стикер).
- В составных потоках завершённые шаги не повторяются.
Потоковая передача и разделение на частиОчередь команд