Concepts and configuration
CLI de Modelos
Rotação de perfil de autenticação, cooldowns e como isso interage com fallbacks.
Visão geral rápida dos provedores e exemplos.
PI, Codex e outros runtimes de loop de agente.
Chaves de configuração de modelo.
As refs de modelo escolhem um provedor e um modelo. Elas normalmente não escolhem o runtime de agente de baixo nível. As refs de agente OpenAI são a principal exceção: openai/gpt-5.5 é executado pelo runtime de servidor de app do Codex por padrão no provedor oficial OpenAI. Substituições explícitas de runtime pertencem à política de provedor/modelo, não ao agente ou à sessão inteira. No modo de runtime Codex, a ref openai/gpt-* não implica cobrança por chave de API; a autenticação pode vir de uma conta Codex ou de um perfil de autenticação openai-codex. Consulte Runtimes de agente.
Como a seleção de modelo funciona
O OpenClaw seleciona modelos nesta ordem:
Modelo principal
agents.defaults.model.primary (ou agents.defaults.model).
Fallbacks
agents.defaults.model.fallbacks (em ordem).
Failover de autenticação do provedor
O failover de autenticação acontece dentro de um provedor antes de passar para o próximo modelo.
Superfícies de modelo relacionadas
agents.defaults.modelsé a lista de permissões/catálogo de modelos que o OpenClaw pode usar (mais aliases). Use entradasprovider/*para limitar os provedores visíveis mantendo a descoberta de provedores dinâmica.agents.defaults.imageModelé usado somente quando o modelo principal não aceita imagens.agents.defaults.pdfModelé usado pela ferramentapdf. Se omitido, a ferramenta recorre aagents.defaults.imageModele depois ao modelo resolvido da sessão/padrão.agents.defaults.imageGenerationModelé usado pela capacidade compartilhada de geração de imagens. Se omitido,image_generateainda pode inferir um padrão de provedor com autenticação. Ele tenta primeiro o provedor padrão atual e depois os demais provedores registrados de geração de imagens em ordem de ID de provedor. Se você definir um provedor/modelo específico, configure também a autenticação/chave de API desse provedor.agents.defaults.musicGenerationModelé usado pela capacidade compartilhada de geração de música. Se omitido,music_generateainda pode inferir um padrão de provedor com autenticação. Ele tenta primeiro o provedor padrão atual e depois os demais provedores registrados de geração de música em ordem de ID de provedor. Se você definir um provedor/modelo específico, configure também a autenticação/chave de API desse provedor.agents.defaults.videoGenerationModelé usado pela capacidade compartilhada de geração de vídeo. Se omitido,video_generateainda pode inferir um padrão de provedor com autenticação. Ele tenta primeiro o provedor padrão atual e depois os demais provedores registrados de geração de vídeo em ordem de ID de provedor. Se você definir um provedor/modelo específico, configure também a autenticação/chave de API desse provedor.- Padrões por agente podem substituir
agents.defaults.modelviaagents.list[].modelmais vínculos (consulte Roteamento multiagente).
Fonte da seleção e comportamento de fallback
O mesmo provider/model pode significar coisas diferentes dependendo de onde veio:
- Padrões configurados (
agents.defaults.model.primarye modelos principais específicos de agente) são o ponto de partida normal e usamagents.defaults.model.fallbacks. - Seleções automáticas de fallback são estado temporário de recuperação. Elas são armazenadas com
modelOverrideSource: "auto"para que turnos posteriores possam continuar usando a cadeia de fallback sem sondar primeiro um modelo principal sabidamente ruim. - Seleções de sessão do usuário são exatas.
/model, o seletor de modelo,session_status(model=...)esessions.patcharmazenammodelOverrideSource: "user"; se esse provedor/modelo selecionado estiver inacessível, o OpenClaw falha de forma visível em vez de seguir para outro modelo configurado. - Cron
--model/ payloadmodelé um modelo principal por job. Ele ainda usa os fallbacks configurados, a menos que o job forneçafallbacksexplícitos no payload (usefallbacks: []para uma execução cron estrita). - Seletores de modelo padrão e lista de permissões da CLI respeitam
models.mode: "replace"listandomodels.providers.*.modelsexplícitos em vez de carregar todo o catálogo integrado. - O seletor de modelo da UI de Controle solicita ao Gateway sua visão de modelos configurada:
agents.defaults.modelsquando presente, incluindo entradasprovider/*para provedores inteiros; caso contrário,models.providers.*.modelsexplícitos mais provedores com autenticação utilizável. O catálogo integrado completo é reservado para visualizações explícitas de navegação, comomodels.listcomview: "all"ouopenclaw models list --all.
Política rápida de modelos
- Defina seu principal como o modelo mais forte de geração mais recente disponível para você.
- Use fallbacks para tarefas sensíveis a custo/latência e chats de menor risco.
- Para agentes com ferramentas habilitadas ou entradas não confiáveis, evite camadas de modelo mais antigas/fracas.
Onboarding (recomendado)
Se você não quiser editar a configuração manualmente, execute o onboarding:
openclaw onboardEle pode configurar modelo + autenticação para provedores comuns, incluindo assinatura OpenAI Code (Codex) (OAuth) e Anthropic (chave de API ou Claude CLI).
Chaves de configuração (visão geral)
agents.defaults.model.primaryeagents.defaults.model.fallbacksagents.defaults.imageModel.primaryeagents.defaults.imageModel.fallbacksagents.defaults.pdfModel.primaryeagents.defaults.pdfModel.fallbacksagents.defaults.imageGenerationModel.primaryeagents.defaults.imageGenerationModel.fallbacksagents.defaults.videoGenerationModel.primaryeagents.defaults.videoGenerationModel.fallbacksagents.defaults.models(lista de permissões + aliases + parâmetros de provedor + entradas dinâmicas de provedorprovider/*)models.providers(provedores personalizados gravados emmodels.json)
Edições seguras na lista de permissões
Use gravações aditivas ao atualizar agents.defaults.models manualmente:
openclaw config set agents.defaults.models '{"openai/gpt-5.4":{}}' --strict-json --mergeRegras de proteção contra sobrescrita
openclaw config set protege mapas de modelos/provedores contra sobrescritas acidentais. Uma atribuição de objeto simples a agents.defaults.models, models.providers ou models.providers.<id>.models é rejeitada quando removeria entradas existentes. Use --merge para alterações aditivas; use --replace somente quando o valor fornecido deve se tornar o valor-alvo completo.
A configuração interativa de provedor e openclaw configure --section model também mesclam seleções com escopo de provedor na lista de permissões existente, portanto adicionar Codex, Ollama ou outro provedor não remove entradas de modelo não relacionadas. A configuração preserva um agents.defaults.model.primary existente quando a autenticação do provedor é reaplicada. Comandos explícitos de definição de padrão, como openclaw models auth login --provider <id> --set-default e openclaw models set <model>, ainda substituem agents.defaults.model.primary.
"Modelo não permitido" (e por que as respostas param)
Se agents.defaults.models estiver definido, ele se torna a lista de permissões para /model e para substituições de sessão. Quando um usuário seleciona um modelo que não está nessa lista de permissões, o OpenClaw retorna:
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 --mergeQuando o comando rejeitado incluía uma substituição de runtime, como /model openai/gpt-5.5 --runtime codex, corrija primeiro a lista de permissões e depois tente novamente o mesmo comando /model ... --runtime .... Para execução nativa do Codex, o modelo selecionado ainda é openai/gpt-5.5; o runtime codex seleciona o harness e usa a autenticação Codex separadamente.
Para modelos locais/GGUF, armazene a ref completa prefixada pelo provedor na lista de permissões,
por exemplo ollama/gemma4:26b, lmstudio/Gemma4-26b-a4-it-gguf ou o
provedor/modelo exato mostrado por openclaw models list --provider <provider>.
Nomes de arquivo locais simples ou nomes de exibição não bastam quando a lista de permissões está
ativa.
Se você quiser limitar provedores sem listar manualmente todos os modelos, adicione
entradas provider/* a agents.defaults.models:
{ agents: { defaults: { models: { "openai-codex/*": {}, "vllm/*": {}, }, }, },}Com essa política, /model, /models e seletores de modelo mostram o catálogo
descoberto somente para esses provedores. Novos modelos dos provedores selecionados podem
aparecer sem editar a lista de permissões. Entradas exatas provider/model podem ser combinadas
com entradas provider/* quando você precisar de um modelo específico de outro provedor.
Exemplo de configuração de lista de permissões:
{ agents: { defaults: { model: { primary: "anthropic/claude-sonnet-4-6" }, models: { "anthropic/claude-sonnet-4-6": { alias: "Sonnet" }, "anthropic/claude-opus-4-6": { alias: "Opus" }, }, }, },}Troca de modelos no chat (/model)
Você pode trocar os modelos da sessão atual sem reiniciar:
/model/model list/model 3/model openai/gpt-5.4/model statusComportamento do seletor
/model(e/model list) é um seletor compacto e numerado (família do modelo + provedores disponíveis).- No Discord,
/modele/modelsabrem um seletor interativo com menus suspensos de provedor e modelo, além de uma etapa de Enviar. - No Telegram, as seleções do seletor
/modelstêm escopo de sessão; elas não alteram o padrão persistente do agente emopenclaw.json. /models addestá obsoleto e agora retorna uma mensagem de descontinuação em vez de registrar modelos pelo chat./model <#>seleciona a partir desse seletor.
Persistência e troca ao vivo
/modelpersiste imediatamente a nova seleção da sessão.- Se o agente estiver ocioso, a próxima execução usa o novo modelo imediatamente.
- Se uma execução já estiver ativa, o OpenClaw marca uma troca ao vivo como pendente e só reinicia no novo modelo em um ponto de nova tentativa limpo.
- Se a atividade de ferramentas ou a saída da resposta já tiver começado, a troca pendente pode ficar na fila até uma oportunidade posterior de nova tentativa ou até o próximo turno do usuário.
- Uma ref
/modelselecionada pelo usuário é estrita para essa sessão: se o provedor/modelo selecionado estiver inacessível, a resposta falha de forma visível em vez de responder silenciosamente a partir deagents.defaults.model.fallbacks. Isso difere dos padrões configurados e dos modelos principais de jobs cron, que ainda podem usar cadeias de fallback. /model statusé a visão detalhada (candidatos de autenticação e, quando configurado,baseUrldo endpoint do provedor + modoapi).
Análise de referências
- Referências de modelo são analisadas dividindo na primeira
/. Useprovider/modelao digitar/model <ref>. - Se o ID do modelo em si contiver
/(estilo OpenRouter), você deve incluir o prefixo do provedor (exemplo:/model openrouter/moonshotai/kimi-k2). - Se você omitir o provedor, o OpenClaw resolve a entrada nesta ordem:
- correspondência de alias
- correspondência única de provedor configurado para esse ID de modelo exato sem prefixo
- fallback obsoleto para o provedor padrão configurado — se esse provedor não expuser mais o modelo padrão configurado, o OpenClaw usará como fallback o primeiro provedor/modelo configurado para evitar exibir um padrão obsoleto de provedor removido.
Comportamento/configuração completa do comando: Comandos de barra.
Comandos da CLI
openclaw models listopenclaw models statusopenclaw models set <provider/model>openclaw models set-image <provider/model> openclaw models aliases listopenclaw models aliases add <alias> <provider/model>openclaw models aliases remove <alias> openclaw models fallbacks listopenclaw models fallbacks add <provider/model>openclaw models fallbacks remove <provider/model>openclaw models fallbacks clear openclaw models image-fallbacks listopenclaw models image-fallbacks add <provider/model>openclaw models image-fallbacks remove <provider/model>openclaw models image-fallbacks clearopenclaw models (sem subcomando) é um atalho para models status.
models list
Mostra modelos configurados/disponíveis para autenticação por padrão. Flags úteis:
--allbooleanCatálogo completo. Inclui linhas de catálogo estático pertencentes ao provedor e empacotadas antes que a autenticação seja configurada, para que visualizações apenas de descoberta possam mostrar modelos indisponíveis até você adicionar credenciais correspondentes do provedor.
--localbooleanApenas provedores locais.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcHJvdmlkZXIgPGlk
" type="string">
Filtra por ID do provedor, por exemplo moonshot. Rótulos exibidos em seletores interativos não são aceitos.
--plainbooleanUm modelo por linha.
--jsonbooleanSaída legível por máquina.
models status
Mostra o modelo primário resolvido, fallbacks, modelo de imagem e uma visão geral de autenticação dos provedores configurados. Também exibe o status de expiração de OAuth para perfis encontrados no armazenamento de autenticação (avisa dentro de 24h por padrão). --plain imprime apenas o modelo primário resolvido.
Comportamento de autenticação e sondagem
- O status de OAuth é sempre mostrado (e incluído na saída
--json). Se um provedor configurado não tiver credenciais,models statusimprime uma seção Autenticação ausente. - JSON inclui
auth.oauth(janela de aviso + perfis) eauth.providers(autenticação efetiva por provedor, incluindo credenciais baseadas em env).auth.oauthé apenas a integridade de perfis do armazenamento de autenticação; provedores somente por env não aparecem ali. - Use
--checkpara automação (sai com1quando ausente/expirado,2quando estiver expirando). - Use
--probepara verificações de autenticação ao vivo; linhas de sondagem podem vir de perfis de autenticação, credenciais de env oumodels.json. - Se
auth.order.<provider>explícito omitir um perfil armazenado, a sondagem relataexcluded_by_auth_orderem vez de tentar usá-lo. Se a autenticação existir, mas nenhum modelo sondável puder ser resolvido para esse provedor, a sondagem relatastatus: no_model.
Exemplo (CLI do Claude):
claude auth loginopenclaw models statusVarredura (modelos gratuitos do OpenRouter)
openclaw models scan inspeciona o catálogo de modelos gratuitos do OpenRouter e pode, opcionalmente, sondar modelos para suporte a ferramentas e imagens.
--no-probebooleanPula sondagens ao vivo (apenas metadados).
"--min-params"--max-age-days"--provider"--max-candidates--set-defaultbooleanDefine agents.defaults.model.primary como a primeira seleção.
--set-imagebooleanDefine agents.defaults.imageModel.primary como a primeira seleção de imagem.
Os resultados da varredura são classificados por:
- Suporte a imagem
- Latência de ferramentas
- Tamanho de contexto
- Contagem de parâmetros
Entrada:
- Lista
/modelsdo OpenRouter (filtro:free) - Sondagens ao vivo exigem uma chave de API do OpenRouter de perfis de autenticação ou
OPENROUTER_API_KEY(veja Variáveis de ambiente) - Filtros opcionais:
--max-age-days,--min-params,--provider,--max-candidates - Controles de solicitação/sondagem:
--timeout,--concurrency
Quando sondagens ao vivo são executadas em um TTY, você pode selecionar fallbacks interativamente. No modo não interativo, passe --yes para aceitar os padrões. Resultados apenas de metadados são informativos; --set-default e --set-image exigem sondagens ao vivo para que o OpenClaw não configure um modelo OpenRouter sem chave e inutilizável.
Registro de modelos (models.json)
Provedores personalizados em models.providers são gravados em models.json no diretório do agente (padrão ~/.openclaw/agents/<agentId>/agent/models.json). Esse arquivo é mesclado por padrão, a menos que models.mode esteja definido como replace.
Precedência do modo de mesclagem
Precedência do modo de mesclagem para IDs de provedor correspondentes:
baseUrlnão vazio já presente nomodels.jsondo agente vence.apiKeynão vazio nomodels.jsondo agente vence somente quando esse provedor não é gerenciado por SecretRef no contexto atual de configuração/perfil de autenticação.- Valores de
apiKeyde provedor gerenciados por SecretRef são atualizados a partir de marcadores de origem (ENV_VAR_NAMEpara refs de env,secretref-managedpara refs de arquivo/exec) em vez de persistir segredos resolvidos. - Valores de cabeçalho de provedor gerenciados por SecretRef são atualizados a partir de marcadores de origem (
secretref-env:ENV_VAR_NAMEpara refs de env,secretref-managedpara refs de arquivo/exec). apiKey/baseUrldo agente vazios ou ausentes voltam paramodels.providersda configuração.- Outros campos do provedor são atualizados a partir da configuração e de dados de catálogo normalizados.
Relacionados
- Runtimes de agente — PI, Codex e outros runtimes de loop de agente
- Referência de configuração — chaves de configuração de modelo
- Geração de imagens — configuração de modelo de imagem
- Failover de modelo — cadeias de fallback
- Provedores de modelo — roteamento e autenticação de provedor
- Geração de música — configuração de modelo de música
- Geração de vídeo — configuração de modelo de vídeo