Concepts and configuration
CLI dei modelli
Rotazione dei profili di autenticazione, cooldown e come interagiscono con i fallback.
Panoramica rapida dei provider ed esempi.
PI, Codex e altri runtime del ciclo degli agenti.
Chiavi di configurazione dei modelli.
I riferimenti dei modelli scelgono un provider e un modello. Di solito non scelgono il runtime dell'agente di basso livello. Per esempio, openai/gpt-5.5 può essere eseguito tramite il normale percorso del provider OpenAI o tramite il runtime del server applicativo Codex, a seconda di agents.defaults.agentRuntime.id. In modalità runtime Codex, il riferimento openai/gpt-* non implica la fatturazione con chiave API; l'autenticazione può provenire da un account Codex o da un profilo di autenticazione openai-codex. Consulta Runtime degli agenti.
Come funziona la selezione del modello
OpenClaw seleziona i modelli in questo ordine:
Primary model
agents.defaults.model.primary (o agents.defaults.model).
Fallbacks
agents.defaults.model.fallbacks (in ordine).
Provider auth failover
Il failover dell'autenticazione avviene all'interno di un provider prima di passare al modello successivo.
Related model surfaces
agents.defaults.modelsè l'allowlist/catalogo dei modelli che OpenClaw può usare (più gli alias).agents.defaults.imageModelviene usato solo quando il modello principale non può accettare immagini.agents.defaults.pdfModelviene usato dallo strumentopdf. Se omesso, lo strumento usa come fallbackagents.defaults.imageModel, poi il modello risolto della sessione/predefinito.agents.defaults.imageGenerationModelviene usato dalla funzionalità condivisa di generazione immagini. Se omesso,image_generatepuò comunque dedurre un valore predefinito del provider supportato dall'autenticazione. Prova prima il provider predefinito corrente, poi i restanti provider registrati per la generazione immagini in ordine di ID provider. Se imposti un provider/modello specifico, configura anche l'autenticazione/chiave API di quel provider.agents.defaults.musicGenerationModelviene usato dalla funzionalità condivisa di generazione musicale. Se omesso,music_generatepuò comunque dedurre un valore predefinito del provider supportato dall'autenticazione. Prova prima il provider predefinito corrente, poi i restanti provider registrati per la generazione musicale in ordine di ID provider. Se imposti un provider/modello specifico, configura anche l'autenticazione/chiave API di quel provider.agents.defaults.videoGenerationModelviene usato dalla funzionalità condivisa di generazione video. Se omesso,video_generatepuò comunque dedurre un valore predefinito del provider supportato dall'autenticazione. Prova prima il provider predefinito corrente, poi i restanti provider registrati per la generazione video in ordine di ID provider. Se imposti un provider/modello specifico, configura anche l'autenticazione/chiave API di quel provider.- Le impostazioni predefinite per agente possono sovrascrivere
agents.defaults.modeltramiteagents.list[].modelpiù i binding (consulta Instradamento multi-agente).
Origine della selezione e comportamento di fallback
Lo stesso provider/model può significare cose diverse a seconda della provenienza:
- Le impostazioni predefinite configurate (
agents.defaults.model.primarye i modelli principali specifici dell'agente) sono il normale punto di partenza e usanoagents.defaults.model.fallbacks. - Le selezioni di fallback automatico sono uno stato di recupero temporaneo. Sono archiviate con
modelOverrideSource: "auto"in modo che i turni successivi possano continuare a usare la catena di fallback senza sondare prima un modello principale noto come non funzionante. - Le selezioni della sessione utente sono esatte.
/model, il selettore di modello,session_status(model=...)esessions.patcharchivianomodelOverrideSource: "user"; se il provider/modello selezionato non è raggiungibile, OpenClaw fallisce in modo visibile invece di proseguire con un altro modello configurato. - Cron
--model/ payloadmodelè un modello principale per job. Usa comunque i fallback configurati, a meno che il job non forniscafallbacksespliciti nel payload (usafallbacks: []per un'esecuzione cron rigorosa). - I selettori del modello predefinito CLI e dell'allowlist rispettano
models.mode: "replace"elencando imodels.providers.*.modelsespliciti invece di caricare l'intero catalogo integrato. - Il selettore di modelli della Control UI chiede al Gateway la vista dei modelli configurata:
agents.defaults.modelsquando presente, altrimentimodels.providers.*.modelsespliciti più i provider con autenticazione utilizzabile. Il catalogo integrato completo è riservato alle viste di esplorazione esplicite comemodels.listconview: "all"oopenclaw models list --all.
Policy rapida dei modelli
- Imposta come principale il modello di ultima generazione più potente a tua disposizione.
- Usa i fallback per attività sensibili a costo/latenza e chat a basso rischio.
- Per agenti con strumenti abilitati o input non attendibili, evita livelli di modello più vecchi/deboli.
Onboarding (consigliato)
Se non vuoi modificare la configurazione a mano, esegui l'onboarding:
openclaw onboard
Può configurare modello + autenticazione per provider comuni, inclusi OpenAI Code (Codex) subscription (OAuth) e Anthropic (chiave API o Claude CLI).
Chiavi di configurazione (panoramica)
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 + alias + parametri del provider)models.providers(provider personalizzati scritti inmodels.json)
Modifiche sicure dell'allowlist
Usa scritture additive quando aggiorni agents.defaults.models a mano:
openclaw config set agents.defaults.models '{"openai/gpt-5.4":{}}' --strict-json --merge
Clobber protection rules
openclaw config set protegge le mappe di modelli/provider da sovrascritture accidentali. Un'assegnazione di oggetto semplice a agents.defaults.models, models.providers o models.providers.<id>.models viene rifiutata quando rimuoverebbe voci esistenti. Usa --merge per modifiche additive; usa --replace solo quando il valore fornito deve diventare il valore di destinazione completo.
La configurazione interattiva dei provider e openclaw configure --section model uniscono anche le selezioni con ambito provider nell'allowlist esistente, quindi aggiungere Codex, Ollama o un altro provider non elimina voci di modelli non correlate. Configure conserva un agents.defaults.model.primary esistente quando l'autenticazione del provider viene riapplicata. I comandi espliciti di impostazione predefinita come openclaw models auth login --provider <id> --set-default e openclaw models set <model> sostituiscono comunque agents.defaults.model.primary.
"Il modello non è consentito" (e perché le risposte si fermano)
Se agents.defaults.models è impostato, diventa l'allowlist per /model e per le sovrascritture di sessione. Quando un utente seleziona un modello che non è in quell'allowlist, OpenClaw restituisce:
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 il comando rifiutato includeva una sovrascrittura del runtime come /model openai/gpt-5.5 --runtime codex, correggi prima l'allowlist, poi riprova lo stesso comando /model ... --runtime .... Per l'esecuzione Codex nativa, il modello selezionato è ancora openai/gpt-5.5; il runtime codex seleziona l'harness e usa separatamente l'autenticazione Codex.
Per i modelli locali/GGUF, archivia nell'allowlist il riferimento completo con prefisso provider,
per esempio ollama/gemma4:26b, lmstudio/Gemma4-26b-a4-it-gguf o il
provider/modello esatto mostrato da openclaw models list --provider <provider>.
I nomi di file locali semplici o i nomi visualizzati non bastano quando l'allowlist è
attiva.
Esempio di configurazione dell'allowlist:
{
agent: {
model: { primary: "anthropic/claude-sonnet-4-6" },
models: {
"anthropic/claude-sonnet-4-6": { alias: "Sonnet" },
"anthropic/claude-opus-4-6": { alias: "Opus" },
},
},
}
Cambiare modelli in chat (/model)
Puoi cambiare modello per la sessione corrente senza riavviare:
/model
/model list
/model 3
/model openai/gpt-5.4
/model status
Picker behavior
/model(e/model list) è un selettore compatto e numerato (famiglia di modelli + provider disponibili).- Su Discord,
/modele/modelsaprono un selettore interattivo con menu a discesa per provider e modello più un passaggio Submit. - Su Telegram, le selezioni del selettore
/modelshanno ambito di sessione; non modificano il valore predefinito persistente dell'agente inopenclaw.json. /models addè deprecato e ora restituisce un messaggio di deprecazione invece di registrare modelli dalla chat./model <#>seleziona da quel selettore.
Persistence and live switching
/modelpersiste immediatamente la nuova selezione di sessione.- Se l'agente è inattivo, l'esecuzione successiva usa subito il nuovo modello.
- Se un'esecuzione è già attiva, OpenClaw contrassegna un cambio live come in sospeso e riavvia nel nuovo modello solo in un punto di retry pulito.
- Se l'attività degli strumenti o l'output della risposta sono già iniziati, il cambio in sospeso può restare in coda fino a una successiva opportunità di retry o al prossimo turno utente.
- Un riferimento
/modelselezionato dall'utente è rigoroso per quella sessione: se il provider/modello selezionato non è raggiungibile, la risposta fallisce in modo visibile invece di rispondere silenziosamente daagents.defaults.model.fallbacks. Questo è diverso dalle impostazioni predefinite configurate e dai modelli principali dei job cron, che possono ancora usare catene di fallback. /model statusè la vista dettagliata (candidati di autenticazione e, quando configurati, endpoint providerbaseUrl+ modalitàapi).
Ref parsing
- I riferimenti dei modelli vengono analizzati dividendo sulla prima
/. Usaprovider/modelquando digiti/model <ref>. - Se l'ID del modello stesso contiene
/(stile OpenRouter), devi includere il prefisso del provider (esempio:/model openrouter/moonshotai/kimi-k2). - Se ometti il provider, OpenClaw risolve l'input in questo ordine:
- corrispondenza dell'alias
- corrispondenza univoca del provider configurato per quell'ID modello esatto senza prefisso
- fallback deprecato al provider predefinito configurato — se quel provider non espone più il modello predefinito configurato, OpenClaw ripiega invece sul primo provider/modello configurato per evitare di esporre un valore predefinito obsoleto di un provider rimosso.
Comportamento/configurazione completa dei comandi: Comandi slash.
Comandi 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 (senza sottocomando) è una scorciatoia per models status.
models list
Mostra per impostazione predefinita i modelli configurati/disponibili per l'autenticazione. Flag utili:
--allbooleanCatalogo completo. Include le righe del catalogo statico in bundle di proprietà del provider prima che l'autenticazione sia configurata, così le viste di sola scoperta possono mostrare modelli non disponibili finché non aggiungi le credenziali del provider corrispondente.
--localbooleanSolo provider locali.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcHJvdmlkZXIgPGlk
" type="string">
Filtra per ID provider, ad esempio moonshot. Le etichette visualizzate dai selettori interattivi non sono accettate.
--plainbooleanUn modello per riga.
--jsonbooleanOutput leggibile dalla macchina.
models status
Mostra il modello primario risolto, i fallback, il modello immagine e una panoramica dell'autenticazione dei provider configurati. Mostra anche lo stato di scadenza OAuth per i profili trovati nell'archivio di autenticazione (avvisa entro 24h per impostazione predefinita). --plain stampa solo il modello primario risolto.
Comportamento di autenticazione e probe
- Lo stato OAuth viene sempre mostrato (e incluso nell'output
--json). Se un provider configurato non ha credenziali,models statusstampa una sezione Autenticazione mancante. - JSON include
auth.oauth(finestra di avviso + profili) eauth.providers(autenticazione effettiva per provider, incluse le credenziali basate su env).auth.oauthriguarda solo l'integrità dei profili nell'archivio di autenticazione; i provider solo env non compaiono lì. - Usa
--checkper l'automazione (exit1quando mancante/scaduto,2quando in scadenza). - Usa
--probeper controlli di autenticazione live; le righe probe possono provenire da profili di autenticazione, credenziali env omodels.json. - Se
auth.order.<provider>esplicito omette un profilo salvato, il probe segnalaexcluded_by_auth_orderinvece di provarlo. Se l'autenticazione esiste ma non è possibile risolvere alcun modello testabile per quel provider, il probe segnalastatus: no_model.
Esempio (Claude CLI):
claude auth login
openclaw models status
Scansione (modelli gratuiti OpenRouter)
openclaw models scan ispeziona il catalogo dei modelli gratuiti di OpenRouter e può opzionalmente sondare i modelli per supporto a strumenti e immagini.
--no-probebooleanSalta i probe live (solo metadati).
"--min-params"--max-age-days"--provider"--max-candidates--set-defaultbooleanImposta agents.defaults.model.primary sulla prima selezione.
--set-imagebooleanImposta agents.defaults.imageModel.primary sulla prima selezione immagine.
I risultati della scansione sono classificati per:
- Supporto immagini
- Latenza degli strumenti
- Dimensione del contesto
- Numero di parametri
Input:
- Elenco
/modelsdi OpenRouter (filtro:free) - I probe live richiedono una chiave API OpenRouter da profili di autenticazione o
OPENROUTER_API_KEY(vedi Variabili d'ambiente) - Filtri opzionali:
--max-age-days,--min-params,--provider,--max-candidates - Controlli richiesta/probe:
--timeout,--concurrency
Quando i probe live vengono eseguiti in una TTY, puoi selezionare i fallback interattivamente. In modalità non interattiva, passa --yes per accettare i valori predefiniti. I risultati solo metadati sono informativi; --set-default e --set-image richiedono probe live così OpenClaw non configura un modello OpenRouter senza chiave e inutilizzabile.
Registro dei modelli (models.json)
I provider personalizzati in models.providers vengono scritti in models.json sotto la directory dell'agente (predefinita ~/.openclaw/agents/<agentId>/agent/models.json). Questo file viene unito per impostazione predefinita, a meno che models.mode sia impostato su replace.
Precedenza della modalità di merge
Precedenza della modalità di merge per ID provider corrispondenti:
- Vince un
baseUrlnon vuoto già presente inmodels.jsondell'agente. - Vince un
apiKeynon vuoto inmodels.jsondell'agente solo quando quel provider non è gestito da SecretRef nel contesto corrente di configurazione/profilo di autenticazione. - I valori
apiKeydei provider gestiti da SecretRef vengono aggiornati dai marker di origine (ENV_VAR_NAMEper riferimenti env,secretref-managedper riferimenti file/exec) invece di persistere segreti risolti. - I valori header dei provider gestiti da SecretRef vengono aggiornati dai marker di origine (
secretref-env:ENV_VAR_NAMEper riferimenti env,secretref-managedper riferimenti file/exec). apiKey/baseUrldell'agente vuoti o mancanti ricadono sumodels.providersdella configurazione.- Gli altri campi del provider vengono aggiornati dalla configurazione e dai dati normalizzati del catalogo.
Correlati
- Runtime agenti — PI, Codex e altri runtime di loop agenti
- Riferimento configurazione — chiavi di configurazione dei modelli
- Generazione di immagini — configurazione del modello immagine
- Failover dei modelli — catene di fallback
- Provider di modelli — routing e autenticazione dei provider
- Generazione musicale — configurazione del modello musicale
- Generazione video — configurazione del modello video