Concepts and configuration
CLI de Modelos
Rotação de perfis 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.
Refs de modelo escolhem um provedor e um modelo. Normalmente, eles não escolhem o runtime de agente de baixo nível. Por exemplo, openai/gpt-5.5 pode executar pelo caminho normal do provedor OpenAI ou pelo runtime do app-server do Codex, dependendo de agents.defaults.agentRuntime.id. 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 do perfil de autenticação openai-codex. Veja Runtimes de agentes.
Como a seleção de modelo funciona
O OpenClaw seleciona modelos nesta ordem:
Modelo primário
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 allowlist/catálogo de modelos que o OpenClaw pode usar (mais aliases).agents.defaults.imageModelé usado somente quando o modelo primário 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 do 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 do 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 do 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 vinculações (veja 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 primários específicos de agente) são o ponto de partida normal e usamagents.defaults.model.fallbacks. - Seleções de fallback automáticas 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 primário sabidamente ruim. - Seleções de sessão do usuário são exatas.
/model, o seletor de modelos,session_status(model=...)esessions.patcharmazenammodelOverrideSource: "user"; se esse provedor/modelo selecionado estiver inacessível, o OpenClaw falha de forma visível em vez de cair para outro modelo configurado. - Cron
--model/ payloadmodelé um primário por job. Ele ainda usa fallbacks configurados, a menos que o job forneçafallbacksexplícitos no payload (usefallbacks: []para uma execução de cron estrita). - Os seletores de modelo padrão e allowlist da CLI respeitam
models.mode: "replace"listandomodels.providers.*.modelsexplícitos em vez de carregar todo o catálogo integrado. - O seletor de modelos da Control UI pede ao Gateway a visão configurada de modelos:
agents.defaults.modelsquando presente; caso contrário,models.providers.*.modelsexplícitos mais provedores com autenticação utilizável. O catálogo integrado completo é reservado para visões de navegação explícitas, comomodels.listcomview: "all"ouopenclaw models list --all.
Política rápida de modelos
- Defina seu primário como o modelo de geração mais recente mais forte 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 onboard
Ele 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(allowlist + aliases + parâmetros de provedor)models.providers(provedores personalizados gravados emmodels.json)
Edições seguras da allowlist
Use gravações aditivas ao atualizar agents.defaults.models manualmente:
openclaw config set agents.defaults.models '{"openai/gpt-5.4":{}}' --strict-json --merge
Regras de proteção contra sobrescrita
openclaw config set protege mapas de modelo/provedor contra sobrescritas acidentais. Uma atribuição simples de objeto para 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 completo do alvo.
A configuração interativa de provedor e openclaw configure --section model também mesclam seleções no escopo do provedor à allowlist existente, então 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 allowlist para /model e para substituições de sessão. Quando um usuário seleciona um modelo que não está nessa allowlist, 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 --merge
Quando o comando rejeitado incluía uma substituição de runtime, como /model openai/gpt-5.5 --runtime codex, corrija primeiro a allowlist 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 do Codex separadamente.
Para modelos locais/GGUF, armazene a ref completa com prefixo de provedor na allowlist,
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 arquivos locais simples ou nomes de exibição não são suficientes quando a allowlist está
ativa.
Exemplo de configuração de allowlist:
{
agent: {
model: { primary: "anthropic/claude-sonnet-4-6" },
models: {
"anthropic/claude-sonnet-4-6": { alias: "Sonnet" },
"anthropic/claude-opus-4-6": { alias: "Opus" },
},
},
}
Alternando modelos no chat (/model)
Você pode alternar modelos para a sessão atual sem reiniciar:
/model
/model list
/model 3
/model openai/gpt-5.4
/model status
Comportamento do seletor
/model(e/model list) é um seletor compacto e numerado (família de modelo + provedores disponíveis).- No Discord,
/modele/modelsabrem um seletor interativo com dropdowns de provedor e modelo, além de uma etapa de envio. - No Telegram, as seleções do seletor
/modelssão no escopo da 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 alternância ao vivo
/modelpersiste a nova seleção de sessão imediatamente.- 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 alternância 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 alternância pendente pode ficar enfileirada até uma oportunidade de nova tentativa posterior ou 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 é diferente dos padrões configurados e dos primários de jobs cron, que ainda podem usar cadeias de fallback. /model statusé a visão detalhada (candidatos de autenticação e, quando configurado, endpoint do provedorbaseUrl+ modoapi).
Análise de ref
- Refs de modelo são analisadas dividindo na primeira
/. Useprovider/modelao digitar/model <ref>. - Se o próprio ID do modelo 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 recorre ao primeiro provedor/modelo configurado para evitar expor um padrão obsoleto de provedor removido.
Comportamento/configuração completa do comando: Comandos de barra.
Comandos da 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 (sem subcomando) é um atalho para models status.
models list
Mostra modelos configurados/com autenticação disponível por padrão. Flags úteis:
--allbooleanCatálogo completo. Inclui linhas de catálogo estático pertencentes a provedores incluídos antes de a autenticação ser configurada, para que visualizações apenas de descoberta possam mostrar modelos indisponíveis até você adicionar credenciais de provedor correspondentes.
--localbooleanApenas provedores locais.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcHJvdmlkZXIgPGlk
" type="string">
Filtre por id do provedor, por exemplo moonshot. Rótulos exibidos por 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 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 OAuth é sempre mostrado (e incluído na saída de
--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 vindas do ambiente).auth.oauthé apenas a integridade de perfis do armazenamento de autenticação; provedores somente de ambiente não aparecem ali. - Use
--checkpara automação (saída1quando ausente/expirado,2quando estiver prestes a expirar). - Use
--probepara verificações de autenticação ao vivo; linhas de sondagem podem vir de perfis de autenticação, credenciais de ambiente oumodels.json. - Se
auth.order.<provider>explícito omitir um perfil armazenado, a sondagem relataexcluded_by_auth_orderem vez de tentar usá-lo. Se houver autenticação, mas nenhum modelo sondável puder ser resolvido para esse provedor, a sondagem relatastatus: no_model.
Exemplo (Claude CLI):
claude auth login
openclaw models status
Varredura (modelos gratuitos do OpenRouter)
openclaw models scan inspeciona o catálogo de modelos gratuitos do OpenRouter e pode opcionalmente sondar modelos quanto a suporte a ferramentas e imagens.
--no-probebooleanPule sondagens ao vivo (somente metadados).
"--min-params"--max-age-days"--provider"--max-candidates--set-defaultbooleanDefina agents.defaults.model.primary para a primeira seleção.
--set-imagebooleanDefina agents.defaults.imageModel.primary para a primeira seleção de imagem.
Os resultados da varredura são classificados por:
- Suporte a imagem
- Latência de ferramenta
- Tamanho do contexto
- Contagem de parâmetros
Entrada:
- Lista
/modelsdo OpenRouter (filtro:free) - Sondagens ao vivo exigem 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 uma TUI, você pode selecionar fallbacks interativamente. No modo não interativo, passe --yes para aceitar os padrões. Resultados somente 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 seja 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 apenas quando esse provedor não é gerenciado por SecretRef no contexto atual de configuração/perfil de autenticação.- Valores de
apiKeyde provedores gerenciados por SecretRef são atualizados a partir de marcadores de origem (ENV_VAR_NAMEpara referências de ambiente,secretref-managedpara referências de arquivo/exec), em vez de persistir segredos resolvidos. - Valores de cabeçalho de provedores gerenciados por SecretRef são atualizados a partir de marcadores de origem (
secretref-env:ENV_VAR_NAMEpara referências de ambiente,secretref-managedpara referências de arquivo/exec). apiKey/baseUrlvazios ou ausentes no agente recorrem amodels.providersda configuração.- Outros campos de provedor são atualizados a partir da configuração e dos dados normalizados do catálogo.
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 imagem — configuração de modelo de imagem
- Failover de modelo — cadeias de fallback
- Provedores de modelo — roteamento e autenticação de provedores
- Geração de música — configuração de modelo de música
- Geração de vídeo — configuração de modelo de vídeo