Messages and delivery
Zasady ponawiania prób
Cele
- Ponawiaj każde żądanie HTTP, a nie cały wieloetapowy przepływ.
- Zachowuj kolejność, ponawiając tylko bieżący krok.
- Unikaj powielania operacji nieidempotentnych.
Wartości domyślne
| Ustawienie | Wartość domyślna |
|---|---|
| Liczba prób | 3 |
| Maksymalny limit opóźnienia | 30000 ms |
| Losowe odchylenie | 0.1 (10%) |
| Minimalne opóźnienie Telegram | 400 ms |
| Minimalne opóźnienie Discord | 500 ms |
Działanie
Dostawcy modeli
- OpenClaw pozwala pakietom SDK dostawców obsługiwać standardowe krótkie ponowienia.
- W przypadku pakietów SDK opartych na Stainless, takich jak Anthropic i OpenAI, odpowiedzi umożliwiające ponowienie (
408,409,429i5xx) mogą zawieraćretry-after-mslubretry-after. Gdy czas oczekiwania przekracza 60 sekund, OpenClaw wstawiax-should-retry: false, aby pakiet SDK natychmiast zgłosił błąd, a mechanizm przełączania awaryjnego modelu mógł wybrać inny profil uwierzytelniania lub model zapasowy. - Zmień limit za pomocą
OPENCLAW_SDK_RETRY_MAX_WAIT_SECONDS=<seconds>. Ustaw wartość0,false,off,nonelubdisabled, aby pakiety SDK mogły wewnętrznie respektować długie okresy oczekiwania określone przezRetry-After.
Discord
- Ponawia żądania po błędach limitu częstotliwości (HTTP 429), przekroczeniu limitu czasu żądania, odpowiedziach HTTP 5xx oraz przejściowych awariach transportu, takich jak błędy wyszukiwania DNS, resetowanie połączeń, zamykanie gniazd i błędy pobierania.
- Używa wartości Discord
retry_after, gdy jest dostępna, a w przeciwnym razie — wykładniczego wydłużania czasu oczekiwania.
Telegram
- Ponawia żądania po błędach przejściowych (429, przekroczenie limitu czasu, nawiązanie/resetowanie/zamknięcie połączenia, tymczasowa niedostępność).
- Używa wartości
retry_after, gdy jest dostępna, a w przeciwnym razie — wykładniczego wydłużania czasu oczekiwania. - Błędy analizy HTML/Markdown nie powodują ponowienia; przy pierwszej próbie następuje przejście na zwykły tekst.
Konfiguracja
Ustaw zasady ponawiania dla każdego dostawcy w pliku ~/.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ą poszczególnych żądań (wysłanie wiadomości, przesłanie multimediów, reakcja, ankieta, naklejka).
- W przepływach złożonych ukończone kroki nie są ponawiane.
Powiązane
Was this useful?