Messages and delivery
Politique de nouvelle tentative
Objectifs
- Réessayer chaque requête HTTP, et non chaque flux à plusieurs étapes.
- Préserver l’ordre en ne réessayant que l’étape en cours.
- Éviter de dupliquer les opérations non idempotentes.
Valeurs par défaut
| Paramètre | Valeur par défaut |
|---|---|
| Tentatives | 3 |
| Délai maximal | 30000 ms |
| Gigue | 0.1 (10 %) |
| Délai minimal Telegram | 400 ms |
| Délai minimal Discord | 500 ms |
Comportement
Fournisseurs de modèles
- OpenClaw laisse les SDK des fournisseurs gérer les nouvelles tentatives courtes habituelles.
- Pour les SDK fondés sur Stainless, tels que ceux d’Anthropic et d’OpenAI, les réponses pouvant faire l’objet d’une nouvelle tentative (
408,409,429et5xx) peuvent inclureretry-after-msouretry-after. Lorsque ce délai dépasse 60 secondes, OpenClaw injectex-should-retry: falseafin que le SDK signale immédiatement l’erreur et que le basculement de modèle puisse passer à un autre profil d’authentification ou modèle de secours. - Modifiez cette limite avec
OPENCLAW_SDK_RETRY_MAX_WAIT_SECONDS=<seconds>. Définissez-la sur0,false,off,noneoudisabledpour permettre aux SDK de respecter en interne les longues attentes indiquées parRetry-After.
Discord
- Effectue de nouvelles tentatives en cas d’erreur de limitation du débit (HTTP 429), d’expiration de requête, de réponse HTTP 5xx et de défaillance transitoire du transport, comme les échecs de résolution DNS, les réinitialisations de connexion, les fermetures de socket et les échecs de récupération.
- Utilise la valeur Discord
retry_afterlorsqu’elle est disponible, sinon un délai exponentiel.
Telegram
- Effectue de nouvelles tentatives en cas d’erreur transitoire (429, expiration, connexion/réinitialisation/fermeture, indisponibilité temporaire).
- Utilise
retry_afterlorsqu’il est disponible, sinon un délai exponentiel. - Les erreurs d’analyse HTML/Markdown ne font pas l’objet d’une nouvelle tentative ; le système utilise du texte brut dès la première tentative.
Configuration
Définissez la politique de nouvelles tentatives pour chaque fournisseur dans ~/.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, }, }, },}Remarques
- Les nouvelles tentatives s’appliquent à chaque requête (envoi de message, téléversement de média, réaction, sondage, autocollant).
- Les flux composites ne réessaient pas les étapes terminées.
Voir aussi
Was this useful?