Gateway
Autenticación
OpenClaw admite OAuth y claves de API para proveedores de modelos. Para hosts de Gateway siempre activos, las claves de API suelen ser la opción más predecible. Los flujos de suscripción/OAuth también son compatibles cuando coinciden con el modelo de cuenta de tu proveedor.
Consulta /concepts/oauth para ver el flujo completo de OAuth y el diseño de almacenamiento.
Para autenticación basada en SecretRef (proveedores env/file/exec), consulta Gestión de secretos.
Para las reglas de elegibilidad de credenciales/códigos de motivo usadas por models status --probe, consulta
Semántica de credenciales de autenticación.
Configuración recomendada (clave de API, cualquier proveedor)
Si estás ejecutando un Gateway de larga duración, empieza con una clave de API para el proveedor que elijas. En el caso específico de Anthropic, la autenticación con clave de API sigue siendo la configuración de servidor más predecible, pero OpenClaw también admite reutilizar un inicio de sesión local de Claude CLI.
- Crea una clave de API en la consola de tu proveedor.
- Ponla en el host del Gateway (la máquina que ejecuta
openclaw gateway).
export <PROVIDER>_API_KEY="..."openclaw models status- Si el Gateway se ejecuta con systemd/launchd, prefiere poner la clave en
~/.openclaw/.envpara que el daemon pueda leerla:
cat >> ~/.openclaw/.env <<'EOF'<PROVIDER>_API_KEY=...EOFDespués reinicia el daemon (o reinicia tu proceso de Gateway) y vuelve a comprobar:
openclaw models statusopenclaw doctorSi prefieres no gestionar variables de entorno tú mismo, el onboarding puede almacenar claves de API para uso del daemon: openclaw onboard.
Consulta Ayuda para obtener detalles sobre la herencia de entorno (env.shellEnv, ~/.openclaw/.env, systemd/launchd).
Anthropic: compatibilidad con Claude CLI y tokens
La autenticación con setup-token de Anthropic sigue disponible en OpenClaw como una ruta de token compatible. Desde entonces, el personal de Anthropic nos ha dicho que el uso de Claude CLI al estilo de OpenClaw vuelve a estar permitido, por lo que OpenClaw trata la reutilización de Claude CLI y el uso de claude -p como autorizados para esta integración salvo que Anthropic publique una nueva política. Cuando la reutilización de Claude CLI está disponible en el host, ahora es la ruta preferida.
Para hosts de Gateway de larga duración, una clave de API de Anthropic sigue siendo la configuración más predecible. Si quieres reutilizar un inicio de sesión existente de Claude en el mismo host, usa la ruta de Anthropic Claude CLI en onboarding/configure.
Configuración de host recomendada para reutilizar Claude CLI:
# Run on the gateway hostclaude auth loginclaude auth status --textopenclaw models auth login --provider anthropic --method cli --set-defaultEsta es una configuración de dos pasos:
- Inicia sesión en Anthropic con Claude Code en el host del Gateway.
- Indica a OpenClaw que cambie la selección de modelos de Anthropic al backend local
claude-cliy almacene el perfil de autenticación de OpenClaw correspondiente.
Si claude no está en PATH, instala primero Claude Code o establece
agents.defaults.cliBackends.claude-cli.command en la ruta real del binario.
Entrada manual de token (cualquier proveedor; escribe en el almacén de autenticación SQLite por agente y actualiza la configuración):
openclaw models auth paste-token --provider openrouterEl almacén de perfiles de autenticación conserva solo credenciales. Los archivos heredados auth-profiles.json usaban esta forma canónica:
{ "version": 1, "profiles": { "openrouter:default": { "type": "api_key", "provider": "openrouter", "key": "OPENROUTER_API_KEY" } }}OpenClaw ahora lee los perfiles de autenticación desde el openclaw-agent.sqlite de cada agente. Si una instalación anterior todavía tiene auth-profiles.json, auth-state.json o un archivo plano de perfil de autenticación como { "openrouter": { "apiKey": "..." } }, ejecuta openclaw doctor --fix para importarlo a SQLite; doctor conserva copias de seguridad con marca de tiempo junto a los archivos JSON originales. Los detalles de endpoint como baseUrl, api, ids de modelo, encabezados y tiempos de espera pertenecen a models.providers.<id> en openclaw.json o models.json, no a perfiles de autenticación.
Las rutas de autenticación externas como auth: "aws-sdk" de Bedrock tampoco son credenciales. Si quieres una ruta de Bedrock con nombre, pon auth.profiles.<id>.mode: "aws-sdk" en openclaw.json; no escribas type: "aws-sdk" en el almacén de perfiles de autenticación. openclaw doctor --fix mueve los marcadores heredados de AWS SDK desde el almacén de credenciales a los metadatos de configuración.
Las referencias de perfil de autenticación también son compatibles con credenciales estáticas:
- Las credenciales
api_keypueden usarkeyRef: { source, provider, id } - Las credenciales
tokenpueden usartokenRef: { source, provider, id } - Los perfiles en modo OAuth no admiten credenciales SecretRef; si
auth.profiles.<id>.modese establece en"oauth", se rechaza la entradakeyRef/tokenRefrespaldada por SecretRef para ese perfil.
Comprobación apta para automatización (salida 1 cuando caducó/falta, 2 cuando está por caducar):
openclaw models status --checkSondeos de autenticación en vivo:
openclaw models status --probeNotas:
- Las filas de sondeo pueden provenir de perfiles de autenticación, credenciales de entorno o
models.json. - Si
auth.order.<provider>explícito omite un perfil almacenado, el sondeo informaexcluded_by_auth_orderpara ese perfil en lugar de intentarlo. - Si existe autenticación pero OpenClaw no puede resolver un candidato de modelo sondeable para ese proveedor, el sondeo informa
status: no_model. - Los enfriamientos por límite de tasa pueden tener alcance de modelo. Un perfil en enfriamiento para un modelo todavía puede ser utilizable para un modelo hermano en el mismo proveedor.
Los scripts operativos opcionales (systemd/Termux) están documentados aquí: Scripts de supervisión de autenticación
Nota de Anthropic
El backend claude-cli de Anthropic vuelve a ser compatible.
- El personal de Anthropic nos dijo que esta ruta de integración de OpenClaw vuelve a estar permitida.
- Por lo tanto, OpenClaw trata la reutilización de Claude CLI y el uso de
claude -pcomo autorizados para ejecuciones respaldadas por Anthropic salvo que Anthropic publique una nueva política. - Las claves de API de Anthropic siguen siendo la opción más predecible para hosts de Gateway de larga duración y control explícito de facturación del lado del servidor.
Comprobar el estado de autenticación de modelos
openclaw models statusopenclaw doctorComportamiento de rotación de claves de API (Gateway)
Algunos proveedores admiten reintentar una solicitud con claves alternativas cuando una llamada de API alcanza un límite de tasa del proveedor.
- Orden de prioridad:
OPENCLAW_LIVE_<PROVIDER>_KEY(sobrescritura única)<PROVIDER>_API_KEYS<PROVIDER>_API_KEY<PROVIDER>_API_KEY_*
- Los proveedores de Google también incluyen
GOOGLE_API_KEYcomo respaldo adicional. - La misma lista de claves se deduplica antes de usarla.
- OpenClaw reintenta con la siguiente clave solo para errores de límite de tasa (por ejemplo
429,rate_limit,quota,resource exhausted,Too many concurrent requests,ThrottlingException,concurrency limit reachedoworkers_ai ... quota limit exceeded). - Los errores que no son de límite de tasa no se reintentan con claves alternativas.
- Si todas las claves fallan, se devuelve el error final del último intento.
Eliminar la autenticación de proveedor mientras el Gateway está en ejecución
Cuando la autenticación de proveedor se elimina a través del plano de control del Gateway, OpenClaw elimina los perfiles de autenticación guardados para ese proveedor y aborta las ejecuciones activas de chat o agente cuyo proveedor de modelo seleccionado coincida con el proveedor eliminado. Las ejecuciones abortadas emiten los eventos normales de cancelación de chat y de ciclo de vida con
stopReason: "auth-revoked", de modo que los clientes conectados puedan mostrar que la ejecución se detuvo porque se eliminaron las credenciales.
Eliminar la autenticación guardada no revoca las claves en el proveedor. Rota o revoca la clave en el panel del proveedor cuando necesites invalidación del lado del proveedor.
Controlar qué credencial se usa
OpenAI e ids heredados openai-codex
Los perfiles de clave de API de OpenAI y los perfiles OAuth de ChatGPT/Codex usan ambos el id de proveedor canónico openai. La configuración nueva debe usar ids de perfil openai:* y
auth.order.openai.
Si ves openai-codex en una configuración anterior, ids de perfil de autenticación o
auth.order.openai-codex, trátalo como entrada de migración heredada. No crees nuevos perfiles openai-codex. Ejecuta:
openclaw doctor --fixopenclaw models auth list --provider openaiDoctor reescribe los ids de perfil heredados openai-codex:* y las entradas
auth.order.openai-codex a la ruta de autenticación canónica openai. Para el enrutamiento de modelo/runtime específico de OpenAI, consulta OpenAI.
Durante el inicio de sesión (CLI)
Usa openclaw models auth login --provider <id> --profile-id <profileId> para proveedores que admiten perfiles de autenticación con nombre durante el inicio de sesión.
openclaw models auth login --provider openai --profile-id openai:ritsukoopenclaw models auth login --provider openai --profile-id openai:lainEsta es la forma más sencilla de mantener separados varios inicios de sesión OAuth para el mismo proveedor dentro de un agente.
Usa --force cuando un perfil de proveedor guardado esté bloqueado, caducado o vinculado a la cuenta equivocada y el comando normal de inicio de sesión siga reutilizándolo. --force elimina los perfiles de autenticación guardados para ese proveedor en el directorio del agente seleccionado y luego vuelve a ejecutar el mismo flujo de autenticación del proveedor. No revoca credenciales en el proveedor; rótalas o revócalas en el panel del proveedor cuando necesites invalidación del lado del proveedor.
openclaw models auth login --provider anthropic --forcePor sesión (comando de chat)
Usa /model <alias-or-id>@<profileId> para fijar una credencial de proveedor específica para la sesión actual (ids de perfil de ejemplo: anthropic:default, anthropic:work).
Usa /model (o /model list) para un selector compacto; usa /model status para la vista completa (candidatos + siguiente perfil de autenticación, además de detalles de endpoint del proveedor cuando estén configurados).
Por agente (sobrescritura de CLI)
Establece una sobrescritura explícita del orden de perfiles de autenticación para un agente (almacenada en el estado de autenticación SQLite de ese agente):
openclaw models auth order get --provider anthropicopenclaw models auth order set --provider anthropic anthropic:defaultopenclaw models auth order clear --provider anthropicUsa --agent <id> para apuntar a un agente específico; omítelo para usar el agente predeterminado configurado.
Cuando depures problemas de orden, openclaw models status --probe muestra los perfiles almacenados omitidos como excluded_by_auth_order en lugar de saltárselos silenciosamente.
Cuando depures problemas de enfriamiento, recuerda que los enfriamientos por límite de tasa pueden estar vinculados a un id de modelo en lugar de a todo el perfil del proveedor.
Si cambias el orden de autenticación o la fijación de perfil para un chat que ya está en ejecución, envía /new o /reset en ese chat para iniciar una sesión nueva. Las sesiones existentes pueden conservar su selección actual de modelo/perfil hasta que se restablezcan.
Solución de problemas
"No se encontraron credenciales"
Si falta el perfil de Anthropic, configura una clave de API de Anthropic en el host del Gateway o configura la ruta setup-token de Anthropic, y luego vuelve a comprobar:
openclaw models statusToken por caducar/caducado
Ejecuta openclaw models status para confirmar qué perfil está por caducar. Si falta un perfil de token de Anthropic o caducó, actualiza esa configuración mediante setup-token o migra a una clave de API de Anthropic.