Failover de modelos
OpenClaw maneja los fallos en dos etapas:- Rotación de perfiles de autenticación dentro del proveedor actual.
- Fallback de modelos al siguiente modelo en
agents.defaults.model.fallbacks.
Almacenamiento de autenticación (claves + OAuth)
OpenClaw usa perfiles de autenticación tanto para claves de API como para tokens OAuth.- Los secretos viven en
~/.openclaw/agents/<agentId>/agent/auth-profiles.json(legado:~/.openclaw/agent/auth-profiles.json). - La configuración
auth.profiles/auth.orderes solo metadatos + enrutamiento (sin secretos). - Archivo OAuth legado solo para importación:
~/.openclaw/credentials/oauth.json(importado enauth-profiles.jsonen el primer uso).
type: "api_key"→{ provider, key }type: "oauth"→{ provider, access, refresh, expires, email? }(+projectId/enterpriseUrlpara algunos proveedores)
IDs de perfil
Los inicios de sesión OAuth crean perfiles distintos para que puedan coexistir varias cuentas.- Predeterminado:
provider:defaultcuando no hay un correo disponible. - OAuth con correo:
provider:<email>(por ejemplogoogle-antigravity:[email protected]).
~/.openclaw/agents/<agentId>/agent/auth-profiles.json bajo profiles.
Orden de rotación
Cuando un proveedor tiene varios perfiles, OpenClaw elige un orden como este:- Configuración explícita:
auth.order[provider](si está configurada). - Perfiles configurados:
auth.profilesfiltrados por proveedor. - Perfiles almacenados: entradas en
auth-profiles.jsonpara el proveedor.
- Clave primaria: tipo de perfil (OAuth antes que claves de API).
- Clave secundaria:
usageStats.lastUsed(el más antiguo primero, dentro de cada tipo). - Los perfiles en cooldown/deshabilitados se mueven al final, ordenados por la expiración más próxima.
Afinidad de sesión (amigable con caché)
OpenClaw fija el perfil de autenticación elegido por sesión para mantener calientes las cachés del proveedor. No rota en cada solicitud. El perfil fijado se reutiliza hasta que:- la sesión se restablece (
/new//reset) - se completa una compactación (se incrementa el conteo de compactación)
- el perfil entra en cooldown o queda deshabilitado
/model …@<profileId> establece una anulación del usuario para esa sesión
y no se rota automáticamente hasta que comienza una nueva sesión.
Los perfiles fijados automáticamente (seleccionados por el enrutador de sesión) se tratan como una preferencia:
se intentan primero, pero OpenClaw puede rotar a otro perfil ante límites de tasa/tiempos de espera.
Los perfiles fijados por el usuario permanecen bloqueados a ese perfil; si falla y hay fallbacks de modelo
configurados, OpenClaw pasa al siguiente modelo en lugar de cambiar de perfil.
Por qué OAuth puede “parecer perdido”
Si tiene tanto un perfil OAuth como un perfil de clave de API para el mismo proveedor, el round‑robin puede alternar entre ellos a lo largo de los mensajes si no están fijados. Para forzar un único perfil:- Fíjelo con
auth.order[provider] = ["provider:profileId"], o - Use una anulación por sesión mediante
/model …con una anulación de perfil (cuando su UI/superficie de chat lo admita).
Cooldowns
Cuando un perfil falla por errores de autenticación/límite de tasa (o por un tiempo de espera que parece limitación de tasa), OpenClaw lo marca en cooldown y pasa al siguiente perfil. Los errores de formato/solicitud inválida (por ejemplo, fallos de validación del ID de llamada de herramienta de Cloud Code Assist) se tratan como susceptibles de failover y usan los mismos cooldowns. Los cooldowns usan backoff exponencial:- 1 minuto
- 5 minutos
- 25 minutos
- 1 hora (límite)
auth-profiles.json bajo usageStats:
Deshabilitaciones por facturación
Los fallos de facturación/crédito (por ejemplo, “créditos insuficientes” / “saldo de crédito demasiado bajo”) se tratan como susceptibles de failover, pero normalmente no son transitorios. En lugar de un cooldown corto, OpenClaw marca el perfil como deshabilitado (con un backoff más largo) y rota al siguiente perfil/proveedor. El estado se almacena enauth-profiles.json:
- El backoff de facturación comienza en 5 horas, se duplica por cada fallo de facturación y tiene un tope de 24 horas.
- Los contadores de backoff se restablecen si el perfil no ha fallado durante 24 horas (configurable).
Fallback de modelos
Si fallan todos los perfiles de un proveedor, OpenClaw pasa al siguiente modelo enagents.defaults.model.fallbacks. Esto aplica a fallos de autenticación, límites de tasa y
tiempos de espera que agotaron la rotación de perfiles (otros errores no avanzan el fallback).
Cuando una ejecución comienza con una anulación de modelo (hooks o CLI), los fallbacks aún terminan en
agents.defaults.model.primary después de intentar cualquier fallback configurado.
Configuración relacionada
Consulte Configuración del Gateway para:auth.profiles/auth.orderauth.cooldowns.billingBackoffHours/auth.cooldowns.billingBackoffHoursByProviderauth.cooldowns.billingMaxHours/auth.cooldowns.failureWindowHoursagents.defaults.model.primary/agents.defaults.model.fallbacks- enrutamiento
agents.defaults.imageModel