Messages and delivery
Zasady ponawiania prób
Cele
- Ponawiaj próby dla każdego żądania HTTP, a nie dla całego wieloetapowego przepływu.
- Zachowuj kolejność, ponawiając tylko bieżący krok.
- Unikaj powielania operacji nieidempotentnych.
Wartości domyślne
- Próby: 3
- Maksymalny limit opóźnienia: 30000 ms
- Jitter: 0.1 (10 procent)
- Domyślne ustawienia dostawców:
- Minimalne opóźnienie Telegram: 400 ms
- Minimalne opóźnienie Discord: 500 ms
Zachowanie
Dostawcy modeli
- OpenClaw pozwala zestawom SDK dostawców obsługiwać zwykłe krótkie ponowienia.
- W przypadku zestawów SDK opartych na Stainless, takich jak Anthropic i OpenAI, odpowiedzi kwalifikujące się do ponowienia
(
408,409,429i5xx) mogą zawieraćretry-after-mslubretry-after. Gdy ten czas oczekiwania jest dłuższy niż 60 sekund, OpenClaw wstrzykujex-should-retry: false, aby SDK natychmiast zwrócił błąd, a przełączanie awaryjne modelu mogło przejść na inny profil uwierzytelniania lub model zapasowy. - Zastąp limit za pomocą
OPENCLAW_SDK_RETRY_MAX_WAIT_SECONDS=<seconds>. Ustaw tę wartość na0,false,off,nonelubdisabled, aby SDK samodzielnie honorowały długie oczekiwaniaRetry-After.
Discord
- Ponawia próby przy błędach limitu szybkości (HTTP 429), przekroczeniach czasu żądania, odpowiedziach HTTP 5xx oraz przejściowych awariach transportu, takich jak błędy wyszukiwania DNS, resetowanie połączeń, zamykanie gniazd i błędy fetch.
- Używa
retry_afterDiscord, gdy jest dostępne; w przeciwnym razie używa wykładniczego wydłużania opóźnień.
Telegram
- Ponawia próby przy błędach przejściowych (429, timeout, connect/reset/closed, temporarily unavailable).
- Używa
retry_after, gdy jest dostępne; w przeciwnym razie używa wykładniczego wydłużania opóźnień. - Błędy parsowania Markdown nie są ponawiane; następuje powrót do zwykłego tekstu.
Konfiguracja
Ustaw zasady ponawiania dla każdego dostawcy w ~/.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,
},
},
},
}
Uwagi
- Ponowienia dotyczą każdego żądania (wysłanie wiadomości, przesłanie multimediów, reakcja, ankieta, naklejka).
- Przepływy złożone nie ponawiają ukończonych kroków.