Concepts and configuration
CLI de modelos
Rotación de perfiles de autenticación, periodos de enfriamiento y cómo interactúan con las alternativas.
Resumen rápido de proveedores y ejemplos.
PI, Codex y otros runtimes de bucle de agentes.
Claves de configuración de modelos.
Las referencias de modelo eligen un proveedor y un modelo. Normalmente no eligen el runtime de agente de bajo nivel. Por ejemplo, openai/gpt-5.5 puede ejecutarse mediante la ruta normal del proveedor OpenAI o mediante el runtime de app-server de Codex, según agents.defaults.agentRuntime.id. En el modo de runtime de Codex, la referencia openai/gpt-* no implica facturación por clave de API; la autenticación puede venir de una cuenta de Codex o de un perfil de autenticación openai-codex. Consulta Runtimes de agentes.
Cómo funciona la selección de modelos
OpenClaw selecciona modelos en este orden:
Modelo principal
agents.defaults.model.primary (o agents.defaults.model).
Alternativas
agents.defaults.model.fallbacks (en orden).
Conmutación por error de autenticación del proveedor
La conmutación por error de autenticación ocurre dentro de un proveedor antes de pasar al siguiente modelo.
Superficies de modelo relacionadas
agents.defaults.modelses la lista permitida/catálogo de modelos que OpenClaw puede usar (más alias).agents.defaults.imageModelse usa solo cuando el modelo principal no puede aceptar imágenes.agents.defaults.pdfModello usa la herramientapdf. Si se omite, la herramienta recurre aagents.defaults.imageModely luego al modelo resuelto de sesión/predeterminado.agents.defaults.imageGenerationModello usa la capacidad compartida de generación de imágenes. Si se omite,image_generateaún puede inferir un valor predeterminado de proveedor respaldado por autenticación. Primero prueba el proveedor predeterminado actual y luego los demás proveedores registrados de generación de imágenes en orden de id de proveedor. Si estableces un proveedor/modelo específico, configura también la autenticación/clave de API de ese proveedor.agents.defaults.musicGenerationModello usa la capacidad compartida de generación de música. Si se omite,music_generateaún puede inferir un valor predeterminado de proveedor respaldado por autenticación. Primero prueba el proveedor predeterminado actual y luego los demás proveedores registrados de generación de música en orden de id de proveedor. Si estableces un proveedor/modelo específico, configura también la autenticación/clave de API de ese proveedor.agents.defaults.videoGenerationModello usa la capacidad compartida de generación de video. Si se omite,video_generateaún puede inferir un valor predeterminado de proveedor respaldado por autenticación. Primero prueba el proveedor predeterminado actual y luego los demás proveedores registrados de generación de video en orden de id de proveedor. Si estableces un proveedor/modelo específico, configura también la autenticación/clave de API de ese proveedor.- Los valores predeterminados por agente pueden anular
agents.defaults.modelmedianteagents.list[].modelmás vinculaciones (consulta Enrutamiento multiagente).
Origen de selección y comportamiento de alternativas
El mismo provider/model puede significar cosas distintas según de dónde venga:
- Los valores predeterminados configurados (
agents.defaults.model.primaryy los principales específicos del agente) son el punto de partida normal y usanagents.defaults.model.fallbacks. - Las selecciones automáticas de alternativa son estado de recuperación temporal. Se almacenan con
modelOverrideSource: "auto"para que los turnos posteriores puedan seguir usando la cadena de alternativas sin probar primero un principal que se sabe que falla. - Las selecciones de sesión del usuario son exactas.
/model, el selector de modelos,session_status(model=...)ysessions.patchalmacenanmodelOverrideSource: "user"; si ese proveedor/modelo seleccionado no es accesible, OpenClaw falla de forma visible en lugar de pasar a otro modelo configurado. - Cron
--model/ carga útilmodeles un principal por trabajo. Aún usa las alternativas configuradas, salvo que el trabajo suministrefallbacksexplícitas en la carga útil (usafallbacks: []para una ejecución de cron estricta). - Los selectores de modelo predeterminado y lista permitida de la CLI respetan
models.mode: "replace"al listarmodels.providers.*.modelsexplícitos en lugar de cargar el catálogo integrado completo. - El selector de modelos de la IU de Control pide al Gateway su vista de modelos configurada:
agents.defaults.modelscuando está presente; de lo contrario,models.providers.*.modelsexplícitos más proveedores con autenticación utilizable. El catálogo integrado completo se reserva para vistas de exploración explícitas comomodels.listconview: "all"uopenclaw models list --all.
Política rápida de modelos
- Establece tu principal en el modelo de última generación más potente disponible para ti.
- Usa alternativas para tareas sensibles a coste/latencia y chats de menor riesgo.
- Para agentes con herramientas habilitadas o entradas no confiables, evita niveles de modelo más antiguos o débiles.
Incorporación (recomendada)
Si no quieres editar la configuración a mano, ejecuta la incorporación:
openclaw onboard
Puede configurar modelo + autenticación para proveedores comunes, incluida suscripción de OpenAI Code (Codex) (OAuth) y Anthropic (clave de API o Claude CLI).
Claves de configuración (resumen)
agents.defaults.model.primaryyagents.defaults.model.fallbacksagents.defaults.imageModel.primaryyagents.defaults.imageModel.fallbacksagents.defaults.pdfModel.primaryyagents.defaults.pdfModel.fallbacksagents.defaults.imageGenerationModel.primaryyagents.defaults.imageGenerationModel.fallbacksagents.defaults.videoGenerationModel.primaryyagents.defaults.videoGenerationModel.fallbacksagents.defaults.models(lista permitida + alias + parámetros de proveedor)models.providers(proveedores personalizados escritos enmodels.json)
Ediciones seguras de la lista permitida
Usa escrituras aditivas al actualizar agents.defaults.models a mano:
openclaw config set agents.defaults.models '{"openai/gpt-5.4":{}}' --strict-json --merge
Reglas de protección contra sobrescritura
openclaw config set protege los mapas de modelos/proveedores contra sobrescrituras accidentales. Una asignación de objeto simple a agents.defaults.models, models.providers o models.providers.<id>.models se rechaza cuando eliminaría entradas existentes. Usa --merge para cambios aditivos; usa --replace solo cuando el valor proporcionado deba convertirse en el valor completo del destino.
La configuración interactiva de proveedores y openclaw configure --section model también fusionan selecciones con alcance de proveedor en la lista permitida existente, por lo que agregar Codex, Ollama u otro proveedor no elimina entradas de modelo no relacionadas. La configuración conserva un agents.defaults.model.primary existente cuando se vuelve a aplicar la autenticación del proveedor. Los comandos explícitos para establecer valores predeterminados, como openclaw models auth login --provider <id> --set-default y openclaw models set <model>, aún reemplazan agents.defaults.model.primary.
"El modelo no está permitido" (y por qué se detienen las respuestas)
Si agents.defaults.models está establecido, se convierte en la lista permitida para /model y para anulaciones de sesión. Cuando un usuario selecciona un modelo que no está en esa lista permitida, OpenClaw devuelve:
Model "provider/model" is not allowed. Use /models to list providers, or /models <provider> to list models.
Add it with: openclaw config set agents.defaults.models '{"provider/model":{}}' --strict-json --merge
Cuando el comando rechazado incluía una anulación de runtime como /model openai/gpt-5.5 --runtime codex, corrige primero la lista permitida y luego vuelve a intentar el mismo comando /model ... --runtime .... Para la ejecución nativa de Codex, el modelo seleccionado sigue siendo openai/gpt-5.5; el runtime codex selecciona el arnés y usa la autenticación de Codex por separado.
Para modelos locales/GGUF, almacena la referencia completa con prefijo de proveedor en la lista permitida,
por ejemplo ollama/gemma4:26b, lmstudio/Gemma4-26b-a4-it-gguf o el
proveedor/modelo exacto que muestra openclaw models list --provider <provider>.
Los nombres de archivo locales simples o los nombres para mostrar no son suficientes cuando la lista permitida está
activa.
Ejemplo de configuración de lista permitida:
{
agent: {
model: { primary: "anthropic/claude-sonnet-4-6" },
models: {
"anthropic/claude-sonnet-4-6": { alias: "Sonnet" },
"anthropic/claude-opus-4-6": { alias: "Opus" },
},
},
}
Cambiar modelos en el chat (/model)
Puedes cambiar de modelo para la sesión actual sin reiniciar:
/model
/model list
/model 3
/model openai/gpt-5.4
/model status
Comportamiento del selector
/model(y/model list) es un selector compacto y numerado (familia de modelos + proveedores disponibles).- En Discord,
/modely/modelsabren un selector interactivo con desplegables de proveedor y modelo, más un paso de Enviar. - En Telegram, las selecciones del selector
/modelstienen alcance de sesión; no cambian el valor predeterminado persistente del agente enopenclaw.json. /models addestá obsoleto y ahora devuelve un mensaje de obsolescencia en lugar de registrar modelos desde el chat./model <#>selecciona desde ese selector.
Persistencia y cambio en vivo
/modelpersiste la nueva selección de sesión de inmediato.- Si el agente está inactivo, la siguiente ejecución usa el nuevo modelo de inmediato.
- Si una ejecución ya está activa, OpenClaw marca un cambio en vivo como pendiente y solo reinicia con el nuevo modelo en un punto de reintento limpio.
- Si la actividad de herramientas o la salida de respuesta ya ha comenzado, el cambio pendiente puede quedar en cola hasta una oportunidad de reintento posterior o hasta el siguiente turno del usuario.
- Una referencia
/modelseleccionada por el usuario es estricta para esa sesión: si el proveedor/modelo seleccionado no es accesible, la respuesta falla de forma visible en lugar de responder silenciosamente desdeagents.defaults.model.fallbacks. Esto difiere de los valores predeterminados configurados y los principales de trabajos Cron, que aún pueden usar cadenas de alternativas. /model statuses la vista detallada (candidatos de autenticación y, cuando está configurado,baseUrlde endpoint de proveedor + modoapi).
Análisis de referencias
- Las referencias de modelo se analizan dividiendo por la primera
/. Usaprovider/modelal escribir/model <ref>. - Si el ID del modelo contiene
/(estilo OpenRouter), debes incluir el prefijo de proveedor (ejemplo:/model openrouter/moonshotai/kimi-k2). - Si omites el proveedor, OpenClaw resuelve la entrada en este orden:
- coincidencia de alias
- coincidencia única de proveedor configurado para ese id de modelo exacto sin prefijo
- alternativa obsoleta al proveedor predeterminado configurado; si ese proveedor ya no expone el modelo predeterminado configurado, OpenClaw recurre en su lugar al primer proveedor/modelo configurado para evitar mostrar un valor predeterminado obsoleto de un proveedor eliminado.
Comportamiento/configuración completa del comando: Comandos slash.
Comandos de CLI
openclaw models list
openclaw models status
openclaw models set <provider/model>
openclaw models set-image <provider/model>
openclaw models aliases list
openclaw models aliases add <alias> <provider/model>
openclaw models aliases remove <alias>
openclaw models fallbacks list
openclaw models fallbacks add <provider/model>
openclaw models fallbacks remove <provider/model>
openclaw models fallbacks clear
openclaw models image-fallbacks list
openclaw models image-fallbacks add <provider/model>
openclaw models image-fallbacks remove <provider/model>
openclaw models image-fallbacks clear
openclaw models (sin subcomando) es un atajo para models status.
models list
Muestra de forma predeterminada los modelos configurados/con autenticación disponible. Flags útiles:
--allbooleanCatálogo completo. Incluye filas del catálogo estático incluido y propiedad del proveedor antes de configurar la autenticación, por lo que las vistas solo de descubrimiento pueden mostrar modelos que no están disponibles hasta que agregues las credenciales del proveedor correspondiente.
--localbooleanSolo proveedores locales.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcHJvdmlkZXIgPGlk
" type="string">
Filtra por id de proveedor, por ejemplo moonshot. No se aceptan las etiquetas de visualización de los selectores interactivos.
--plainbooleanUn modelo por línea.
--jsonbooleanSalida legible por máquina.
models status
Muestra el modelo principal resuelto, los modelos alternativos, el modelo de imagen y una descripción general de autenticación de los proveedores configurados. También muestra el estado de expiración de OAuth para los perfiles encontrados en el almacén de autenticación (advierte dentro de 24 h de forma predeterminada). --plain imprime solo el modelo principal resuelto.
Comportamiento de autenticación y sondeo
- El estado de OAuth siempre se muestra (y se incluye en la salida de
--json). Si un proveedor configurado no tiene credenciales,models statusimprime una sección Autenticación faltante. - JSON incluye
auth.oauth(ventana de advertencia + perfiles) yauth.providers(autenticación efectiva por proveedor, incluidas las credenciales respaldadas por env).auth.oauthes solo el estado de salud de los perfiles del almacén de autenticación; los proveedores solo con env no aparecen allí. - Usa
--checkpara automatización (salida1cuando falte o esté expirada,2cuando esté por expirar). - Usa
--probepara comprobaciones de autenticación en vivo; las filas de sondeo pueden provenir de perfiles de autenticación, credenciales env omodels.json. - Si
auth.order.<provider>explícito omite un perfil almacenado, el sondeo informaexcluded_by_auth_orderen lugar de intentarlo. Si existe autenticación pero no se puede resolver ningún modelo sondeable para ese proveedor, el sondeo informastatus: no_model.
Ejemplo (Claude CLI):
claude auth login
openclaw models status
Escaneo (modelos gratuitos de OpenRouter)
openclaw models scan inspecciona el catálogo de modelos gratuitos de OpenRouter y, opcionalmente, puede sondear modelos para comprobar la compatibilidad con herramientas e imágenes.
--no-probebooleanOmite los sondeos en vivo (solo metadatos).
"--min-params"--max-age-days"--provider"--max-candidates--set-defaultbooleanDefine agents.defaults.model.primary como la primera selección.
--set-imagebooleanDefine agents.defaults.imageModel.primary como la primera selección de imagen.
Los resultados del escaneo se clasifican por:
- Compatibilidad con imágenes
- Latencia de herramientas
- Tamaño de contexto
- Recuento de parámetros
Entrada:
- Lista
/modelsde OpenRouter (filtro:free) - Los sondeos en vivo requieren una clave API de OpenRouter desde perfiles de autenticación o
OPENROUTER_API_KEY(consulta Variables de entorno) - Filtros opcionales:
--max-age-days,--min-params,--provider,--max-candidates - Controles de solicitud/sondeo:
--timeout,--concurrency
Cuando los sondeos en vivo se ejecutan en un TTY, puedes seleccionar alternativas de forma interactiva. En modo no interactivo, pasa --yes para aceptar los valores predeterminados. Los resultados solo de metadatos son informativos; --set-default y --set-image requieren sondeos en vivo para que OpenClaw no configure un modelo de OpenRouter sin clave inutilizable.
Registro de modelos (models.json)
Los proveedores personalizados en models.providers se escriben en models.json dentro del directorio del agente (valor predeterminado ~/.openclaw/agents/<agentId>/agent/models.json). Este archivo se fusiona de forma predeterminada salvo que models.mode esté definido como replace.
Precedencia del modo de fusión
Precedencia del modo de fusión para los ID de proveedor coincidentes:
- Gana el
baseUrlno vacío que ya esté presente en elmodels.jsondel agente. - El
apiKeyno vacío en elmodels.jsondel agente gana solo cuando ese proveedor no está gestionado por SecretRef en el contexto actual de configuración/perfil de autenticación. - Los valores
apiKeyde proveedores gestionados por SecretRef se actualizan desde marcadores de origen (ENV_VAR_NAMEpara refs env,secretref-managedpara refs file/exec) en lugar de persistir secretos resueltos. - Los valores de encabezado de proveedores gestionados por SecretRef se actualizan desde marcadores de origen (
secretref-env:ENV_VAR_NAMEpara refs env,secretref-managedpara refs file/exec). - Los
apiKey/baseUrlvacíos o faltantes del agente recurren amodels.providersde la configuración. - Otros campos del proveedor se actualizan desde la configuración y datos normalizados del catálogo.
Relacionado
- Runtimes de agentes — PI, Codex y otros runtimes de bucle de agentes
- Referencia de configuración — claves de configuración de modelos
- Generación de imágenes — configuración de modelos de imagen
- Conmutación por error de modelos — cadenas de alternativas
- Proveedores de modelos — enrutamiento y autenticación de proveedores
- Generación de música — configuración de modelos de música
- Generación de video — configuración de modelos de video