Messages and delivery
Beleid voor opnieuw proberen
Doelen
- Probeer opnieuw per HTTP-verzoek, niet per flow met meerdere stappen.
- Behoud de volgorde door alleen de huidige stap opnieuw te proberen.
- Vermijd duplicatie van niet-idempotente bewerkingen.
Standaardwaarden
- Pogingen: 3
- Maximale vertragingslimiet: 30000 ms
- Jitter: 0,1 (10 procent)
- Standaardwaarden per provider:
- Minimale vertraging voor Telegram: 400 ms
- Minimale vertraging voor Discord: 500 ms
Gedrag
Modelproviders
- OpenClaw laat provider-SDK's normale korte retries afhandelen.
- Voor SDK's op basis van Stainless, zoals Anthropic en OpenAI, kunnen retrybare responses
(
408,409,429en5xx)retry-after-msofretry-afterbevatten. Wanneer die wachttijd langer is dan 60 seconden, injecteert OpenClawx-should-retry: false, zodat de SDK de fout direct doorgeeft en modelfailover kan overschakelen naar een ander auth-profiel of fallbackmodel. - Overschrijf de limiet met
OPENCLAW_SDK_RETRY_MAX_WAIT_SECONDS=<seconds>. Stel dit in op0,false,off,noneofdisabledom SDK's langeRetry-After-wachttijden intern te laten respecteren.
Discord
- Probeert opnieuw bij rate-limit-fouten (HTTP 429), request-time-outs, HTTP 5xx-responses en tijdelijke transportfouten zoals DNS-lookupfouten, verbindingsresets, socket-sluitingen en fetch-fouten.
- Gebruikt Discord
retry_afterwanneer beschikbaar, anders exponentiële backoff.
Telegram
- Probeert opnieuw bij tijdelijke fouten (429, time-out, connect/reset/closed, tijdelijk niet beschikbaar).
- Gebruikt
retry_afterwanneer beschikbaar, anders exponentiële backoff. - Markdown-parsefouten worden niet opnieuw geprobeerd; ze vallen terug op platte tekst.
Configuratie
Stel het retrybeleid per provider in ~/.openclaw/openclaw.json in:
{
channels: {
telegram: {
retry: {
attempts: 3,
minDelayMs: 400,
maxDelayMs: 30000,
jitter: 0.1,
},
},
discord: {
retry: {
attempts: 3,
minDelayMs: 500,
maxDelayMs: 30000,
jitter: 0.1,
},
},
},
}
Opmerkingen
- Retries gelden per verzoek (bericht verzenden, media-upload, reactie, poll, sticker).
- Samengestelde flows proberen voltooide stappen niet opnieuw.