FAQ
Domande frequenti: modelli e autenticazione
Domande e risposte su modelli e profili di autenticazione. Per configurazione, sessioni, Gateway, canali e risoluzione dei problemi, consulta le domande frequenti principali.
Modelli: impostazioni predefinite, selezione, alias e cambio
Che cos
Si imposta con:
agents.defaults.model.primaryI modelli sono riferimenti provider/model (esempio: openai/gpt-5.5,
anthropic/claude-sonnet-4-6). Imposta sempre provider/model in modo esplicito. Se
ometti il provider, OpenClaw tenta prima una corrispondenza con un alias, poi una
corrispondenza univoca tra i provider configurati per quell'ID modello, quindi
utilizza il provider predefinito configurato (percorso di compatibilità
deprecato). Se quel provider non dispone più del modello predefinito configurato,
OpenClaw utilizza il primo provider/modello configurato invece di un'impostazione
predefinita obsoleta.
Quale modello consigliate?
Usa il modello più potente e di ultima generazione offerto dal tuo insieme di provider, soprattutto per gli agenti che utilizzano strumenti o ricevono input non attendibili: i modelli meno potenti o eccessivamente quantizzati sono più vulnerabili alla prompt injection e a comportamenti non sicuri (consulta Sicurezza). Assegna i modelli più economici alle conversazioni ordinarie o a basso rischio in base al ruolo dell'agente.
Assegna i modelli per agente e usa sotto-agenti per parallelizzare le attività lunghe (ogni sotto-agente consuma i propri token). Consulta Modelli, Sotto-agenti, MiniMax e Modelli locali.
Come posso cambiare modello senza cancellare la configurazione?
Modifica soltanto i campi del modello, evitando di sostituire l'intera configurazione.
/modelnella chat (per sessione; consulta Comandi slash)openclaw models set ...(aggiorna soltanto la configurazione del modello)openclaw configure --section model(interattivo)- modifica direttamente
agents.defaults.modelin~/.openclaw/openclaw.json
Per le modifiche tramite RPC, esamina prima con config.schema.lookup (percorso
normalizzato, documentazione sintetica dello schema e riepiloghi degli elementi
figli), quindi preferisci config.patch a config.apply con un oggetto parziale.
Se hai sovrascritto la configurazione, ripristinala dal backup oppure esegui
openclaw doctor per correggerla.
Documentazione: Modelli, Configurazione, Configurazione, Doctor.
Posso usare modelli in hosting autonomo (llama.cpp, vLLM, Ollama)?
Sì: Ollama è il percorso più semplice. Configurazione rapida:
- Installa Ollama da
https://ollama.com/download - Scarica un modello locale, ad esempio
ollama pull gemma4 - Per usare anche i modelli cloud, esegui
ollama signin - Esegui
openclaw onboard, scegliOllama, quindiLocaloCloud + Local
Cloud + Local offre i modelli cloud insieme ai tuoi modelli Ollama locali;
i modelli cloud come kimi-k2.5:cloud non richiedono alcun download locale. Per
cambiare modello manualmente: openclaw models list, quindi
openclaw models set ollama/<model>.
I modelli più piccoli o fortemente quantizzati sono più vulnerabili alla prompt injection. Usa modelli di grandi dimensioni per qualsiasi bot che abbia accesso agli strumenti; se usi comunque modelli piccoli, abilita il sandboxing ed elenchi rigorosi degli strumenti consentiti.
Documentazione: Ollama, Modelli locali, Provider di modelli, Sicurezza, Sandboxing.
Come posso cambiare modello al volo (senza riavviare)?
Invia /model <name> come messaggio autonomo. Consulta
Comandi slash per l'elenco completo dei comandi,
incluso il selettore numerato (/model, /model list, /model 3),
/model default per rimuovere una sostituzione specifica della sessione e
/model status per i dettagli sull'endpoint e sulla modalità API.
Forza uno specifico profilo di autenticazione per sessione con @profile:
/model opus@anthropic:default/model opus@anthropic:workPer rimuovere il vincolo a un profilo impostato con @profile, esegui nuovamente
/model senza il suffisso (ad esempio /model anthropic/claude-opus-4-6) oppure
scegli il valore predefinito da /model. Usa /model status per confermare il
profilo di autenticazione attivo.
Se due provider espongono lo stesso ID modello, quale viene usato da /model?
/model provider/model seleziona esattamente il percorso di quel provider. Ad
esempio, qianfan/deepseek-v4-flash e deepseek/deepseek-v4-flash sono
riferimenti diversi anche se l'ID modello coincide: OpenClaw non cambia
silenziosamente provider in base alla corrispondenza del solo ID.
Un riferimento /model selezionato dall'utente applica regole rigorose per il
fallback: se quel provider/modello diventa indisponibile, la risposta non riesce
in modo visibile invece di utilizzare agents.defaults.model.fallbacks. Le
catene di fallback configurate continuano ad applicarsi alle impostazioni
predefinite configurate, ai modelli primari dei processi Cron e allo stato di
fallback selezionato automaticamente. Quando un'esecuzione senza sostituzione
specifica della sessione può utilizzare il fallback, OpenClaw tenta prima il
provider/modello richiesto, poi i fallback configurati e infine il modello
primario configurato; in questo modo gli ID modello semplici duplicati non
ritornano direttamente al provider predefinito.
Consulta Modelli e Failover dei modelli.
Posso usare GPT 5.5 per le attività quotidiane e Codex 5.5 per la programmazione?
Sì: la scelta del modello e quella del runtime sono separate:
- Agente di programmazione Codex nativo: imposta
agents.defaults.model.primarysuopenai/gpt-5.5. Accedi conopenclaw models auth login --provider openaiper l'autenticazione tramite abbonamento ChatGPT/Codex. - Attività dirette dell'API OpenAI esterne al ciclo dell'agente: configura
OPENAI_API_KEYper immagini, embedding, sintesi vocale, comunicazioni in tempo reale e altre funzionalità dell'API OpenAI non relative agli agenti. - Autenticazione dell'agente OpenAI tramite chiave API:
/model openai/gpt-5.5con un profilo di chiavi APIopenaiordinato. - Sotto-agenti: assegna le attività di programmazione a un agente incentrato
su Codex con il proprio modello
openai/gpt-5.5.
Consulta Modelli e Comandi slash.
Come configuro la modalità rapida per GPT 5.5?
- Per sessione: invia
/fast onmentre usiopenai/gpt-5.5. - Impostazione predefinita per modello: imposta
agents.defaults.models["openai/gpt-5.5"].params.fastModesutrue. - Limite automatico:
/fast autooparams.fastMode: "auto"esegue rapidamente le nuove chiamate al modello fino al limite, quindi esegue senza modalità rapida i successivi tentativi, fallback, chiamate con risultati degli strumenti o continuazioni. Il limite predefinito è 60 secondi; puoi sovrascriverlo conparams.fastAutoOnSecondssul modello.
{ agents: { defaults: { models: { "openai/gpt-5.5": { params: { fastMode: "auto", fastAutoOnSeconds: 30, }, }, }, }, },}La modalità rapida corrisponde a service_tier = "priority" nelle richieste
native OpenAI Responses; i valori service_tier esistenti vengono mantenuti e
la modalità rapida non modifica reasoning o text.verbosity. Le sostituzioni
/fast della sessione hanno la precedenza sulle impostazioni predefinite della
configurazione.
Consulta Ragionamento e modalità rapida e la sezione sulla modalità rapida nella configurazione avanzata della pagina del provider OpenAI.
Perché vedo "Model ... is not allowed" e poi non ricevo alcuna risposta?
Se agents.defaults.models è impostato, diventa l'elenco consentito per
/model e per le sostituzioni specifiche della sessione. Selezionare un modello
esterno a tale elenco restituisce quanto segue invece di una risposta normale:
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 --mergeSoluzione: aggiungi il modello esatto ad agents.defaults.models, aggiungi un
carattere jolly del provider come "provider/*": {} per i cataloghi dinamici,
rimuovi l'elenco consentito oppure scegli un modello da /model list. Se il
comando includeva anche --runtime codex, aggiorna prima l'elenco consentito,
quindi ripeti lo stesso comando /model provider/model --runtime codex.
Perché vedo "Unknown model: minimax/MiniMax-M3"?
Se usi una versione precedente di OpenClaw, esegui prima l'aggiornamento (oppure
avvia dal sorgente main) e riavvia il Gateway: MiniMax-M3 potrebbe non essere
ancora presente nel catalogo della versione installata. In caso contrario, il
provider MiniMax non è configurato (non è stata trovata alcuna voce del provider
né alcun profilo di autenticazione), quindi il modello non può essere risolto.
Consulta la sezione sulla risoluzione dei problemi nella pagina del provider
MiniMax per l'elenco completo delle verifiche, la tabella
degli ID provider/modello e un esempio di blocco di configurazione.
Posso usare MiniMax come modello predefinito e OpenAI per le attività complesse?
Sì. Usa MiniMax come modello predefinito e cambia modello per sessione: i
fallback servono per gli errori, non per le "attività difficili", quindi usa
/model o un agente separato.
Opzione A: cambio per sessione
{ env: { MINIMAX_API_KEY: "sk-...", OPENAI_API_KEY: "sk-..." }, agents: { defaults: { model: { primary: "minimax/MiniMax-M3" }, models: { "minimax/MiniMax-M3": { alias: "minimax" }, "openai/gpt-5.5": { alias: "gpt" }, }, }, },}Quindi esegui /model gpt.
Opzione B: agenti separati — L'agente A usa MiniMax come impostazione
predefinita, mentre l'agente B usa OpenAI; instrada in base all'agente oppure usa
/agent per cambiare.
Documentazione: Modelli, Instradamento multi-agente, MiniMax, OpenAI.
opus / sonnet / gpt sono scorciatoie integrate?
Sì: sono abbreviazioni integrate, applicate soltanto quando il modello di
destinazione esiste in agents.defaults.models:
| Alias | Viene risolto in |
|---|---|
opus |
anthropic/claude-opus-4-8 |
sonnet |
anthropic/claude-sonnet-4-6 |
gpt |
openai/gpt-5.4 |
gpt-mini |
openai/gpt-5.4-mini |
gpt-nano |
openai/gpt-5.4-nano |
gemini |
google/gemini-3.1-pro-preview |
gemini-flash |
google/gemini-3-flash-preview |
gemini-flash-lite |
google/gemini-3.1-flash-lite |
Un tuo alias con lo stesso nome sostituisce quello integrato.
Come definisco o sostituisco le scorciatoie dei modelli (alias)?
Gli alias si trovano in agents.defaults.models.<modelId>.alias:
{ agents: { defaults: { model: { primary: "anthropic/claude-opus-4-6" }, models: { "anthropic/claude-opus-4-6": { alias: "opus" }, "anthropic/claude-sonnet-4-6": { alias: "sonnet" }, }, }, },}A questo punto /model sonnet (oppure /<alias>, quando supportato) viene
risolto nell'ID di quel modello.
Come aggiungo modelli di altri provider, come OpenRouter o Z.AI?
OpenRouter (pagamento per token; molti modelli):
{ agents: { defaults: { model: { primary: "openrouter/anthropic/claude-sonnet-4-6" }, models: { "openrouter/anthropic/claude-sonnet-4-6": {} }, }, }, env: { OPENROUTER_API_KEY: "sk-or-..." },}Z.AI (modelli GLM):
{ agents: { defaults: { model: { primary: "zai/glm-5.1" }, models: { "zai/glm-5.1": {} }, }, }, env: { ZAI_API_KEY: "..." },}L'assenza della chiave di un provider per un provider/modello referenziato
genera un errore di autenticazione in fase di esecuzione (ad esempio
No API key found for provider "zai").
Nessuna chiave API trovata per il provider dopo l'aggiunta di un nuovo agente
Un nuovo agente dispone di un archivio di autenticazione vuoto: l'autenticazione è specifica per agente ed è archiviata in:
~/.openclaw/agents/<agentId>/agent/auth-profiles.jsonCorrezione: esegui openclaw agents add <id> e configura l'autenticazione nella procedura guidata, oppure
copia dall'archivio dell'agente principale solo i profili statici portabili
api_key/token. Per OAuth, accedi dal nuovo agente quando necessita di un
proprio account. Consulta Instradamento multi-agente per
le regole complete sul riutilizzo di agentDir e sulla condivisione delle credenziali:
non riutilizzare mai agentDir tra agenti.
Failover dei modelli e "Tutti i modelli non hanno funzionato"
Come funziona il failover?
Due fasi:
- Rotazione dei profili di autenticazione all'interno dello stesso provider.
- Fallback del modello al modello successivo in
agents.defaults.model.fallbacks.
Ai profili che non funzionano vengono applicati periodi di attesa (backoff esponenziale), così OpenClaw continua a rispondere quando un provider applica limiti di frequenza o presenta problemi temporanei.
La categoria dei limiti di frequenza include più del semplice 429: Too many concurrent requests, ThrottlingException, concurrency limit reached, workers_ai ... quota limit exceeded, resource exhausted e i limiti periodici
delle finestre di utilizzo (weekly/monthly limit reached) sono tutti considerati
limiti di frequenza che giustificano il failover.
Le risposte relative alla fatturazione non sono sempre 402 e alcuni 402 rimangono
nella categoria transitoria/dei limiti di frequenza anziché in quella della fatturazione.
Un testo esplicito relativo alla fatturazione in un 401/403 può comunque essere
instradato alla categoria della fatturazione; i criteri testuali specifici del provider
(ad esempio Key limit exceeded di OpenRouter) restano limitati al rispettivo provider.
Un 402 che sembra indicare una finestra di utilizzo ritentabile o un limite di spesa
dell'organizzazione/area di lavoro (daily limit reached, resets tomorrow,
organization spending limit exceeded) viene trattato come rate_limit, non come
una disabilitazione prolungata per motivi di fatturazione.
Gli errori di superamento del contesto restano completamente esclusi dal percorso di
fallback: firme come request_too_large, input exceeds the maximum number of tokens,
input token count exceeds the maximum number of input tokens, input is too long for the model o ollama error: context length exceeded vengono indirizzate
alla Compaction e a un nuovo tentativo, anziché passare al modello di fallback successivo.
Il testo generico degli errori del server è interpretato in modo più restrittivo rispetto
a "qualsiasi cosa contenga unknown/error". Le forme transitorie specifiche del provider
che vengono considerate segnali di failover includono: il semplice An unknown error occurred
di Anthropic, il semplice Provider returned error di OpenRouter, errori relativi al motivo
di arresto come Unhandled stop reason: error, payload JSON api_error con testo transitorio
del server (internal server error, unknown error, 520, upstream error, backend error)
ed errori di provider occupato come ModelNotReadyException quando il contesto del provider
corrisponde. Il testo generico di fallback interno come LLM request failed with an unknown error. viene gestito in modo prudente e, da solo, non attiva il fallback.
Cosa significa "No credentials found for profile anthropic:default"?
L'ID del profilo di autenticazione anthropic:default non contiene credenziali
nell'archivio di autenticazione previsto.
Elenco di controllo per la correzione:
- Verifica dove si trovano i profili: percorso attuale:
~/.openclaw/agents/<agentId>/agent/auth-profiles.json; percorso precedente:~/.openclaw/agent/*(migrato daopenclaw doctor). - Verifica che il Gateway carichi la variabile di ambiente.
ANTHROPIC_API_KEYimpostata solo nella shell non raggiungerà un Gateway eseguito tramite systemd/launchd: inseriscila in~/.openclaw/.envoppure abilitaenv.shellEnv. - Verifica di modificare l'agente corretto: le configurazioni multi-agente contengono
più file
auth-profiles.json. - Esegui
openclaw models statusper visualizzare i modelli configurati e lo stato dell'autenticazione del provider.
Per "No credentials found for profile anthropic" (senza suffisso e-mail):
L'esecuzione è vincolata a un profilo Anthropic che il Gateway non riesce a trovare.
-
Usa la CLI di Claude: esegui
openclaw models auth login --provider anthropic --method cli --set-defaultsull'host del Gateway. -
In alternativa, preferisci una chiave API: inserisci
ANTHROPIC_API_KEYin~/.openclaw/.envsull'host del Gateway, quindi rimuovi qualsiasi ordine vincolato che imponga il profilo mancante:bash openclaw models auth order clear --provider anthropic -
Modalità remota: i profili di autenticazione si trovano sulla macchina del Gateway, non sul portatile; verifica di eseguire lì i comandi.
Perché ha provato anche Google Gemini senza riuscirci?
Se la configurazione dei modelli include Google Gemini come fallback (oppure hai
selezionato una forma abbreviata di Gemini), OpenClaw lo prova durante il fallback.
Se non sono configurate credenziali Google, viene restituito No API key found for provider "google". Correzione: aggiungi l'autenticazione Google oppure rimuovi i modelli Google
da agents.defaults.model.fallbacks/dagli alias.
Richiesta LLM rifiutata: firma di ragionamento obbligatoria (Google Antigravity)
Causa: la cronologia della sessione contiene blocchi di ragionamento privi di firma
(spesso provenienti da uno stream interrotto o parziale); Google Antigravity richiede
firme nei blocchi di ragionamento. OpenClaw rimuove i blocchi di ragionamento non firmati
per Google Antigravity Claude; se il problema persiste, avvia una nuova sessione oppure
imposta /thinking off per quell'agente.
Profili di autenticazione: cosa sono e come gestirli
Correlato: /concepts/oauth (flussi OAuth, archiviazione dei token, modelli con più account)
Che cos'è un profilo di autenticazione?
Un record di credenziali denominato (OAuth o chiave API) associato a un provider, archiviato in:
~/.openclaw/agents/<agentId>/agent/auth-profiles.jsonEsamina i profili salvati senza mostrare i segreti: openclaw models auth list (facoltativamente --provider <id> o --json). Consulta
CLI dei modelli.
Quali sono gli ID tipici dei profili?
Con prefisso del provider: anthropic:default (comune quando non esiste
un'identità e-mail), anthropic:<email> per le identità OAuth oppure un ID
personalizzato scelto dall'utente (ad esempio anthropic:work).
Posso controllare quale profilo di autenticazione viene provato per primo?
Sì. La configurazione auth.order.<provider> imposta l'ordine di rotazione per ogni
provider (solo metadati, senza memorizzare segreti).
OpenClaw può ignorare un profilo durante un breve periodo di attesa (limiti di frequenza,
timeout, errori di autenticazione) o durante uno stato disabilitato più lungo
(fatturazione/crediti insufficienti). Verifica con openclaw models status --json e controlla auth.unusableProfiles. Regola il comportamento con
auth.cooldowns.billingBackoffHours*. I periodi di attesa dovuti ai limiti di frequenza
possono essere specifici per modello: un profilo in attesa per un modello può comunque
servire un modello correlato dello stesso provider; le finestre di fatturazione/disabilitazione
bloccano l'intero profilo.
Imposta un ordine alternativo per agente (memorizzato nel file auth-state.json dell'agente):
# Defaults to the configured default agent (omit --agent)openclaw models auth order get --provider anthropic # Lock rotation to a single profileopenclaw models auth order set --provider anthropic anthropic:default # Or set an explicit order (fallback within provider)openclaw models auth order set --provider anthropic anthropic:work anthropic:default # Clear override (fall back to config auth.order / round-robin)openclaw models auth order clear --provider anthropic # Target a specific agentopenclaw models auth order set --provider anthropic --agent main anthropic:defaultVerifica cosa verrà effettivamente provato: openclaw models status --probe. Un
profilo memorizzato omesso da un ordine esplicito viene segnalato come
excluded_by_auth_order anziché essere provato senza indicazioni.
OAuth e chiave API: qual è la differenza?
- Accesso OAuth / CLI utilizza spesso l'accesso in abbonamento quando il
provider lo supporta. Per Anthropic, il backend CLI di Claude di OpenClaw
utilizza
claude -pdi Claude Code, che Anthropic attualmente considera un utilizzo tramite Agent SDK/programmatico che attinge dai limiti di utilizzo dell'abbonamento. Consulta Anthropic per lo stato attuale della sospensione della fatturazione e i collegamenti alle fonti. - Le chiavi API utilizzano la fatturazione per token.
La procedura guidata supporta la CLI di Anthropic Claude, OAuth di OpenAI Codex e le chiavi API.
Contenuti correlati
- Domande frequenti — le domande frequenti principali
- Domande frequenti — avvio rapido e configurazione della prima esecuzione
- Selezione del modello
- Failover dei modelli