Ir al contenido

Política de reintentos

  • Reintentar por cada solicitud HTTP, no por cada flujo de varios pasos.
  • Conservar el orden reintentando solo el paso actual.
  • Evitar la duplicación de operaciones no idempotentes.
  • Intentos: 3
  • Límite máximo de retraso: 30000 ms
  • Jitter: 0,1 (10 por ciento)
  • Valores predeterminados del proveedor:
    • Retraso mínimo de Telegram: 400 ms
    • Retraso mínimo de Discord: 500 ms
  • OpenClaw permite que los SDK de los proveedores manejen los reintentos cortos normales.
  • Para los SDK basados en Stainless, como Anthropic y OpenAI, las respuestas reintentables (408, 409, 429 y 5xx) pueden incluir retry-after-ms o retry-after. Cuando esa espera es superior a 60 segundos, OpenClaw inyecta x-should-retry: false para que el SDK muestre el error inmediatamente y el conmutación por error del modelo pueda rotar a otro perfil de autenticación o modelo alternativo.
  • Anule el límite con OPENCLAW_SDK_RETRY_MAX_WAIT_SECONDS=<seconds>. Establezca el valor en 0, false, off, none o disabled para permitir que los SDK respeten las esperas Retry-After largas internamente.
  • Reintentos en errores de límite de velocidad (HTTP 429), tiempos de espera de solicitud, respuestas HTTP 5xx y fallos transitorios de transporte como fallos de búsqueda de DNS, restablecimientos de conexión, cierres de socket y fallos de recuperación.
  • Usa el retry_after de Discord cuando está disponible, de lo contrario usa retroceso exponencial.
  • Reintenta en errores transitorios (429, tiempo de espera agotado, conexión/restablecimiento/cierre, no disponible temporalmente).
  • Usa retry_after cuando está disponible, de lo contrario usa retroceso exponencial.
  • Los errores de análisis de Markdown no se reintentan; se recurre a texto sin formato.

Establezca la política de reintentos por proveedor en ~/.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,
},
},
},
}
  • Los reintentos se aplican por solicitud (envío de mensaje, carga de medios, reacción, encuesta, pegatina).
  • Los flujos compuestos no reintentan los pasos completados.