Messages and delivery
Criteri per i nuovi tentativi
Obiettivi
- Riprovare per ogni richiesta HTTP, non per ogni flusso in più passaggi.
- Preservare l'ordine riprovando solo il passaggio corrente.
- Evitare di duplicare le operazioni non idempotenti.
Valori predefiniti
| Impostazione | Valore predefinito |
|---|---|
| Tentativi | 3 |
| Limite massimo ritardo | 30000 ms |
| Jitter | 0.1 (10%) |
| Ritardo minimo Telegram | 400 ms |
| Ritardo minimo Discord | 500 ms |
Comportamento
Fornitori di modelli
- OpenClaw lascia che gli SDK dei fornitori gestiscano i normali tentativi brevi.
- Per gli SDK basati su Stainless, come Anthropic e OpenAI, le risposte per cui è possibile riprovare (
408,409,429e5xx) possono includereretry-after-msoretry-after. Quando l'attesa supera i 60 secondi, OpenClaw inseriscex-should-retry: falseaffinché l'SDK restituisca immediatamente l'errore e il failover del modello possa passare a un altro profilo di autenticazione o modello di riserva. - Sovrascrivere il limite con
OPENCLAW_SDK_RETRY_MAX_WAIT_SECONDS=<seconds>. Impostarlo su0,false,off,noneodisabledper consentire agli SDK di rispettare internamente le lunghe attese indicate daRetry-After.
Discord
- Riprova in caso di errori di limite di frequenza (HTTP 429), timeout delle richieste, risposte HTTP 5xx ed errori transitori di trasporto, come errori di risoluzione DNS, reimpostazioni della connessione, chiusure dei socket ed errori di recupero.
- Utilizza
retry_afterdi Discord quando disponibile; altrimenti, applica un backoff esponenziale.
Telegram
- Riprova in caso di errori transitori (429, timeout, connessione/reimpostazione/chiusura, indisponibilità temporanea).
- Utilizza
retry_afterquando disponibile; altrimenti, applica un backoff esponenziale. - Gli errori di analisi HTML/Markdown non vengono ritentati; al primo tentativo viene utilizzato come ripiego il testo normale.
Configurazione
Impostare i criteri per i nuovi tentativi per ciascun fornitore in ~/.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, }, }, },}Note
- I nuovi tentativi si applicano a ogni richiesta (invio di messaggi, caricamento di contenuti multimediali, reazione, sondaggio, adesivo).
- I flussi compositi non riprovano i passaggi completati.
Argomenti correlati
Was this useful?