Политика повтора
Цели
- Повторить для каждого HTTP-запроса, а не для многошагового потока.
- Сохранить порядок, повторяя только текущий шаг.
- Избегать дублирования неидемпотентных операций.
Значения по умолчанию
- Попытки: 3
- Максимальное ограничение задержки: 30000 мс
- Джиттер: 0.1 (10 процентов)
- Значения по умолчанию провайдера:
- Минимальная задержка Telegram: 400 мс
- Минимальная задержка Discord: 500 мс
Поведение
Discord
- Повторяет только при ошибках ограничения скорости (HTTP 429).
- Использует retry_after Discord, когда доступно, в противном случае экспоненциальный откат.
Telegram
- Повторяет при временных ошибках (429, таймаут, connect/reset/closed, временно недоступен).
- Использует 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
}
}
}
}
Примечания
- Повторы применяются к каждому запросу (отправка сообщения, загрузка медиа, реакция, опрос, стикер).
- Составные потоки не повторяют завершенные шаги.