Chiavi di configurazioneDocumentation Index
Fetch the complete documentation index at: https://docs2.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 primo livello, consulta il Riferimento alla configurazione.
Strumenti
Profili degli strumenti
tools.profile imposta una allowlist di base prima di tools.allow/tools.deny:
L’onboarding locale imposta per default 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 (come se non fosse impostato) |
Gruppi di strumenti
| Gruppo | Strumenti |
|---|---|
group:runtime | exec, process, code_execution (bash è accettato come alias per 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 del provider) |
tools.allow / tools.deny
Policy globale di allow/deny degli strumenti (deny prevale). 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.toolsBySender
Limita gli strumenti per un’identità richiedente specifica. Questa è una difesa in profondità oltre al controllo di accesso del canale; i valori del mittente devono provenire dall’adapter del canale, non dal testo del messaggio.
channel:<channelId>:<senderId>, id:<senderId>, e164:<phone>, username:<handle>, name:<displayName>, oppure "*". Gli ID dei canali sono ID canonici OpenClaw; alias come teams vengono normalizzati in msteams. Le chiavi legacy senza prefisso sono accettate solo come id:. L’ordine di corrispondenza è channel+id, id, e164, username, name, poi carattere jolly.
agents.list[].tools.toolsBySender per agente sostituisce la corrispondenza globale del mittente quando corrisponde, anche con una policy vuota {}.
tools.elevated
Controlla l’accesso exec elevato fuori dalla sandbox:
- L’override per agente (
agents.list[].tools.elevated) può solo restringere ulteriormente. /elevated on|off|ask|fullmemorizza lo stato per sessione; le direttive inline si applicano al singolo messaggio.execelevato bypassa la sandbox e usa il percorso di escape configurato (gatewayper default, oppurenodequando il target exec ènode).
tools.exec
tools.loopDetection
I controlli di sicurezza per i cicli degli strumenti sono disabilitati 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 cicli.
Soglia dello schema ripetuto senza avanzamento per gli avvisi.
Soglia di ripetizione più alta per bloccare i cicli critici.
Soglia di arresto rigida per qualsiasi esecuzione senza avanzamento.
Avvisa in caso di chiamate ripetute con stesso strumento/stessi argomenti.
Avvisa/blocca sugli strumenti di polling noti (
process.poll, command_status, ecc.).Avvisa/blocca sugli schemi alternati a coppie senza avanzamento.
tools.web
tools.media
Configura la comprensione dei media in ingresso (immagine/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: sovrascrittura dell’id 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 facoltativo (image,audio,video). Valori predefiniti:openai/anthropic/minimax→ immagine,google→ immagine+audio+video,groq→ audio.prompt,maxChars,maxBytes,timeoutSeconds,language: sovrascritture per voce.- Anche
tools.media.image.timeoutSecondse le vocitimeoutSecondsdei modelli immagine corrispondenti si applicano quando l’agente chiama lo strumentoimageesplicito. - Gli errori ripiegano sulla voce successiva.
auth-profiles.json → variabili env → models.providers.*.apiKey.Campi di completamento asincrono:asyncCompletion.directSend: flag di compatibilità deprecato. Le attività media asincrone completate restano mediate dalla sessione del richiedente, così l’agente riceve il risultato, decide come comunicarlo all’utente e usa lo strumento messaggio quando la consegna della sorgente 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 con lo stesso id agente).all: qualsiasi sessione. L’indirizzamento 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 per gli strumenti integrati. Disattivati per impostazione predefinita, salvo quando si applica una regola di abilitazione automatica rigorosamente agentica per GPT-5.
planTool: abilita lo strumento strutturatoupdate_planper il tracciamento di lavori multi-step non banali.- Predefinito:
false, salvo cheagents.defaults.embeddedPi.executionContract(o un override per agente) sia impostato su"strict-agentic"per un’esecuzione della famiglia GPT-5 di OpenAI o OpenAI Codex. Impostatrueper forzare l’attivazione dello strumento fuori da tale ambito, oppurefalseper mantenerlo disattivato anche per esecuzioni GPT-5 rigorosamente agentiche. - Quando è abilitato, il prompt di sistema aggiunge anche indicazioni d’uso affinché il modello lo usi solo per lavori sostanziali e mantenga al massimo uno step
in_progress.
agents.defaults.subagents
model: modello predefinito per i sub-agenti generati. Se omesso, i sub-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; predefinito: solo lo stesso agente).runTimeoutSeconds: timeout predefinito (secondi) persessions_spawnquando la chiamata dello strumento ometterunTimeoutSeconds.0significa nessun timeout.announceTimeoutMs: timeout per chiamata (millisecondi) per i tentativi di consegna dell’annuncioagentdel gateway. Predefinito:120000. I ritentativi transitori possono rendere l’attesa totale dell’annuncio più lunga di un timeout configurato.- Policy degli strumenti per sub-agente:
tools.subagents.tools.allow/tools.subagents.tools.deny.
Provider personalizzati e URL di base
OpenClaw usa il catalogo di 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 personalizzate. - Esegui l’override della radice della configurazione dell’agente con
OPENCLAW_AGENT_DIR(oPI_CODING_AGENT_DIR, un alias legacy di 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 sorgente (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 sorgente (
secretref-env:ENV_VAR_NAMEper i riferimenti env,secretref-managedper i riferimenti file/exec). apiKey/baseUrldell’agente vuoti o mancanti ricadono sumodels.providersnella configurazione.contextWindow/maxTokensdel modello corrispondente 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 alla sorgente: i marker vengono scritti dallo snapshot della configurazione sorgente attiva (prima della risoluzione), non dai valori dei segreti risolti a runtime.
- Vincono i valori
Dettagli dei campi del provider
Catalogo di primo livello
Catalogo di primo livello
models.mode: comportamento del catalogo provider (mergeoreplace).models.providers: mappa di provider personalizzati indicizzata per ID provider.- Modifiche sicure: usa
openclaw config set models.providers.<id> '<json>' --strict-json --mergeoppureopenclaw config set models.providers.<id>.models '<json-array>' --strict-json --mergeper aggiornamenti additivi.config setrifiuta sostituzioni distruttive salvo che tu passi--replace.
- Modifiche sicure: usa
Connessione e autenticazione del provider
Connessione e autenticazione del provider
models.providers.*.api: adattatore della richiesta (openai-completions,openai-responses,anthropic-messages,google-generative-ai, ecc.). Per backend self-hosted/v1/chat/completionscome 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 di token di output per i modelli sotto questo provider quando la voce del modello non impostamaxTokens.models.providers.*.timeoutSeconds: timeout opzionale, per provider, della richiesta HTTP del modello in secondi, inclusi connessione, header, body e gestione dell’annullamento totale della richiesta.models.providers.*.injectNumCtxForOpenAICompat: per Ollama +openai-completions, iniettaoptions.num_ctxnelle richieste (predefinito: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 extra per routing proxy/tenant.
Override del trasporto delle richieste
Override del trasporto delle richieste
models.providers.*.request: override del trasporto per le richieste HTTP al provider di modelli.request.headers: header extra (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 d’ambienteHTTP_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 si risolve in intervalli privati, CGNAT o simili, tramite la protezione fetch HTTP del provider (opt-in dell’operatore per endpoint compatibili con OpenAI self-hosted attendibili). Gli URL di stream dei provider di modelli local loopback comelocalhost,127.0.0.1e[::1]sono consentiti automaticamente salvo che questo sia esplicitamente impostato sufalse; gli host LAN, tailnet e DNS privati richiedono comunque opt-in. WebSocket usa lo stessorequestper header/TLS, ma non quel gate SSRF di fetch. 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 immagine/visione nativi. Gli allegati immagine vengono iniettati nei turni dell’agente solo quando il modello selezionato è marcato come capace di gestire immagini.models.providers.*.models.*.contextWindow: metadati della finestra di contesto nativa del modello. Questo esegue l’override dicontextWindowa livello provider per quel modello.models.providers.*.models.*.contextTokens: limite di contesto runtime opzionale. Questo esegue l’override dicontextTokensa livello 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"con unbaseUrlnon nativo e non vuoto (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 solo stringa. Quandotrue, OpenClaw appiattisce gli array di puro testomessages[].contentin 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 messaggio Chat Completions in uscita aroleecontentprima di inviare la richiesta.models.providers.*.models.*.compat.thinkingFormat: suggerimento opzionale per il payload di ragionamento. 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 del chat template a livello di richiesta, come vLLM.
Discovery di Amazon Bedrock
Discovery di Amazon Bedrock
plugins.entries.amazon-bedrock.config.discovery: radice delle impostazioni di discovery automatica Bedrock.plugins.entries.amazon-bedrock.config.discovery.enabled: attiva/disattiva la discovery implicita.plugins.entries.amazon-bedrock.config.discovery.region: regione AWS per la discovery.plugins.entries.amazon-bedrock.config.discovery.providerFilter: filtro opzionale per ID provider per discovery mirata.plugins.entries.amazon-bedrock.config.discovery.refreshInterval: intervallo di polling per l’aggiornamento della discovery.plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow: finestra di contesto di fallback per i modelli scoperti.plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens: token di output massimi di fallback per i modelli scoperti.
--custom-image-input per forzare metadati compatibili con le 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 la configurazione esplicita del provider solo quando sovrascrivi le impostazioni predefinite.cerebras/zai-glm-4.7 per Cerebras; zai/glm-4.7 per Z.AI diretto.Kimi Coding
Kimi Coding
openclaw onboard --auth-choice kimi-code-api-key.Modelli locali (LM Studio)
Modelli locali (LM Studio)
Vedi Modelli locali. TL;DR: esegui un modello locale di grandi dimensioni tramite la Responses API di LM Studio su hardware serio; mantieni i modelli ospitati uniti come 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 predefinito include 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. /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’uso dello streaming sul trasporto condiviso openai-completions, e OpenClaw lo determina in base alle capacità dell’endpoint anziché al solo ID del provider integrato.OpenCode
OpenCode
OPENCODE_API_KEY (o OPENCODE_ZEN_API_KEY). Usa i riferimenti opencode/... per il catalogo Zen oppure 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 di codifica (predefinito):
https://api.z.ai/api/coding/paas/v4 - Per l’endpoint generale, definisci un provider personalizzato con override dell’URL di base.
Correlati
- Configurazione — agenti
- Configurazione — canali
- Riferimento di configurazione — altre chiavi di primo livello
- Strumenti e plugins