Chiavi di configurazioneDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
tools.* e configurazione di provider personalizzati / URL di base. Per agenti, canali e altre chiavi di configurazione di livello superiore, consulta Riferimento di configurazione.
Strumenti
Profili degli strumenti
tools.profile imposta una allowlist di base prima di tools.allow/tools.deny:
L’onboarding locale imposta per impostazione predefinita le nuove configurazioni locali su
tools.profile: "coding" quando non è impostato (i profili espliciti esistenti vengono preservati).| Profilo | Include |
|---|---|
minimal | Solo session_status |
coding | group:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate, video_generate |
messaging | group:messaging, sessions_list, sessions_history, sessions_send, session_status |
full | Nessuna restrizione (uguale a non impostato) |
Gruppi di strumenti
| Gruppo | Strumenti |
|---|---|
group:runtime | exec, process, code_execution (bash è accettato come alias di exec) |
group:fs | read, write, edit, apply_patch |
group:sessions | sessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status |
group:memory | memory_search, memory_get |
group:web | web_search, x_search, web_fetch |
group:ui | browser, canvas |
group:automation | heartbeat_respond, cron, gateway |
group:messaging | message |
group:nodes | nodes |
group:agents | agents_list, update_plan |
group:media | image, image_generate, music_generate, video_generate, tts |
group:openclaw | Tutti gli strumenti integrati (esclude i Plugin dei provider) |
tools.allow / tools.deny
Policy globale di autorizzazione/negazione degli strumenti (la negazione ha la precedenza). Non distingue tra maiuscole e minuscole, supporta i caratteri jolly *. Applicata anche quando la sandbox Docker è disattivata.
write e apply_patch sono ID di strumenti separati. allow: ["write"] abilita anche apply_patch per i modelli compatibili, ma deny: ["write"] non nega apply_patch. Per bloccare tutte le mutazioni dei file, nega group:fs o elenca esplicitamente ogni strumento che modifica:
tools.byProvider
Limita ulteriormente gli strumenti per provider o modelli specifici. Ordine: profilo di base → profilo del provider → allow/deny.
tools.elevated
Controlla l’accesso exec elevato fuori dalla sandbox:
- L’override per agente (
agents.list[].tools.elevated) può solo limitare ulteriormente. /elevated on|off|ask|fullmemorizza lo stato per sessione; le direttive inline si applicano a un singolo messaggio.execelevato aggira il sandboxing e usa il percorso di escape configurato (gatewayper impostazione predefinita, oppurenodequando la destinazione exec ènode).
tools.exec
tools.loopDetection
I controlli di sicurezza dei loop degli strumenti sono disattivati per impostazione predefinita. Imposta enabled: true per attivare il rilevamento. Le impostazioni possono essere definite globalmente in tools.loopDetection e sovrascritte per agente in agents.list[].tools.loopDetection.
Cronologia massima delle chiamate agli strumenti conservata per l’analisi dei loop.
Soglia del pattern ripetuto senza avanzamento per gli avvisi.
Soglia ripetuta più alta per bloccare i loop critici.
Soglia di arresto forzato per qualsiasi esecuzione senza avanzamento.
Avvisa in caso di chiamate ripetute allo stesso strumento/con gli stessi argomenti.
Avvisa/blocca sugli strumenti di polling noti (
process.poll, command_status, ecc.).Avvisa/blocca sui pattern a coppie alternate senza avanzamento.
tools.web
tools.media
Configura la comprensione dei media in ingresso (immagini/audio/video):
Media model entry fields
Media model entry fields
Voce provider (
type: "provider" oppure omessa):provider: id del provider API (openai,anthropic,google/gemini,groq, ecc.)model: override dell’id del modelloprofile/preferredProfile: selezione del profiloauth-profiles.json
type: "cli"):command: eseguibile da avviareargs: argomenti basati su template (supporta{{MediaPath}},{{Prompt}},{{MaxChars}}, ecc.;openclaw doctor --fixmigra i placeholder deprecati{input}a{{MediaPath}})
capabilities: elenco opzionale (image,audio,video). Valori predefiniti:openai/anthropic/minimax→ immagine,google→ immagine+audio+video,groq→ audio.prompt,maxChars,maxBytes,timeoutSeconds,language: override per voce.tools.media.image.timeoutSecondse le vocitimeoutSecondscorrispondenti del modello immagine si applicano anche quando l’agente chiama lo strumento esplicitoimage.- Gli errori passano alla voce successiva.
auth-profiles.json → variabili di ambiente → models.providers.*.apiKey.Campi di completamento asincrono:asyncCompletion.directSend: flag di compatibilità deprecato. Le attività media asincrone completate restano mediate dalla sessione richiedente, così l’agente riceve il risultato, decide come comunicarlo all’utente e usa lo strumento di messaggistica quando la consegna all’origine lo richiede.
tools.agentToAgent
tools.sessions
Controlla quali sessioni possono essere indirizzate dagli strumenti di sessione (sessions_list, sessions_history, sessions_send).
Predefinito: tree (sessione corrente + sessioni generate da essa, come i sottoagenti).
Visibility scopes
Visibility scopes
self: solo la chiave della sessione corrente.tree: sessione corrente + sessioni generate dalla sessione corrente (sottoagenti).agent: qualsiasi sessione appartenente all’id dell’agente corrente (può includere altri utenti se esegui sessioni per mittente sotto lo stesso id agente).all: qualsiasi sessione. Il targeting tra agenti richiede comunquetools.agentToAgent.- Limitazione sandbox: quando la sessione corrente è in sandbox e
agents.defaults.sandbox.sessionToolsVisibility="spawned", la visibilità viene forzata atreeanche setools.sessions.visibility="all".
tools.sessions_spawn
Controlla il supporto degli allegati inline per sessions_spawn.
Note sugli allegati
Note sugli allegati
- Gli allegati sono supportati solo per
runtime: "subagent". Il runtime ACP li rifiuta. - I file vengono materializzati nello spazio di lavoro figlio in
.openclaw/attachments/<uuid>/con un.manifest.json. - Il contenuto degli allegati viene automaticamente oscurato dalla persistenza della trascrizione.
- Gli input Base64 vengono convalidati con controlli rigorosi di alfabeto/padding e una protezione sulla dimensione prima della decodifica.
- I permessi dei file sono
0700per le directory e0600per i file. - La pulizia segue la policy
cleanup:deleterimuove sempre gli allegati;keepli conserva solo quandoretainOnSessionKeep: true.
tools.experimental
Flag sperimentali degli strumenti integrati. Disattivati per impostazione predefinita, salvo quando si applica una regola di abilitazione automatica per GPT-5 strict-agentic.
planTool: abilita lo strumento strutturatoupdate_planper il tracciamento di lavori non banali in più passaggi.- Valore predefinito:
false, salvo quandoagents.defaults.embeddedPi.executionContract(o un override per agente) è impostato su"strict-agentic"per un’esecuzione OpenAI o OpenAI Codex della famiglia GPT-5. Impostatrueper forzare l’attivazione dello strumento al di fuori di tale ambito, oppurefalseper mantenerlo disattivato anche per esecuzioni GPT-5 strict-agentic. - Quando abilitato, il prompt di sistema aggiunge anche indicazioni d’uso in modo che il modello lo usi solo per lavori sostanziali e mantenga al massimo un passaggio
in_progress.
agents.defaults.subagents
model: modello predefinito per i sotto-agenti generati. Se omesso, i sotto-agenti ereditano il modello del chiamante.allowAgents: allowlist predefinita degli ID degli agenti di destinazione persessions_spawnquando l’agente richiedente non imposta il propriosubagents.allowAgents(["*"]= qualsiasi; impostazione predefinita: solo lo stesso agente).runTimeoutSeconds: timeout predefinito (in secondi) persessions_spawnquando la chiamata dello strumento ometterunTimeoutSeconds.0significa nessun timeout.- Policy degli strumenti per sotto-agente:
tools.subagents.tools.allow/tools.subagents.tools.deny.
Provider personalizzati e URL di base
OpenClaw usa il catalogo dei modelli integrato. Aggiungi provider personalizzati tramitemodels.providers nella configurazione o in ~/.openclaw/agents/<agentId>/agent/models.json.
Autenticazione e precedenza del merge
Autenticazione e precedenza del merge
- Usa
authHeader: true+headersper esigenze di autenticazione personalizzata. - Sovrascrivi la radice della configurazione dell’agente con
OPENCLAW_AGENT_DIR(oPI_CODING_AGENT_DIR, un alias legacy della variabile d’ambiente). - Precedenza del merge per ID provider corrispondenti:
- Vincono i valori
baseUrlnon vuoti dimodels.jsondell’agente. - I valori
apiKeynon vuoti dell’agente vincono 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 i riferimenti env,secretref-managedper i riferimenti file/exec) invece di persistere i segreti risolti. - I valori degli header dei provider gestiti da SecretRef vengono aggiornati dai marker di origine (
secretref-env:ENV_VAR_NAMEper i riferimenti env,secretref-managedper i riferimenti file/exec). apiKey/baseUrldell’agente vuoti o mancanti ripiegano sumodels.providersnella configurazione.contextWindow/maxTokensdei modelli corrispondenti usano il valore più alto tra la configurazione esplicita e i valori impliciti del catalogo.contextTokensdel modello corrispondente conserva un limite runtime esplicito quando presente; usalo per limitare il contesto effettivo senza modificare i metadati nativi del modello.- Usa
models.mode: "replace"quando vuoi che la configurazione riscriva completamentemodels.json. - La persistenza dei marker è autorevole rispetto all’origine: i marker vengono scritti dallo snapshot della configurazione di origine attiva (prima della risoluzione), non dai valori runtime risolti dei segreti.
- Vincono i valori
Dettagli dei campi del provider
Catalogo di primo livello
Catalogo di primo livello
models.mode: comportamento del catalogo dei provider (mergeoreplace).models.providers: mappa dei provider personalizzati indicizzata per ID provider.- Modifiche sicure: usa
openclaw config set models.providers.<id> '<json>' --strict-json --mergeoopenclaw config set models.providers.<id>.models '<json-array>' --strict-json --mergeper aggiornamenti additivi.config setrifiuta sostituzioni distruttive a meno che tu non passi--replace.
- Modifiche sicure: usa
Connessione e autenticazione del provider
Connessione e autenticazione del provider
models.providers.*.api: adapter di richiesta (openai-completions,openai-responses,anthropic-messages,google-generative-ai, ecc.). Per backend/v1/chat/completionsself-hosted come MLX, vLLM, SGLang e la maggior parte dei server locali compatibili con OpenAI, usaopenai-completions. Un provider personalizzato conbaseUrlma senzaapiusa per impostazione predefinitaopenai-completions; impostaopenai-responsessolo quando il backend supporta/v1/responses.models.providers.*.apiKey: credenziale del provider (preferisci SecretRef/sostituzione env).models.providers.*.auth: strategia di autenticazione (api-key,token,oauth,aws-sdk).models.providers.*.contextWindow: finestra di contesto nativa predefinita per i modelli sotto questo provider quando la voce del modello non impostacontextWindow.models.providers.*.contextTokens: limite di contesto runtime effettivo predefinito per i modelli sotto questo provider quando la voce del modello non impostacontextTokens.models.providers.*.maxTokens: limite predefinito dei token di output per i modelli sotto questo provider quando la voce del modello non impostamaxTokens.models.providers.*.timeoutSeconds: timeout HTTP opzionale per provider per le richieste al modello, in secondi, inclusa la gestione di connessione, header, corpo e interruzione totale della richiesta.models.providers.*.injectNumCtxForOpenAICompat: per Ollama +openai-completions, iniettaoptions.num_ctxnelle richieste (impostazione predefinita:true).models.providers.*.authHeader: forza il trasporto della credenziale nell’headerAuthorizationquando richiesto.models.providers.*.baseUrl: URL di base dell’API upstream.models.providers.*.headers: header statici aggiuntivi per routing proxy/tenant.
Override del trasporto delle richieste
Override del trasporto delle richieste
models.providers.*.request: override del trasporto per le richieste HTTP del provider di modelli.request.headers: header aggiuntivi (uniti ai valori predefiniti del provider). I valori accettano SecretRef.request.auth: override della strategia di autenticazione. Modalità:"provider-default"(usa l’autenticazione integrata del provider),"authorization-bearer"(contoken),"header"(conheaderName,value,prefixopzionale).request.proxy: override del proxy HTTP. Modalità:"env-proxy"(usa le variabili envHTTP_PROXY/HTTPS_PROXY),"explicit-proxy"(conurl). Entrambe le modalità accettano un sotto-oggettotlsopzionale.request.tls: override TLS per connessioni dirette. Campi:ca,cert,key,passphrase(tutti accettano SecretRef),serverName,insecureSkipVerify.request.allowPrivateNetwork: quandotrue, consente HTTPS versobaseUrlquando il DNS risolve in intervalli privati, CGNAT o simili, tramite la protezione fetch HTTP del provider (opt-in dell’operatore per endpoint self-hosted compatibili con OpenAI attendibili). Gli URL di streaming del provider di modelli su loopback, comelocalhost,127.0.0.1e[::1], sono consentiti automaticamente a meno che questo non sia impostato esplicitamente sufalse; host LAN, tailnet e DNS privati richiedono comunque opt-in. WebSocket usa lo stessorequestper header/TLS, ma non quel gate SSRF fetch. Valore predefinitofalse.
Voci del catalogo modelli
Voci del catalogo modelli
models.providers.*.models: voci esplicite del catalogo modelli del provider.models.providers.*.models.*.input: modalità di input del modello. Usa["text"]per modelli solo testo e["text", "image"]per modelli nativi immagine/vision. Gli allegati immagine vengono iniettati nei turni agente solo quando il modello selezionato è contrassegnato come capace di immagini.models.providers.*.models.*.contextWindow: metadati della finestra di contesto nativa del modello. Questo sovrascrivecontextWindowa livello di provider per quel modello.models.providers.*.models.*.contextTokens: limite di contesto runtime opzionale. Questo sovrascrivecontextTokensa livello di provider; usalo quando vuoi un budget di contesto effettivo più piccolo rispetto alcontextWindownativo del modello;openclaw models listmostra entrambi i valori quando differiscono.models.providers.*.models.*.compat.supportsDeveloperRole: suggerimento di compatibilità opzionale. Perapi: "openai-completions"conbaseUrlnon vuoto e non nativo (host diverso daapi.openai.com), OpenClaw lo forza afalsea runtime.baseUrlvuoto/omesso mantiene il comportamento OpenAI predefinito.models.providers.*.models.*.compat.requiresStringContent: suggerimento di compatibilità opzionale per endpoint chat compatibili con OpenAI che accettano solo stringhe. Quandotrue, OpenClaw appiattisce gli arraymessages[].contentdi solo testo in stringhe semplici prima di inviare la richiesta.models.providers.*.models.*.compat.strictMessageKeys: suggerimento di compatibilità opzionale per endpoint chat compatibili con OpenAI rigorosi. Quandotrue, OpenClaw riduce gli oggetti dei messaggi Chat Completions in uscita aroleecontentprima di inviare la richiesta.models.providers.*.models.*.compat.thinkingFormat: suggerimento opzionale sul payload di thinking. Usa"qwen"perenable_thinkingdi primo livello, oppure"qwen-chat-template"perchat_template_kwargs.enable_thinkingsu server compatibili con OpenAI della famiglia Qwen che supportano kwargs chat-template a livello di richiesta, come vLLM.
Scoperta Amazon Bedrock
Scoperta Amazon Bedrock
plugins.entries.amazon-bedrock.config.discovery: radice delle impostazioni di auto-scoperta Bedrock.plugins.entries.amazon-bedrock.config.discovery.enabled: attiva/disattiva la scoperta implicita.plugins.entries.amazon-bedrock.config.discovery.region: regione AWS per la scoperta.plugins.entries.amazon-bedrock.config.discovery.providerFilter: filtro ID provider opzionale per la scoperta mirata.plugins.entries.amazon-bedrock.config.discovery.refreshInterval: intervallo di polling per l’aggiornamento della scoperta.plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow: finestra di contesto di fallback per i modelli scoperti.plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens: numero massimo di token di output di fallback per i modelli scoperti.
--custom-image-input per forzare metadati con supporto immagini oppure --custom-text-input per forzare metadati solo testo.
Esempi di provider
Cerebras (GLM 4.7 / GPT OSS)
Cerebras (GLM 4.7 / GPT OSS)
Il Plugin provider Usa
cerebras incluso può configurarlo tramite openclaw onboard --auth-choice cerebras-api-key. Usa una configurazione esplicita del provider solo quando sovrascrivi i valori predefiniti.cerebras/zai-glm-4.7 per Cerebras; zai/glm-4.7 per Z.AI diretto.Codifica Kimi
Codifica Kimi
openclaw onboard --auth-choice kimi-code-api-key.Modelli locali (LM Studio)
Modelli locali (LM Studio)
Vedi Modelli locali. In breve: esegui un modello locale di grandi dimensioni tramite la LM Studio Responses API su hardware serio; mantieni uniti i modelli ospitati per il fallback.
MiniMax M2.7 (diretto)
MiniMax M2.7 (diretto)
MINIMAX_API_KEY. Scorciatoie: openclaw onboard --auth-choice minimax-global-api o openclaw onboard --auth-choice minimax-cn-api. Il catalogo dei modelli usa per impostazione predefinita solo M2.7. Nel percorso di streaming compatibile con Anthropic, OpenClaw disabilita il thinking di MiniMax per impostazione predefinita, a meno che tu non imposti esplicitamente thinking manualmente. /fast on o params.fastMode: true riscrive MiniMax-M2.7 in MiniMax-M2.7-highspeed.Moonshot AI (Kimi)
Moonshot AI (Kimi)
baseUrl: "https://api.moonshot.cn/v1" o openclaw onboard --auth-choice moonshot-api-key-cn.Gli endpoint Moonshot nativi dichiarano compatibilità con l’utilizzo in streaming sul trasporto condiviso openai-completions, e OpenClaw la basa sulle capacità dell’endpoint anziché solo sull’id del provider integrato.OpenCode
OpenCode
OPENCODE_API_KEY (o OPENCODE_ZEN_API_KEY). Usa i riferimenti opencode/... per il catalogo Zen o i riferimenti opencode-go/... per il catalogo Go. Scorciatoia: openclaw onboard --auth-choice opencode-zen o openclaw onboard --auth-choice opencode-go.Synthetic (compatibile con Anthropic)
Synthetic (compatibile con Anthropic)
/v1 (il client Anthropic lo aggiunge). Scorciatoia: openclaw onboard --auth-choice synthetic-api-key.Z.AI (GLM-4.7)
Z.AI (GLM-4.7)
ZAI_API_KEY. z.ai/* e z-ai/* sono alias accettati. Scorciatoia: openclaw onboard --auth-choice zai-api-key.- Endpoint generale:
https://api.z.ai/api/paas/v4 - Endpoint per il coding (predefinito):
https://api.z.ai/api/coding/paas/v4 - Per l’endpoint generale, definisci un provider personalizzato con l’override dell’URL di base.
Correlati
- Configurazione — agenti
- Configurazione — canali
- Riferimento di configurazione — altre chiavi di primo livello
- Strumenti e plugin