agents.*, multiAgent.*, session.*,
messages.* e talk.*. Per canali, strumenti, runtime del gateway e altre
chiavi di primo livello, vedi Riferimento della configurazione.
Valori predefiniti degli agenti
agents.defaults.workspace
Predefinito: ~/.openclaw/workspace.
agents.defaults.repoRoot
Root del repository facoltativa mostrata nella riga Runtime del prompt di sistema. Se non impostata, OpenClaw la rileva automaticamente risalendo dal workspace.
agents.defaults.skills
Allowlist predefinita facoltativa delle skill per gli agenti che non impostano
agents.list[].skills.
- Ometti
agents.defaults.skillsper skill senza restrizioni per impostazione predefinita. - Ometti
agents.list[].skillsper ereditare i valori predefiniti. - Imposta
agents.list[].skills: []per nessuna skill. - Un elenco
agents.list[].skillsnon vuoto è l’insieme finale per quell’agente; non viene unito ai valori predefiniti.
agents.defaults.skipBootstrap
Disabilita la creazione automatica dei file bootstrap del workspace (AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md, BOOTSTRAP.md).
agents.defaults.contextInjection
Controlla quando i file bootstrap del workspace vengono inseriti nel prompt di sistema. Predefinito: "always".
"continuation-skip": i turni di continuazione sicuri (dopo una risposta completata dell’assistente) saltano la reiniezione bootstrap del workspace, riducendo la dimensione del prompt. Le esecuzioni Heartbeat e i nuovi tentativi post-Compaction ricostruiscono comunque il contesto.
agents.defaults.bootstrapMaxChars
Numero massimo di caratteri per file bootstrap del workspace prima del troncamento. Predefinito: 12000.
agents.defaults.bootstrapTotalMaxChars
Numero massimo totale di caratteri inseriti in tutti i file bootstrap del workspace. Predefinito: 60000.
agents.defaults.bootstrapPromptTruncationWarning
Controlla il testo di avviso visibile all’agente quando il contesto bootstrap viene troncato.
Predefinito: "once".
"off": non inserisce mai testo di avviso nel prompt di sistema."once": inserisce l’avviso una volta per ogni firma di troncamento univoca (consigliato)."always": inserisce l’avviso a ogni esecuzione quando esiste troncamento.
Mappa di proprietà del budget di contesto
OpenClaw ha più budget di prompt/contesto ad alto volume e sono intenzionalmente divisi per sottosistema invece di fluire tutti attraverso un’unica manopola generica.agents.defaults.bootstrapMaxChars/agents.defaults.bootstrapTotalMaxChars: normale inserimento bootstrap del workspace.agents.defaults.startupContext.*: preludio di avvio una tantum per/newe/reset, inclusi i recenti file giornalierimemory/*.md.skills.limits.*: l’elenco compatto delle skill inserito nel prompt di sistema.agents.defaults.contextLimits.*: estratti runtime delimitati e blocchi posseduti dal runtime inseriti.memory.qmd.limits.*: dimensionamento di snippet e inserimento per la ricerca in memoria indicizzata.
agents.list[].skillsLimits.maxSkillsPromptCharsagents.list[].contextLimits.*
agents.defaults.startupContext
Controlla il preludio di avvio del primo turno inserito nelle esecuzioni bare /new e /reset.
agents.defaults.contextLimits
Valori predefiniti condivisi per le superfici di contesto runtime delimitate.
memoryGetMaxChars: limite predefinito dell’estrattomemory_getprima che vengano aggiunti metadati di troncamento e avviso di continuazione.memoryGetDefaultLines: finestra di righe predefinita dimemory_getquandolinesè omesso.toolResultMaxChars: limite live del risultato dello strumento usato per risultati persistiti e recupero overflow.postCompactionMaxChars: limite dell’estratto AGENTS.md usato durante l’inserimento di refresh post-Compaction.
agents.list[].contextLimits
Override per agente delle manopole condivise contextLimits. I campi omessi ereditano
da agents.defaults.contextLimits.
skills.limits.maxSkillsPromptChars
Limite globale per l’elenco compatto delle skill inserito nel prompt di sistema. Questo
non influisce sulla lettura dei file SKILL.md su richiesta.
agents.list[].skillsLimits.maxSkillsPromptChars
Override per agente del budget del prompt delle skill.
agents.defaults.imageMaxDimensionPx
Dimensione massima in pixel del lato più lungo dell’immagine nei blocchi immagine di trascrizione/strumento prima delle chiamate al provider.
Predefinito: 1200.
Valori più bassi di solito riducono l’uso di vision-token e la dimensione del payload della richiesta per esecuzioni ricche di screenshot.
Valori più alti preservano più dettagli visivi.
agents.defaults.userTimezone
Fuso orario per il contesto del prompt di sistema (non per i timestamp dei messaggi). Fallback al fuso orario dell’host.
agents.defaults.timeFormat
Formato orario nel prompt di sistema. Predefinito: auto (preferenza del sistema operativo).
agents.defaults.model
model: accetta sia una stringa ("provider/model") sia un oggetto ({ primary, fallbacks }).- La forma stringa imposta solo il modello primario.
- La forma oggetto imposta il primario più i modelli di failover ordinati.
imageModel: accetta sia una stringa ("provider/model") sia un oggetto ({ primary, fallbacks }).- Usato dal percorso dello strumento
imagecome configurazione del suo modello vision. - Usato anche come instradamento di fallback quando il modello selezionato/predefinito non può accettare input immagine.
- Usato dal percorso dello strumento
imageGenerationModel: accetta sia una stringa ("provider/model") sia un oggetto ({ primary, fallbacks }).- Usato dalla capacità condivisa di generazione immagini e da qualsiasi futura superficie di tool/Plugin che generi immagini.
- Valori tipici:
google/gemini-3.1-flash-image-previewper la generazione nativa di immagini Gemini,fal/fal-ai/flux/devper fal, oppureopenai/gpt-image-2per OpenAI Images. - Se selezioni direttamente un provider/modello, configura anche l’autenticazione corrispondente del provider (ad esempio
GEMINI_API_KEYoGOOGLE_API_KEYpergoogle/*,OPENAI_API_KEYo OpenAI Codex OAuth peropenai/gpt-image-2,FAL_KEYperfal/*). - Se omesso,
image_generatepuò comunque dedurre un provider predefinito supportato da auth. Prova prima il provider predefinito corrente, poi i restanti provider di generazione immagini registrati in ordine di id provider.
musicGenerationModel: accetta sia una stringa ("provider/model") sia un oggetto ({ primary, fallbacks }).- Usato dalla capacità condivisa di generazione musicale e dallo strumento integrato
music_generate. - Valori tipici:
google/lyria-3-clip-preview,google/lyria-3-pro-previewominimax/music-2.5+. - Se omesso,
music_generatepuò comunque dedurre un provider predefinito supportato da auth. Prova prima il provider predefinito corrente, poi i restanti provider di generazione musicale registrati in ordine di id provider. - Se selezioni direttamente un provider/modello, configura anche l’auth/chiave API corrispondente del provider.
- Usato dalla capacità condivisa di generazione musicale e dallo strumento integrato
videoGenerationModel: accetta sia una stringa ("provider/model") sia un oggetto ({ primary, fallbacks }).- Usato dalla capacità condivisa di generazione video e dallo strumento integrato
video_generate. - Valori tipici:
qwen/wan2.6-t2v,qwen/wan2.6-i2v,qwen/wan2.6-r2v,qwen/wan2.6-r2v-flashoqwen/wan2.7-r2v. - Se omesso,
video_generatepuò comunque dedurre un provider predefinito supportato da auth. Prova prima il provider predefinito corrente, poi i restanti provider di generazione video registrati in ordine di id provider. - Se selezioni direttamente un provider/modello, configura anche l’auth/chiave API corrispondente del provider.
- Il provider bundle di generazione video Qwen supporta fino a 1 video di output, 1 immagine di input, 4 video di input, 10 secondi di durata e opzioni a livello provider
size,aspectRatio,resolution,audioewatermark.
- Usato dalla capacità condivisa di generazione video e dallo strumento integrato
pdfModel: accetta sia una stringa ("provider/model") sia un oggetto ({ primary, fallbacks }).- Usato dallo strumento
pdfper l’instradamento del modello. - Se omesso, lo strumento PDF ripiega su
imageModel, poi sul modello risolto della sessione/predefinito.
- Usato dallo strumento
pdfMaxBytesMb: limite predefinito della dimensione PDF per lo strumentopdfquandomaxBytesMbnon viene passato al momento della chiamata.pdfMaxPages: numero massimo predefinito di pagine considerate dalla modalità fallback di estrazione nello strumentopdf.verboseDefault: livello verbose predefinito per gli agenti. Valori:"off","on","full". Predefinito:"off".elevatedDefault: livello predefinito di output elevated per gli agenti. Valori:"off","on","ask","full". Predefinito:"on".model.primary: formatoprovider/model(ad esempioopenai/gpt-5.4per accesso con chiave API oppureopenai-codex/gpt-5.5per Codex OAuth). Se ometti il provider, OpenClaw prova prima un alias, poi una corrispondenza univoca del provider configurato per quell’esatto id modello e solo dopo ripiega sul provider predefinito configurato (comportamento di compatibilità deprecato, quindi preferisciprovider/modelesplicito). Se quel provider non espone più il modello predefinito configurato, OpenClaw ripiega sul primo provider/modello configurato invece di mostrare un valore predefinito obsoleto di un provider rimosso.models: il catalogo di modelli configurato e la allowlist per/model. Ogni voce può includerealias(scorciatoia) eparams(specifici del provider, ad esempiotemperature,maxTokens,cacheRetention,context1m,responsesServerCompaction,responsesCompactThreshold).- Modifiche sicure: usa
openclaw config set agents.defaults.models '<json>' --strict-json --mergeper aggiungere voci.config setrifiuta sostituzioni che rimuoverebbero voci esistenti della allowlist a meno che tu non passi--replace. - I flussi configure/onboarding con ambito provider uniscono i modelli provider selezionati in questa mappa e preservano i provider non correlati già configurati.
- Per i modelli diretti OpenAI Responses, la Compaction lato server viene abilitata automaticamente. Usa
params.responsesServerCompaction: falseper smettere di inserirecontext_management, oppureparams.responsesCompactThresholdper sovrascrivere la soglia. Vedi OpenAI server-side compaction.
- Modifiche sicure: usa
params: parametri provider predefiniti globali applicati a tutti i modelli. Impostati inagents.defaults.params(ad esempio{ cacheRetention: "long" }).- precedenza di unione di
params(configurazione):agents.defaults.params(base globale) viene sovrascritto daagents.defaults.models["provider/model"].params(per modello), poiagents.list[].params(id agente corrispondente) sovrascrive per chiave. Vedi Prompt Caching per i dettagli. embeddedHarness: policy predefinita del runtime embedded dell’agente a basso livello. Usaruntime: "auto"per lasciare che gli harness dei Plugin registrati rivendichino i modelli supportati,runtime: "pi"per forzare l’harness PI integrato oppure un id harness registrato comeruntime: "codex". Impostafallback: "none"per disabilitare il fallback automatico a PI.- Gli strumenti di scrittura della configurazione che modificano questi campi (ad esempio
/models set,/models set-imagee i comandi add/remove di fallback) salvano la forma oggetto canonica e preservano gli elenchi di fallback esistenti quando possibile. maxConcurrent: massimo numero di esecuzioni parallele degli agenti tra sessioni (ogni sessione resta comunque serializzata). Predefinito: 4.
agents.defaults.embeddedHarness
embeddedHarness controlla quale esecutore a basso livello esegue i turni embedded dell’agente.
La maggior parte delle distribuzioni dovrebbe mantenere il valore predefinito { runtime: "auto", fallback: "pi" }.
Usalo quando un Plugin attendibile fornisce un harness nativo, come l’harness bundle
Codex app-server.
runtime:"auto","pi"o un id harness Plugin registrato. Il Plugin Codex bundle registracodex.fallback:"pi"o"none"."pi"mantiene l’harness PI integrato come fallback di compatibilità quando non viene selezionato alcun harness Plugin."none"fa fallire la selezione di harness Plugin mancante o non supportata invece di usare silenziosamente PI. Gli errori dell’harness Plugin selezionato vengono sempre mostrati direttamente.- Override tramite ambiente:
OPENCLAW_AGENT_RUNTIME=<id|auto|pi>sovrascriveruntime;OPENCLAW_AGENT_HARNESS_FALLBACK=nonedisabilita il fallback PI per quel processo. - Per distribuzioni solo Codex, imposta
model: "openai/gpt-5.5",embeddedHarness.runtime: "codex"eembeddedHarness.fallback: "none". - La scelta dell’harness viene fissata per id sessione dopo la prima esecuzione embedded. Le modifiche config/env influiscono su sessioni nuove o reimpostate, non su una trascrizione esistente. Le sessioni legacy con cronologia della trascrizione ma senza fissaggio registrato vengono trattate come fissate a PI.
/statusmostra id harness non-PI comecodexaccanto aFast. - Questo controlla solo l’harness chat embedded. Generazione multimediale, vision, PDF, musica, video e TTS continuano a usare le rispettive impostazioni provider/modello.
agents.defaults.models):
| Alias | Modello |
|---|---|
opus | anthropic/claude-opus-4-6 |
sonnet | anthropic/claude-sonnet-4-6 |
gpt | openai/gpt-5.4 o GPT-5.5 Codex OAuth configurato |
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-preview |
--thinking off o definisca tu stesso agents.defaults.models["zai/<model>"].params.thinking.
I modelli Z.AI abilitano tool_stream per impostazione predefinita per lo streaming delle chiamate agli strumenti. Imposta agents.defaults.models["zai/<model>"].params.tool_stream su false per disabilitarlo.
I modelli Anthropic Claude 4.6 usano adaptive thinking per impostazione predefinita quando non è impostato alcun livello di thinking esplicito.
agents.defaults.cliBackends
Backend CLI facoltativi per esecuzioni di fallback solo testo (senza chiamate a strumenti). Utili come backup quando i provider API falliscono.
- I backend CLI sono text-first; gli strumenti sono sempre disabilitati.
- Le sessioni sono supportate quando
sessionArgè impostato. - Il pass-through delle immagini è supportato quando
imageArgaccetta percorsi di file.
agents.defaults.systemPromptOverride
Sostituisce l’intero prompt di sistema assemblato da OpenClaw con una stringa fissa. Impostalo a livello predefinito (agents.defaults.systemPromptOverride) o per agente (agents.list[].systemPromptOverride). I valori per agente hanno precedenza; un valore vuoto o composto solo da spazi viene ignorato. Utile per esperimenti controllati sul prompt.
agents.defaults.promptOverlays
Overlay di prompt indipendenti dal provider applicati per famiglia di modelli. Gli id modello della famiglia GPT-5 ricevono il contratto di comportamento condiviso tra provider; personality controlla solo il livello dello stile di interazione amichevole.
"friendly"(predefinito) e"on"abilitano il livello di stile di interazione amichevole."off"disabilita solo il livello amichevole; il contratto di comportamento GPT-5 con tag resta abilitato.- Il valore legacy
plugins.entries.openai.config.personalityviene ancora letto quando questa impostazione condivisa non è impostata.
agents.defaults.heartbeat
Esecuzioni periodiche Heartbeat.
every: stringa di durata (ms/s/m/h). Predefinito:30m(auth con chiave API) oppure1h(auth OAuth). Imposta0mper disabilitare.includeSystemPromptSection: quando è false, omette la sezione Heartbeat dal prompt di sistema e salta l’iniezione diHEARTBEAT.mdnel contesto bootstrap. Predefinito:true.suppressToolErrorWarnings: quando è true, sopprime i payload di avviso per errori degli strumenti durante le esecuzioni Heartbeat.timeoutSeconds: tempo massimo in secondi consentito per un turno agente Heartbeat prima che venga interrotto. Lascialo non impostato per usareagents.defaults.timeoutSeconds.directPolicy: criterio di consegna diretta/DM.allow(predefinito) consente la consegna a target diretti.blocksopprime la consegna a target diretti ed emettereason=dm-blocked.lightContext: quando è true, le esecuzioni Heartbeat usano un contesto bootstrap leggero e mantengono soloHEARTBEAT.mdtra i file bootstrap del workspace.isolatedSession: quando è true, ogni Heartbeat viene eseguito in una sessione nuova senza cronologia conversazionale precedente. Stesso pattern di isolamento di CronsessionTarget: "isolated". Riduce il costo in token per Heartbeat da ~100K a ~2-5K token.- Per agente: imposta
agents.list[].heartbeat. Quando un qualunque agente definisceheartbeat, solo quegli agenti eseguono Heartbeat. - Gli Heartbeat eseguono turni agente completi — intervalli più brevi consumano più token.
agents.defaults.compaction
mode:defaultoppuresafeguard(riassunto a blocchi per cronologie lunghe). Vedi Compaction.provider: id di un Plugin provider di Compaction registrato. Quando impostato, viene chiamatosummarize()del provider invece del riassunto LLM integrato. In caso di errore, ricade sull’implementazione integrata. Impostare un provider forzamode: "safeguard". Vedi Compaction.timeoutSeconds: massimo numero di secondi consentiti per una singola operazione di Compaction prima che OpenClaw la interrompa. Predefinito:900.identifierPolicy:strict(predefinito),offocustom.strictantepone una guida integrata per la conservazione di identificatori opachi durante il riassunto della Compaction.identifierInstructions: testo facoltativo personalizzato per la conservazione degli identificatori usato quandoidentifierPolicy=custom.postCompactionSections: nomi facoltativi di sezioni H2/H3 di AGENTS.md da reinserire dopo la Compaction. Predefinito["Session Startup", "Red Lines"]; imposta[]per disabilitare la reiniezione. Quando non impostato o impostato esplicitamente a quella coppia predefinita, vengono accettate anche le vecchie intestazioniEvery Session/Safetycome fallback legacy.model: override facoltativoprovider/model-idsolo per il riassunto della Compaction. Usalo quando la sessione principale deve mantenere un modello ma i riassunti di Compaction devono essere eseguiti su un altro; se non impostato, la Compaction usa il modello primario della sessione.notifyUser: quandotrue, invia brevi notifiche all’utente quando la Compaction inizia e quando termina (ad esempio “Compacting context…” e “Compaction complete”). Disabilitato per impostazione predefinita per mantenere la Compaction silenziosa.memoryFlush: turno agentic silenzioso prima della auto-Compaction per archiviare memorie durature. Saltato quando il workspace è in sola lettura.
agents.defaults.contextPruning
Esegue il pruning dei vecchi risultati degli strumenti dal contesto in memoria prima di inviarlo all’LLM. Non modifica la cronologia della sessione su disco.
Comportamento della modalità cache-ttl
Comportamento della modalità cache-ttl
mode: "cache-ttl"abilita i passaggi di pruning.ttlcontrolla quanto spesso il pruning può essere eseguito di nuovo (dopo l’ultimo tocco della cache).- Il pruning prima riduce in modo soft i risultati degli strumenti troppo grandi, poi se necessario svuota in modo hard i risultati più vecchi.
... nel mezzo.Hard-clear sostituisce l’intero risultato dello strumento con il segnaposto.Note:- I blocchi immagine non vengono mai ridotti o svuotati.
- I rapporti sono basati sui caratteri (approssimativi), non su conteggi esatti di token.
- Se esistono meno di
keepLastAssistantsmessaggi dell’assistente, il pruning viene saltato.
Block streaming
- I canali diversi da Telegram richiedono
*.blockStreaming: trueesplicito per abilitare le risposte a blocchi. - Override per canale:
channels.<channel>.blockStreamingCoalesce(e varianti per account). Signal/Slack/Discord/Google Chat usano per impostazione predefinitaminChars: 1500. humanDelay: pausa casuale tra le risposte a blocchi.natural= 800–2500ms. Override per agente:agents.list[].humanDelay.
Indicatori di digitazione
- Predefiniti:
instantper chat dirette/menzioni,messageper chat di gruppo senza menzione. - Override per sessione:
session.typingMode,session.typingIntervalSeconds.
agents.defaults.sandbox
Sandboxing facoltativo per l’agente embedded. Vedi Sandboxing per la guida completa.
Dettagli della sandbox
Dettagli della sandbox
Backend:Modalità OpenShell:
docker: runtime Docker locale (predefinito)ssh: runtime remoto generico basato su SSHopenshell: runtime OpenShell
backend: "openshell", le impostazioni specifiche del runtime si spostano in
plugins.entries.openshell.config.Configurazione backend SSH:target: target SSH nel formatouser@host[:port]command: comando client SSH (predefinito:ssh)workspaceRoot: root remota assoluta usata per workspace per ambitoidentityFile/certificateFile/knownHostsFile: file locali esistenti passati a OpenSSHidentityData/certificateData/knownHostsData: contenuti inline o SecretRef che OpenClaw materializza in file temporanei a runtimestrictHostKeyChecking/updateHostKeys: manopole di policy delle chiavi host OpenSSH
identityDataprevale suidentityFilecertificateDataprevale sucertificateFileknownHostsDataprevale suknownHostsFile- I valori
*Datasupportati da SecretRef vengono risolti dallo snapshot attivo del runtime dei secret prima che inizi la sessione sandbox
- inizializza il workspace remoto una volta dopo create o recreate
- poi mantiene canonico il workspace SSH remoto
- instrada
exec, gli strumenti file e i percorsi dei contenuti multimediali tramite SSH - non sincronizza automaticamente le modifiche remote verso l’host
- non supporta container browser sandbox
none: workspace sandbox per ambito sotto~/.openclaw/sandboxesro: workspace sandbox in/workspace, workspace agente montato in sola lettura in/agentrw: workspace agente montato in lettura/scrittura in/workspace
session: container + workspace per sessioneagent: un container + workspace per agente (predefinito)shared: container e workspace condivisi (nessun isolamento tra sessioni)
mirror: inizializza il remoto dal locale prima di exec, sincronizza di nuovo dopo exec; il workspace locale resta canonicoremote: inizializza il remoto una volta quando la sandbox viene creata, poi mantiene canonico il workspace remoto
remote, le modifiche locali sull’host effettuate fuori da OpenClaw non vengono sincronizzate automaticamente nella sandbox dopo il passaggio di inizializzazione.
Il trasporto avviene tramite SSH verso la sandbox OpenShell, ma il Plugin gestisce il ciclo di vita della sandbox e l’eventuale sincronizzazione mirror.setupCommand viene eseguito una volta dopo la creazione del container (tramite sh -lc). Richiede uscita di rete, root scrivibile e utente root.I container usano per impostazione predefinita network: "none" — imposta "bridge" (o una rete bridge personalizzata) se l’agente ha bisogno di accesso in uscita.
"host" è bloccato. "container:<id>" è bloccato per impostazione predefinita a meno che tu non imposti esplicitamente
sandbox.docker.dangerouslyAllowContainerNamespaceJoin: true (break-glass).Gli allegati in ingresso vengono preparati in media/inbound/* nel workspace attivo.docker.binds monta directory host aggiuntive; i bind globali e per agente vengono uniti.Browser sandboxed (sandbox.browser.enabled): Chromium + CDP in un container. L’URL noVNC viene inserito nel prompt di sistema. Non richiede browser.enabled in openclaw.json.
L’accesso osservatore noVNC usa per impostazione predefinita l’autenticazione VNC e OpenClaw emette un URL con token a breve durata (invece di esporre la password nell’URL condiviso).allowHostControl: false(predefinito) impedisce alle sessioni sandboxed di puntare al browser host.networkassume per impostazione predefinitaopenclaw-sandbox-browser(rete bridge dedicata). Impostalo subridgesolo quando vuoi esplicitamente connettività bridge globale.cdpSourceRangelimita facoltativamente l’ingresso CDP al margine del container a un intervallo CIDR (ad esempio172.21.0.1/32).sandbox.browser.bindsmonta directory host aggiuntive solo nel container browser sandbox. Quando impostato (incluso[]), sostituiscedocker.bindsper il container browser.- I valori predefiniti di avvio sono definiti in
scripts/sandbox-browser-entrypoint.she ottimizzati per host container:--remote-debugging-address=127.0.0.1--remote-debugging-port=<derived from OPENCLAW_BROWSER_CDP_PORT>--user-data-dir=${HOME}/.chrome--no-first-run--no-default-browser-check--disable-3d-apis--disable-gpu--disable-software-rasterizer--disable-dev-shm-usage--disable-background-networking--disable-features=TranslateUI--disable-breakpad--disable-crash-reporter--renderer-process-limit=2--no-zygote--metrics-recording-only--disable-extensions(abilitato per impostazione predefinita)--disable-3d-apis,--disable-software-rasterizere--disable-gpusono abilitati per impostazione predefinita e possono essere disabilitati conOPENCLAW_BROWSER_DISABLE_GRAPHICS_FLAGS=0se l’uso di WebGL/3D lo richiede.OPENCLAW_BROWSER_DISABLE_EXTENSIONS=0riabilita le estensioni se il tuo flusso di lavoro dipende da esse.--renderer-process-limit=2può essere modificato conOPENCLAW_BROWSER_RENDERER_PROCESS_LIMIT=<N>; imposta0per usare il limite di processi predefinito di Chromium.- più
--no-sandboxe--disable-setuid-sandboxquandonoSandboxè abilitato. - I valori predefiniti sono la baseline dell’immagine container; usa un’immagine browser personalizzata con un entrypoint personalizzato per modificare i valori predefiniti del container.
sandbox.docker.binds sono disponibili solo con Docker.
Costruisci le immagini:
agents.list (override per agente)
id: id agente stabile (obbligatorio).default: quando ne sono impostati più di uno, vince il primo (viene registrato un avviso). Se nessuno è impostato, la voce predefinita è la prima dell’elenco.model: la forma stringa sovrascrive soloprimary; la forma oggetto{ primary, fallbacks }sovrascrive entrambi ([]disabilita i fallback globali). I Cron job che sovrascrivono soloprimaryereditano comunque i fallback predefiniti a meno che tu non impostifallbacks: [].params: params di stream per agente uniti sopra la voce di modello selezionata inagents.defaults.models. Usalo per override specifici dell’agente comecacheRetention,temperatureomaxTokenssenza duplicare l’intero catalogo modelli.skills: allowlist di skill facoltativa per agente. Se omessa, l’agente ereditaagents.defaults.skillsquando impostato; un elenco esplicito sostituisce i valori predefiniti invece di unirli, e[]significa nessuna skill.thinkingDefault: livello thinking predefinito facoltativo per agente (off | minimal | low | medium | high | xhigh | adaptive | max). Sovrascriveagents.defaults.thinkingDefaultper questo agente quando non è impostato alcun override per messaggio o sessione.reasoningDefault: visibilità predefinita facoltativa del reasoning per agente (on | off | stream). Si applica quando non è impostato alcun override di reasoning per messaggio o sessione.fastModeDefault: valore predefinito facoltativo per agente per la modalità fast (true | false). Si applica quando non è impostato alcun override di modalità fast per messaggio o sessione.embeddedHarness: override facoltativo per agente della policy dell’harness a basso livello. Usa{ runtime: "codex", fallback: "none" }per rendere un agente solo-Codex mentre gli altri agenti mantengono il fallback PI predefinito.runtime: descrittore runtime facoltativo per agente. Usatype: "acp"con i valori predefinitiruntime.acp(agent,backend,mode,cwd) quando l’agente deve usare per impostazione predefinita sessioni harness ACP.identity.avatar: percorso relativo al workspace, URLhttp(s)o URIdata:.identityderiva i valori predefiniti:ackReactiondaemoji,mentionPatternsdaname/emoji.subagents.allowAgents: allowlist di id agente persessions_spawn(["*"]= qualunque; predefinito: solo lo stesso agente).- Guard di ereditarietà della sandbox: se la sessione richiedente è sandboxed,
sessions_spawnrifiuta target che verrebbero eseguiti senza sandbox. subagents.requireAgentId: quando è true, blocca le chiamatesessions_spawnche omettonoagentId(forza la selezione esplicita del profilo; predefinito: false).
Instradamento multi-agente
Esegui più agenti isolati all’interno di un unico Gateway. Vedi Multi-Agent.Campi di corrispondenza del binding
type(facoltativo):routeper l’instradamento normale (type mancante usa route come predefinito),acpper binding persistenti di conversazioni ACP.match.channel(obbligatorio)match.accountId(facoltativo;*= qualunque account; omesso = account predefinito)match.peer(facoltativo;{ kind: direct|group|channel, id })match.guildId/match.teamId(facoltativi; specifici del canale)acp(facoltativo; solo pertype: "acp"):{ mode, label, cwd, backend }
match.peermatch.guildIdmatch.teamIdmatch.accountId(esatto, senza peer/guild/team)match.accountId: "*"(a livello di canale)- Agente predefinito
bindings corrispondente.
Per le voci type: "acp", OpenClaw risolve per identità esatta della conversazione (match.channel + account + match.peer.id) e non usa l’ordine dei livelli di binding route sopra.
Profili di accesso per agente
Accesso completo (senza sandbox)
Accesso completo (senza sandbox)
Strumenti + workspace di sola lettura
Strumenti + workspace di sola lettura
Nessun accesso al filesystem (solo messaggistica)
Nessun accesso al filesystem (solo messaggistica)
Sessione
Dettagli dei campi della sessione
Dettagli dei campi della sessione
scope: strategia base di raggruppamento delle sessioni per i contesti di chat di gruppo.per-sender(predefinito): ogni mittente ottiene una sessione isolata all’interno di un contesto canale.global: tutti i partecipanti in un contesto canale condividono una singola sessione (usalo solo quando il contesto condiviso è intenzionale).
dmScope: come vengono raggruppate le DM.main: tutte le DM condividono la sessione principale.per-peer: isola per id mittente tra i canali.per-channel-peer: isola per canale + mittente (consigliato per inbox multiutente).per-account-channel-peer: isola per account + canale + mittente (consigliato per multi-account).
identityLinks: mappa gli id canonici ai peer con prefisso provider per la condivisione delle sessioni tra canali.reset: policy di reset primaria.dailyreimposta aatHourin ora locale;idlereimposta dopoidleMinutes. Quando sono configurati entrambi, prevale quello che scade per primo.resetByType: override per tipo (direct,group,thread). Il legacydmè accettato come alias didirect.parentForkMaxTokens:totalTokensmassimo della sessione parent consentito quando si crea una sessione thread forked (predefinito100000).- Se
totalTokensdel parent è superiore a questo valore, OpenClaw avvia una nuova sessione thread invece di ereditare la cronologia della trascrizione del parent. - Imposta
0per disabilitare questa guardia e consentire sempre il fork del parent.
- Se
mainKey: campo legacy. Il runtime usa sempre"main"per il bucket principale delle chat dirette.agentToAgent.maxPingPongTurns: numero massimo di turni di risposta tra agenti durante gli scambi agente-a-agente (intero, intervallo:0–5).0disabilita la catena ping-pong.sendPolicy: corrispondenza tramitechannel,chatType(direct|group|channel, con alias legacydm),keyPrefixorawKeyPrefix. Vince il primo deny.maintenance: controlli di pulizia e retention dell’archivio sessioni.mode:warnemette solo avvisi;enforceapplica la pulizia.pruneAfter: soglia di età per le voci obsolete (predefinito30d).maxEntries: numero massimo di voci insessions.json(predefinito500).rotateBytes: ruotasessions.jsonquando supera questa dimensione (predefinito10mb).resetArchiveRetention: retention per gli archivi di trascrizione*.reset.<timestamp>. Predefinito uguale apruneAfter; impostafalseper disabilitare.maxDiskBytes: budget facoltativo del disco per la directory delle sessioni. In modalitàwarnregistra avvisi; in modalitàenforcerimuove prima gli artefatti/sessioni più vecchi.highWaterBytes: target facoltativo dopo la pulizia del budget. Predefinito80%dimaxDiskBytes.
threadBindings: valori predefiniti globali per le funzionalità di sessione legate ai thread.enabled: interruttore predefinito principale (i provider possono fare override; Discord usachannels.discord.threadBindings.enabled)idleHours: auto-unfocus predefinito per inattività in ore (0disabilita; i provider possono fare override)maxAgeHours: età massima rigida predefinita in ore (0disabilita; i provider possono fare override)
Messaggi
Prefisso di risposta
Override per canale/account:channels.<channel>.responsePrefix, channels.<channel>.accounts.<id>.responsePrefix.
Risoluzione (vince il più specifico): account → canale → globale. "" disabilita e interrompe la cascata. "auto" deriva [{identity.name}].
Variabili template:
| Variabile | Descrizione | Esempio |
|---|---|---|
{model} | Nome breve del modello | claude-opus-4-6 |
{modelFull} | Identificatore completo del modello | anthropic/claude-opus-4-6 |
{provider} | Nome del provider | anthropic |
{thinkingLevel} | Livello di thinking corrente | high, low, off |
{identity.name} | Nome dell’identità dell’agente | (uguale a "auto") |
{think} è un alias di {thinkingLevel}.
Reazione ack
- Il valore predefinito è
identity.emojidell’agente attivo, altrimenti"👀". Imposta""per disabilitare. - Override per canale:
channels.<channel>.ackReaction,channels.<channel>.accounts.<id>.ackReaction. - Ordine di risoluzione: account → canale →
messages.ackReaction→ fallback identity. - Ambito:
group-mentions(predefinito),group-all,direct,all. removeAckAfterReply: rimuove l’ack dopo la risposta su Slack, Discord e Telegram.messages.statusReactions.enabled: abilita le reazioni di stato del ciclo di vita su Slack, Discord e Telegram. Su Slack e Discord, se non impostato mantiene abilitate le reazioni di stato quando le reazioni ack sono attive. Su Telegram, impostalo esplicitamente sutrueper abilitare le reazioni di stato del ciclo di vita.
Debounce in ingresso
Raggruppa messaggi rapidi solo testo dallo stesso mittente in un singolo turno dell’agente. I contenuti multimediali/allegati fanno flush immediato. I comandi di controllo aggirano il debounce.TTS (text-to-speech)
autocontrolla la modalità auto-TTS predefinita:off,always,inboundotagged./tts on|offpuò sovrascrivere le preferenze locali, e/tts statusmostra lo stato effettivo.summaryModelsovrascriveagents.defaults.model.primaryper il riepilogo automatico.modelOverridesè abilitato per impostazione predefinita;modelOverrides.allowProviderha come predefinitofalse(opt-in).- Le chiavi API usano come fallback
ELEVENLABS_API_KEY/XI_API_KEYeOPENAI_API_KEY. openai.baseUrlsovrascrive l’endpoint TTS OpenAI. L’ordine di risoluzione è configurazione, poiOPENAI_TTS_BASE_URL, poihttps://api.openai.com/v1.- Quando
openai.baseUrlpunta a un endpoint non OpenAI, OpenClaw lo tratta come un server TTS compatibile con OpenAI e rilassa la validazione di modello/voce.
Talk
Valori predefiniti per la modalità Talk (macOS/iOS/Android).talk.providerdeve corrispondere a una chiave intalk.providersquando sono configurati più provider Talk.- Le chiavi legacy piatte di Talk (
talk.voiceId,talk.voiceAliases,talk.modelId,talk.outputFormat,talk.apiKey) servono solo per compatibilità e vengono migrate automaticamente intalk.providers.<provider>. - Gli ID voce usano come fallback
ELEVENLABS_VOICE_IDoSAG_VOICE_ID. providers.*.apiKeyaccetta stringhe plaintext o oggetti SecretRef.- Il fallback
ELEVENLABS_API_KEYsi applica solo quando non è configurata alcuna chiave API Talk. providers.*.voiceAliasesconsente alle direttive Talk di usare nomi amichevoli.silenceTimeoutMscontrolla quanto tempo la modalità Talk aspetta dopo il silenzio dell’utente prima di inviare la trascrizione. Se non impostato, mantiene la finestra di pausa predefinita della piattaforma (700 ms su macOS e Android, 900 ms su iOS).
Correlati
- Riferimento della configurazione — tutte le altre chiavi di configurazione
- Configurazione — attività comuni e configurazione rapida
- Esempi di configurazione