Configuratiesleutels binnen het bereik van agents onderDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
agents.*, multiAgent.*, session.*,
messages.* en talk.*. Zie voor kanalen, tools, Gateway-runtime en andere
top-level sleutels de Configuratiereferentie.
Standaardwaarden voor agents
agents.defaults.workspace
Standaard: ~/.openclaw/workspace.
agents.defaults.repoRoot
Optionele repositoryroot die wordt getoond in de Runtime-regel van de systeemprompt. Als deze niet is ingesteld, detecteert OpenClaw deze automatisch door vanaf de werkruimte omhoog te lopen.
agents.defaults.skills
Optionele standaard-toestaanlijst voor Skills voor agents die
agents.list[].skills niet instellen.
- Laat
agents.defaults.skillsweg voor standaard onbeperkte Skills. - Laat
agents.list[].skillsweg om de standaardwaarden te erven. - Stel
agents.list[].skills: []in voor geen Skills. - Een niet-lege lijst
agents.list[].skillsis de definitieve set voor die agent; deze wordt niet samengevoegd met standaardwaarden.
agents.defaults.skipBootstrap
Schakelt automatische aanmaak van werkruimte-bootstrapbestanden uit (AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md, BOOTSTRAP.md).
agents.defaults.skipOptionalBootstrapFiles
Slaat de aanmaak van geselecteerde optionele werkruimtebestanden over terwijl vereiste bootstrapbestanden nog steeds worden geschreven. Geldige waarden: SOUL.md, USER.md, HEARTBEAT.md en IDENTITY.md.
agents.defaults.contextInjection
Bepaalt wanneer werkruimte-bootstrapbestanden in de systeemprompt worden geïnjecteerd. Standaard: "always".
"continuation-skip": veilige vervolgbeurten (na een voltooide assistentrespons) slaan herinjectie van werkruimte-bootstrap over, waardoor de promptgrootte afneemt. Heartbeat-runs en nieuwe pogingen na Compaction bouwen de context nog steeds opnieuw op."never": schakel injectie van werkruimte-bootstrap en contextbestanden bij elke beurt uit. Gebruik dit alleen voor agents die hun promptlevenscyclus volledig zelf beheren (aangepaste context-engines, native runtimes die hun eigen context bouwen, of gespecialiseerde workflows zonder bootstrap). Heartbeat- en Compaction-herstelbeurten slaan injectie ook over.
agents.defaults.bootstrapMaxChars
Maximaal aantal tekens per werkruimte-bootstrapbestand vóór afkapping. Standaard: 12000.
agents.defaults.bootstrapTotalMaxChars
Maximaal totaal aantal tekens dat over alle werkruimte-bootstrapbestanden wordt geïnjecteerd. Standaard: 60000.
agents.defaults.bootstrapPromptTruncationWarning
Bepaalt de voor de agent zichtbare systeempromptmelding wanneer bootstrapcontext wordt afgekapt.
Standaard: "once".
"off": injecteer nooit tekst voor een afkappingsmelding in de systeemprompt."once": injecteer eenmaal per unieke afkappingssignatuur een beknopte melding (aanbevolen)."always": injecteer bij elke run een beknopte melding wanneer er afkapping bestaat.
Eigendomsoverzicht van contextbudgetten
OpenClaw heeft meerdere prompt-/contextbudgetten met hoog volume, en deze zijn bewust per subsysteem opgesplitst in plaats van allemaal via één generieke knop te lopen.agents.defaults.bootstrapMaxChars/agents.defaults.bootstrapTotalMaxChars: normale injectie van werkruimte-bootstrap.agents.defaults.startupContext.*: eenmalige prelude voor reset-/opstartmodelruns, inclusief recente dagelijksememory/*.md-bestanden. Kale chatopdrachten/newen/resetworden bevestigd zonder het model aan te roepen.skills.limits.*: de compacte Skills-lijst die in de systeemprompt wordt geïnjecteerd.agents.defaults.contextLimits.*: begrensde runtime-uittreksels en geïnjecteerde blokken die eigendom zijn van de runtime.memory.qmd.limits.*: snippet voor geïndexeerd zoeken in geheugen en injectiegrootte.
agents.list[].skillsLimits.maxSkillsPromptCharsagents.list[].contextLimits.*
agents.defaults.startupContext
Bepaalt de opstartprelude voor de eerste beurt die bij reset-/opstartmodelruns wordt geïnjecteerd.
Kale chatopdrachten /new en /reset bevestigen de reset zonder het model
aan te roepen, dus zij laden deze prelude niet.
agents.defaults.contextLimits
Gedeelde standaardwaarden voor begrensde runtimecontextoppervlakken.
memoryGetMaxChars: standaardlimiet voormemory_get-uittreksels voordat afkappingsmetadata en vervolgmelding worden toegevoegd.memoryGetDefaultLines: standaardregelvenster voormemory_getwanneerlineswordt weggelaten.toolResultMaxChars: limiet voor live toolresultaten die wordt gebruikt voor persistente resultaten en overloopherstel.postCompactionMaxChars: limiet voor AGENTS.md-uittreksels die wordt gebruikt tijdens vernieuwingsinjectie na Compaction.
agents.list[].contextLimits
Override per agent voor de gedeelde contextLimits-knoppen. Weggelaten velden erven
van agents.defaults.contextLimits.
skills.limits.maxSkillsPromptChars
Globale limiet voor de compacte Skills-lijst die in de systeemprompt wordt geïnjecteerd. Dit
heeft geen invloed op het op aanvraag lezen van SKILL.md-bestanden.
agents.list[].skillsLimits.maxSkillsPromptChars
Override per agent voor het Skills-promptbudget.
agents.defaults.imageMaxDimensionPx
Maximale pixelgrootte voor de langste zijde van een afbeelding in transcript-/toolafbeeldingsblokken vóór provideraanroepen.
Standaard: 1200.
Lagere waarden verminderen meestal het gebruik van vision-tokens en de grootte van aanvraagpayloads bij runs met veel screenshots.
Hogere waarden behouden meer visueel detail.
agents.defaults.userTimezone
Tijdzone voor systeempromptcontext (niet voor berichttijdstempels). Valt terug op de tijdzone van de host.
agents.defaults.timeFormat
Tijdnotatie in de systeemprompt. Standaard: auto (OS-voorkeur).
agents.defaults.model
model: accepteert een string ("provider/model") of een object ({ primary, fallbacks }).- Stringvorm stelt alleen het primaire model in.
- Objectvorm stelt het primaire model plus geordende failovermodellen in.
imageModel: accepteert een string ("provider/model") of een object ({ primary, fallbacks }).- Gebruikt door het toolpad
imageals configuratie voor het vision-model. - Wordt ook gebruikt als fallback-routering wanneer het geselecteerde/standaardmodel geen afbeeldingsinvoer kan accepteren.
- Geef de voorkeur aan expliciete
provider/model-refs. Kale ID’s worden voor compatibiliteit geaccepteerd; als een kale ID uniek overeenkomt met een geconfigureerde image-capable entry inmodels.providers.*.models, kwalificeert OpenClaw deze voor die provider. Ambigue geconfigureerde overeenkomsten vereisen een expliciet providerprefix.
- Gebruikt door het toolpad
imageGenerationModel: accepteert een string ("provider/model") of een object ({ primary, fallbacks }).- Gebruikt door de gedeelde mogelijkheid voor afbeeldingsgeneratie en elk toekomstig tool-/plugin-oppervlak dat afbeeldingen genereert.
- Typische waarden:
google/gemini-3.1-flash-image-previewvoor native Gemini-afbeeldingsgeneratie,fal/fal-ai/flux/devvoor fal,openai/gpt-image-2voor OpenAI Images, ofopenai/gpt-image-1.5voor OpenAI PNG-/WebP-uitvoer met transparante achtergrond. - Als je rechtstreeks een provider/model selecteert, configureer dan ook de bijbehorende provider-authenticatie (bijvoorbeeld
GEMINI_API_KEYofGOOGLE_API_KEYvoorgoogle/*,OPENAI_API_KEYof OpenAI Codex OAuth vooropenai/gpt-image-2/openai/gpt-image-1.5,FAL_KEYvoorfal/*). - Als dit wordt weggelaten, kan
image_generatenog steeds een door authenticatie ondersteunde providerstandaard afleiden. Het probeert eerst de huidige standaardprovider en daarna de resterende geregistreerde providers voor afbeeldingsgeneratie in volgorde van provider-id.
musicGenerationModel: accepteert een string ("provider/model") of een object ({ primary, fallbacks }).- Gebruikt door de gedeelde mogelijkheid voor muziekgeneratie en de ingebouwde tool
music_generate. - Typische waarden:
google/lyria-3-clip-preview,google/lyria-3-pro-preview, ofminimax/music-2.6. - Als dit wordt weggelaten, kan
music_generatenog steeds een door authenticatie ondersteunde providerstandaard afleiden. Het probeert eerst de huidige standaardprovider en daarna de resterende geregistreerde providers voor muziekgeneratie in volgorde van provider-id. - Als je rechtstreeks een provider/model selecteert, configureer dan ook de bijbehorende provider-authenticatie/API-sleutel.
- Gebruikt door de gedeelde mogelijkheid voor muziekgeneratie en de ingebouwde tool
videoGenerationModel: accepteert een string ("provider/model") of een object ({ primary, fallbacks }).- Gebruikt door de gedeelde mogelijkheid voor videogeneratie en de ingebouwde tool
video_generate. - Typische waarden:
qwen/wan2.6-t2v,qwen/wan2.6-i2v,qwen/wan2.6-r2v,qwen/wan2.6-r2v-flash, ofqwen/wan2.7-r2v. - Als dit wordt weggelaten, kan
video_generatenog steeds een door authenticatie ondersteunde providerstandaard afleiden. Het probeert eerst de huidige standaardprovider en daarna de resterende geregistreerde providers voor videogeneratie in volgorde van provider-id. - Als je rechtstreeks een provider/model selecteert, configureer dan ook de bijbehorende provider-authenticatie/API-sleutel.
- De gebundelde Qwen-provider voor videogeneratie ondersteunt maximaal 1 uitvoervideo, 1 invoerafbeelding, 4 invoervideo’s, 10 seconden duur, en provider-level opties
size,aspectRatio,resolution,audioenwatermark.
- Gebruikt door de gedeelde mogelijkheid voor videogeneratie en de ingebouwde tool
pdfModel: accepteert een string ("provider/model") of een object ({ primary, fallbacks }).- Gebruikt door de tool
pdfvoor modelroutering. - Als dit wordt weggelaten, valt de PDF-tool terug op
imageModelen daarna op het opgeloste sessie-/standaardmodel.
- Gebruikt door de tool
pdfMaxBytesMb: standaardlimiet voor PDF-grootte voor de toolpdfwanneermaxBytesMbniet tijdens de aanroep wordt doorgegeven.pdfMaxPages: standaard maximumaantal pagina’s dat wordt meegenomen door de extraction fallback mode in de toolpdf.verboseDefault: standaard verbose-niveau voor agenten. Waarden:"off","on","full". Standaard:"off".toolProgressDetail: detailmodus voor/verbose-toolsamenvattingen en progress-draft tool-regels. Waarden:"explain"(standaard, compacte menselijke labels) of"raw"(voeg raw command/detail toe wanneer beschikbaar). Per-agentagents.list[].toolProgressDetailoverschrijft deze standaard.reasoningDefault: standaard zichtbaarheid van redenering voor agenten. Waarden:"off","on","stream". Per-agentagents.list[].reasoningDefaultoverschrijft deze standaard. Geconfigureerde reasoning-standaarden worden alleen toegepast voor eigenaren, geautoriseerde afzenders of operator-admin Gateway-contexten wanneer er geen reasoning-override per bericht of sessie is ingesteld.elevatedDefault: standaardniveau voor verhoogde uitvoer voor agenten. Waarden:"off","on","ask","full". Standaard:"on".model.primary: formaatprovider/model(bijv.openai/gpt-5.5voor OpenAI API-sleutel- of Codex OAuth-toegang). Als je de provider weglaat, probeert OpenClaw eerst een alias, daarna een unieke overeenkomst met een geconfigureerde provider voor precies dat model-id, en valt pas daarna terug op de geconfigureerde standaardprovider (verouderd compatibiliteitsgedrag, dus geef de voorkeur aan explicieteprovider/model). Als die provider het geconfigureerde standaardmodel niet meer aanbiedt, valt OpenClaw terug op de eerste geconfigureerde provider/model in plaats van een verouderde standaard van een verwijderde provider te tonen.models: de geconfigureerde modelcatalogus en allowlist voor/model. Elke entry kanalias(snelkoppeling) enparamsbevatten (providerspecifiek, bijvoorbeeldtemperature,maxTokens,cacheRetention,context1m,responsesServerCompaction,responsesCompactThreshold,chat_template_kwargs,extra_body/extraBody).- Gebruik entries met providerbereik zoals
"openai-codex/*": {}of"vllm/*": {}om alle ontdekte modellen voor geselecteerde providers te tonen zonder elk model-id handmatig te vermelden. - Veilige bewerkingen: gebruik
openclaw config set agents.defaults.models '<json>' --strict-json --mergeom entries toe te voegen.config setweigert vervangingen die bestaande allowlist-entries zouden verwijderen, tenzij je--replacedoorgeeft. - Provider-scoped configure-/onboarding-flows voegen geselecteerde providermodellen samen in deze map en behouden niet-gerelateerde providers die al zijn geconfigureerd.
- Voor directe OpenAI Responses-modellen wordt serverside Compaction automatisch ingeschakeld. Gebruik
params.responsesServerCompaction: falseom het injecteren vancontext_managementte stoppen, ofparams.responsesCompactThresholdom de drempel te overschrijven. Zie OpenAI serverside Compaction.
- Gebruik entries met providerbereik zoals
params: globale standaardproviderparameters die op alle modellen worden toegepast. Ingesteld opagents.defaults.params(bijv.{ cacheRetention: "long" }).- Mergeprioriteit van
params(configuratie):agents.defaults.params(globale basis) wordt overschreven dooragents.defaults.models["provider/model"].params(per model), daarna overschrijftagents.list[].params(overeenkomend agent-id) per sleutel. Zie Promptcaching voor details. params.extra_body/params.extraBody: geavanceerde pass-through JSON die wordt samengevoegd inapi: "openai-completions"-request bodies voor OpenAI-compatibele proxies. Als dit botst met gegenereerde requestsleutels, wint de extra body; niet-native completions-routes verwijderen daarna nog steeds OpenAI-onlystore.params.chat_template_kwargs: vLLM/OpenAI-compatibele chat-template-argumenten die worden samengevoegd in top-levelapi: "openai-completions"-request bodies. Voorvllm/nemotron-3-*met denken uit verzendt de gebundelde vLLM-plugin automatischenable_thinking: falseenforce_nonempty_content: true; explicietechat_template_kwargsoverschrijven gegenereerde standaarden, enextra_body.chat_template_kwargsheeft nog steeds de laatste prioriteit. Stel voor Qwen thinking-controlsparams.qwenThinkingFormatin op"chat-template"of"top-level"op die model-entry.compat.thinkingFormat: OpenAI-compatibele thinking-payloadstijl. Gebruik"qwen"voor Qwen-style top-levelenable_thinking, of"qwen-chat-template"voorchat_template_kwargs.enable_thinkingop Qwen-family backends die request-level chat-template kwargs ondersteunen, zoals vLLM. OpenClaw mappt uitgeschakeld denken naarfalseen ingeschakeld denken naartrue.compat.supportedReasoningEfforts: OpenAI-compatibele lijst met reasoning-efforts per model. Neem"xhigh"op voor custom endpoints die dit echt accepteren; OpenClaw toont dan/think xhighin commandomenu’s, Gateway-sessierijen, session patch-validatie, agent-CLI-validatie enllm-task-validatie voor die geconfigureerde provider/model. Gebruikcompat.reasoningEffortMapwanneer de backend een providerspecifieke waarde voor een canoniek niveau verwacht.params.preserveThinking: Z.AI-only opt-in voor behouden denken. Wanneer dit is ingeschakeld en denken aan staat, verzendt OpenClawthinking.clear_thinking: falseen speelt eerderereasoning_contentopnieuw af; zie Z.AI-denken en behouden denken.localService: optionele processmanager op providerniveau voor lokale/self-hosted modelservers. Wanneer het geselecteerde model bij die provider hoort, controleert OpenClawhealthUrl(ofbaseUrl + "/models"), startcommandmetargsals het endpoint niet beschikbaar is, wacht maximaalreadyTimeoutMsen verzendt daarna de modelrequest.commandmoet een absoluut pad zijn.idleStopMs: 0houdt het proces actief totdat OpenClaw afsluit; een positieve waarde stopt het door OpenClaw gestarte proces na dat aantal inactieve milliseconden. Zie Lokale modelservices.- Runtimebeleid hoort bij providers of modellen, niet bij
agents.defaults. Gebruikmodels.providers.<provider>.agentRuntimevoor providerbrede regels ofagents.defaults.models["provider/model"].agentRuntime/agents.list[].models["provider/model"].agentRuntimevoor modelspecifieke regels. OpenAI-agentmodellen op de officiële OpenAI-provider selecteren standaard Codex. - Config-writers die deze velden wijzigen (bijvoorbeeld
/models set,/models set-imageen fallback-add/remove-commando’s) slaan de canonieke objectvorm op en behouden bestaande fallbacklijsten waar mogelijk. maxConcurrent: maximaal aantal parallelle agentruns over sessies heen (elke sessie blijft geserialiseerd). Standaard: 4.
Runtimebeleid
id:"auto","pi", een geregistreerde plugin harness-id, of een ondersteunde CLI-backendalias. De gebundelde Codex-plugin registreertcodex; de gebundelde Anthropic-plugin biedt de CLI-backendclaude-cli.id: "auto"laat geregistreerde plugin harnesses ondersteunde turns claimen en gebruikt PI wanneer geen harness overeenkomt. Een expliciete plugin-runtime zoalsid: "codex"vereist die harness en faalt gesloten als deze niet beschikbaar is of faalt.- Whole-agent runtime-sleutels zijn legacy.
agents.defaults.agentRuntime,agents.list[].agentRuntime, sessie-runtimepins enOPENCLAW_AGENT_RUNTIMEworden genegeerd door runtime-selectie. Voeropenclaw doctor --fixuit om verouderde waarden te verwijderen. - OpenAI-agentmodellen gebruiken standaard de Codex-harness; provider/model
agentRuntime.id: "codex"blijft geldig wanneer je dit expliciet wilt maken. - Voor Claude CLI-deployments geef je de voorkeur aan
model: "anthropic/claude-opus-4-7"plus model-scopedagentRuntime.id: "claude-cli". Legacyclaude-cli/claude-opus-4-7-modelrefs blijven werken voor compatibiliteit, maar nieuwe configuratie moet provider/model-selectie canoniek houden en de execution-backend in provider/model-runtimebeleid plaatsen. - Dit regelt alleen de uitvoering van tekst-agent-turns. Mediageneratie, vision, PDF, muziek, video en TTS blijven hun provider/model-instellingen gebruiken.
agents.defaults.models staat):
| Alias | Model |
|---|---|
opus | anthropic/claude-opus-4-6 |
sonnet | anthropic/claude-sonnet-4-6 |
gpt | openai/gpt-5.5 |
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 instelt of zelf agents.defaults.models["zai/<model>"].params.thinking definieert.
Z.AI-modellen schakelen standaard tool_stream in voor het streamen van tool-calls. Stel agents.defaults.models["zai/<model>"].params.tool_stream in op false om dit uit te schakelen.
Anthropic Claude 4.6-modellen gebruiken standaard adaptive denken wanneer geen expliciet denkniveau is ingesteld.
agents.defaults.cliBackends
Optionele CLI-backends voor tekst-only fallback-runs (geen tool-calls). Handig als back-up wanneer API-providers falen.
- CLI-backends zijn tekstgericht; tools zijn altijd uitgeschakeld.
- Sessies worden ondersteund wanneer
sessionArgis ingesteld. - Doorvoer van afbeeldingen wordt ondersteund wanneer
imageArgbestandspaden accepteert. reseedFromRawTranscriptWhenUncompacted: truelaat een backend veilig ongeldig gemaakte sessies herstellen vanuit een begrensde ruwe OpenClaw-transcriptstaart voordat de eerste Compaction-samenvatting bestaat. Wijzigingen in auth-profiel of credential-epoch worden nog steeds nooit opnieuw met raw-reseed gevuld.
agents.defaults.systemPromptOverride
Vervang de volledige door OpenClaw samengestelde systeemprompt door een vaste string. Stel dit in op standaardniveau (agents.defaults.systemPromptOverride) of per agent (agents.list[].systemPromptOverride). Waarden per agent hebben voorrang; een lege waarde of een waarde met alleen witruimte wordt genegeerd. Handig voor gecontroleerde prompt-experimenten.
agents.defaults.promptOverlays
Provider-onafhankelijke prompt-overlays toegepast per modelfamilie. Model-id’s uit de GPT-5-familie ontvangen het gedeelde gedragscontract over providers heen; personality regelt alleen de vriendelijke interactiestijllaag.
"friendly"(standaard) en"on"schakelen de vriendelijke interactiestijllaag in."off"schakelt alleen de vriendelijke laag uit; het getagde GPT-5-gedragscontract blijft ingeschakeld.- Verouderde
plugins.entries.openai.config.personalitywordt nog steeds gelezen wanneer deze gedeelde instelling niet is ingesteld.
agents.defaults.heartbeat
Periodieke Heartbeat-runs.
every: duurstring (ms/s/m/h). Standaard:30m(API-key-auth) of1h(OAuth-auth). Stel in op0mom uit te schakelen.includeSystemPromptSection: wanneer false, laat de Heartbeat-sectie weg uit de systeemprompt en slaat injectie vanHEARTBEAT.mdin de bootstrapcontext over. Standaard:true.suppressToolErrorWarnings: wanneer true, onderdrukt tool-foutwaarschuwingspayloads tijdens Heartbeat-runs.timeoutSeconds: maximale tijd in seconden die is toegestaan voor een Heartbeat-agentbeurt voordat die wordt afgebroken. Laat niet ingesteld omagents.defaults.timeoutSecondste gebruiken.directPolicy: beleid voor directe/DM-bezorging.allow(standaard) staat bezorging naar een direct doel toe.blockonderdrukt bezorging naar een direct doel en geeftreason=dm-blockeduit.lightContext: wanneer true, gebruiken Heartbeat-runs lichte bootstrapcontext en behouden ze alleenHEARTBEAT.mduit workspace-bootstrapbestanden.isolatedSession: wanneer true, draait elke Heartbeat in een nieuwe sessie zonder eerdere gespreksgeschiedenis. Hetzelfde isolatiepatroon als cronsessionTarget: "isolated". Verlaagt de tokenkosten per Heartbeat van ~100K naar ~2-5K tokens.skipWhenBusy: wanneer true, stellen Heartbeat-runs uit bij extra bezette lanes: subagent- of genest commandowerk. Cron-lanes stellen Heartbeats altijd uit, zelfs zonder deze flag.- Per agent: stel
agents.list[].heartbeatin. Wanneer een agentheartbeatdefinieert, draaien alleen die agents Heartbeats. - Heartbeats draaien volledige agentbeurten — kortere intervallen verbruiken meer tokens.
agents.defaults.compaction
mode:defaultofsafeguard(gechunkte samenvatting voor lange geschiedenissen). Zie Compaction.provider: id van een geregistreerde Compaction-provider-plugin. Wanneer ingesteld, wordt desummarize()van de provider aangeroepen in plaats van ingebouwde LLM-samenvatting. Valt terug op ingebouwd bij een fout. Het instellen van een provider forceertmode: "safeguard". Zie Compaction.timeoutSeconds: maximum aantal seconden dat is toegestaan voor één Compaction-bewerking voordat OpenClaw deze afbreekt. Standaard:900.keepRecentTokens: Pi-cutpointbudget om de meest recente transcriptstaart letterlijk te behouden. Handmatige/compactrespecteert dit wanneer het expliciet is ingesteld; anders is handmatige Compaction een hard checkpoint.identifierPolicy:strict(standaard),offofcustom.strictvoegt ingebouwde richtlijnen voor behoud van ondoorzichtige identifiers toe tijdens Compaction-samenvatting.identifierInstructions: optionele aangepaste tekst voor behoud van identifiers, gebruikt wanneeridentifierPolicy=custom.qualityGuard: controles voor opnieuw proberen bij malformed output voor safeguard-samenvattingen. Standaard ingeschakeld in safeguard-modus; stelenabled: falsein om de audit over te slaan.midTurnPrecheck: optionele Pi tool-loop-drukcontrole. Wanneerenabled: true, controleert OpenClaw contextdruk nadat tool-resultaten zijn toegevoegd en vóór de volgende modelaanroep. Als de context niet meer past, breekt het de huidige poging af voordat de prompt wordt ingediend en hergebruikt het het bestaande precheck-herstelpad om tool-resultaten af te kappen of te compacten en opnieuw te proberen. Werkt met zoweldefault- alssafeguard-Compaction-modi. Standaard: uitgeschakeld.postCompactionSections: optionele AGENTS.md H2/H3-sectienamen om na Compaction opnieuw te injecteren. Standaard["Session Startup", "Red Lines"]; stel[]in om herinjectie uit te schakelen. Wanneer niet ingesteld of expliciet ingesteld op dat standaardpaar, worden oudere koppenEvery Session/Safetyook geaccepteerd als legacy fallback.model: optioneleprovider/model-id-override alleen voor Compaction-samenvatting. Gebruik dit wanneer de hoofdsessie één model moet behouden, maar Compaction-samenvattingen op een ander model moeten draaien; wanneer niet ingesteld, gebruikt Compaction het primaire model van de sessie.maxActiveTranscriptBytes: optionele byte-drempel (numberof strings zoals"20mb") die normale lokale Compaction activeert vóór een run wanneer de actieve JSONL boven de drempel groeit. VereisttruncateAfterCompactionzodat geslaagde Compaction kan roteren naar een kleiner opvolgend transcript. Uitgeschakeld wanneer niet ingesteld of0.notifyUser: wanneertrue, stuurt korte meldingen naar de gebruiker wanneer Compaction start en wanneer deze voltooid is (bijvoorbeeld “Compacting context…” en “Compaction complete”). Standaard uitgeschakeld om Compaction stil te houden.memoryFlush: stille agentic beurt vóór automatische Compaction om duurzame herinneringen op te slaan. Stelmodelin op een exacte provider/model zoalsollama/qwen3:8bwanneer deze housekeepingbeurt op een lokaal model moet blijven; de override erft de fallback-keten van de actieve sessie niet. Overgeslagen wanneer de workspace alleen-lezen is.
agents.defaults.contextPruning
Snoeit oude tool-resultaten uit in-memory context voordat naar de LLM wordt verzonden. Wijzigt de sessiegeschiedenis op schijf niet.
cache-ttl-modusgedrag
cache-ttl-modusgedrag
mode: "cache-ttl"schakelt snoeipasses in.ttlregelt hoe vaak snoeien opnieuw kan draaien (na de laatste cache-aanraking).- Snoeien trimt eerst te grote tool-resultaten zacht en wist daarna oudere tool-resultaten hard indien nodig.
... in het midden in.Hard wissen vervangt het volledige tool-resultaat door de placeholder.Opmerkingen:- Afbeeldingsblokken worden nooit getrimd/gewist.
- Ratio’s zijn gebaseerd op tekens (bij benadering), niet op exacte tokentellingen.
- Als er minder dan
keepLastAssistantsassistant-berichten bestaan, wordt snoeien overgeslagen.
Blokstreaming
- Niet-Telegram-kanalen vereisen expliciet
*.blockStreaming: trueom blokantwoorden in te schakelen. - Kanaaloverrides:
channels.<channel>.blockStreamingCoalesce(en varianten per account). Signal/Slack/Discord/Google Chat gebruiken standaardminChars: 1500. humanDelay: willekeurige pauze tussen blokantwoorden.natural= 800-2500 ms. Override per agent:agents.list[].humanDelay.
Typindicatoren
- Standaardwaarden:
instantvoor directe chats/vermeldingen,messagevoor niet-vermelde groepschats. - Overrides per sessie:
session.typingMode,session.typingIntervalSeconds.
agents.defaults.sandbox
Optionele sandboxing voor de ingesloten agent. Zie Sandboxing voor de volledige handleiding.
Sandbox-details
Sandbox-details
Backend:OpenShell-modus:
docker: lokale Docker-runtime (standaard)ssh: generieke externe runtime met SSHopenshell: OpenShell-runtime
backend: "openshell" is geselecteerd, verplaatsen runtime-specifieke instellingen naar
plugins.entries.openshell.config.Configuratie van SSH-backend:target: SSH-doel in de vormuser@host[:port]command: SSH-clientopdracht (standaard:ssh)workspaceRoot: absolute externe hoofdmap die wordt gebruikt voor workspaces per scopeidentityFile/certificateFile/knownHostsFile: bestaande lokale bestanden die aan OpenSSH worden doorgegevenidentityData/certificateData/knownHostsData: inline-inhoud of SecretRefs die OpenClaw tijdens runtime in tijdelijke bestanden materialiseertstrictHostKeyChecking/updateHostKeys: beleidsknoppen voor OpenSSH-hostsleutels
identityDatagaat vooridentityFilecertificateDatagaat voorcertificateFileknownHostsDatagaat voorknownHostsFile- Door SecretRef ondersteunde
*Data-waarden worden opgelost vanuit de actieve secrets-runtime-snapshot voordat de sandboxsessie start
- vult de externe workspace eenmalig na aanmaken of opnieuw aanmaken
- houdt daarna de externe SSH-workspace canoniek
- routeert
exec, bestandstools en mediapaden via SSH - synchroniseert externe wijzigingen niet automatisch terug naar de host
- ondersteunt geen browsercontainers voor sandboxing
none: sandboxwerkruimte per scope onder~/.openclaw/sandboxesro: sandboxwerkruimte op/workspace, agentwerkruimte read-only gemount op/agentrw: agentwerkruimte read/write gemount op/workspace
session: container + werkruimte per sessieagent: één container + werkruimte per agent (standaard)shared: gedeelde container en werkruimte (geen isolatie tussen sessies)
mirror: seed remote vanuit lokaal vóór exec, synchroniseer terug na exec; de lokale werkruimte blijft canoniekremote: seed remote één keer wanneer de sandbox wordt gemaakt, houd daarna de remote werkruimte canoniek
remote worden host-lokale bewerkingen die buiten OpenClaw zijn gemaakt niet automatisch naar de sandbox gesynchroniseerd na de seedstap.
Transport is SSH naar de OpenShell-sandbox, maar de Plugin beheert de levenscyclus van de sandbox en optionele mirrorsynchronisatie.setupCommand wordt één keer uitgevoerd na het aanmaken van de container (via sh -lc). Vereist netwerk-egress, beschrijfbare root, rootgebruiker.Containers gebruiken standaard network: "none" — stel dit in op "bridge" (of een aangepast bridge-netwerk) als de agent uitgaande toegang nodig heeft.
"host" is geblokkeerd. "container:<id>" is standaard geblokkeerd tenzij je expliciet
sandbox.docker.dangerouslyAllowContainerNamespaceJoin: true instelt (noodoptie).Inkomende bijlagen worden klaargezet in media/inbound/* in de actieve werkruimte.docker.binds mount aanvullende hostmappen; globale en per-agent binds worden samengevoegd.Browser in sandbox (sandbox.browser.enabled): Chromium + CDP in een container. noVNC-URL geïnjecteerd in systeemprompt. Vereist geen browser.enabled in openclaw.json.
noVNC-observertoegang gebruikt standaard VNC-authenticatie en OpenClaw geeft een kortlevende token-URL uit (in plaats van het wachtwoord in de gedeelde URL bloot te stellen).allowHostControl: false(standaard) blokkeert sandboxsessies zodat ze niet op de hostbrowser kunnen richten.networkstaat standaard opopenclaw-sandbox-browser(toegewezen bridge-netwerk). Stel dit alleen in opbridgewanneer je expliciet globale bridge-connectiviteit wilt.cdpSourceRangebeperkt optioneel CDP-ingress aan de containerrand tot een CIDR-bereik (bijvoorbeeld172.21.0.1/32).sandbox.browser.bindsmount aanvullende hostmappen alleen in de sandboxbrowsercontainer. Wanneer ingesteld (inclusief[]), vervangt ditdocker.bindsvoor de browsercontainer.- Startstandaarden zijn gedefinieerd in
scripts/sandbox-browser-entrypoint.shen afgestemd op containerhosts:--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(standaard ingeschakeld)--disable-3d-apis,--disable-software-rasterizeren--disable-gpuzijn standaard ingeschakeld en kunnen worden uitgeschakeld metOPENCLAW_BROWSER_DISABLE_GRAPHICS_FLAGS=0als WebGL/3D-gebruik dit vereist.OPENCLAW_BROWSER_DISABLE_EXTENSIONS=0schakelt extensies opnieuw in als je workflow ervan afhankelijk is.--renderer-process-limit=2kan worden gewijzigd metOPENCLAW_BROWSER_RENDERER_PROCESS_LIMIT=<N>; stel0in om de standaardproceslimiet van Chromium te gebruiken.- plus
--no-sandboxwanneernoSandboxis ingeschakeld. - Standaarden zijn de baseline van de containerimage; gebruik een aangepaste browserimage met een aangepast entrypoint om containerstandaarden te wijzigen.
sandbox.docker.binds zijn alleen voor Docker.
Bouw images (vanuit een source-checkout):
docker build-commando’s.
agents.list (per-agent overrides)
Gebruik agents.list[].tts om een agent een eigen TTS-provider, stem, model,
stijl of auto-TTS-modus te geven. Het agentblok deep-merget over globale
messages.tts, zodat gedeelde credentials op één plek kunnen blijven terwijl individuele
agents alleen de stem- of providervelden overriden die ze nodig hebben. De override van de actieve agent
is van toepassing op automatische gesproken antwoorden, /tts audio, /tts status en
de agenttool tts. Zie Text-to-speech
voor providervoorbeelden en prioriteit.
id: stabiele agent-id (vereist).default: wanneer er meerdere zijn ingesteld, wint de eerste (waarschuwing wordt gelogd). Als er geen is ingesteld, is het eerste item in de lijst de standaard.model: de tekenreeksvorm stelt een strikte primaire instelling per agent in zonder model-fallback; de objectvorm{ primary }is ook strikt, tenzij jefallbackstoevoegt. Gebruik{ primary, fallbacks: [...] }om fallback voor die agent in te schakelen, of{ primary, fallbacks: [] }om strikt gedrag expliciet te maken. Cron-taken die alleenprimaryoverschrijven, erven nog steeds standaardfallbacks, tenzij jefallbacks: []instelt.params: streamparameters per agent die worden samengevoegd over de geselecteerde modelvermelding inagents.defaults.models. Gebruik dit voor agentspecifieke overschrijvingen zoalscacheRetention,temperatureofmaxTokenszonder de volledige modelcatalogus te dupliceren.tts: optionele tekst-naar-spraak-overschrijvingen per agent. Het blok wordt diep samengevoegd overmessages.tts, dus bewaar gedeelde providerreferenties en fallbackbeleid inmessages.ttsen stel hier alleen personaspecifieke waarden in, zoals provider, stem, model, stijl of automatische modus.skills: optionele allowlist voor Skills per agent. Als dit wordt weggelaten, erft de agentagents.defaults.skillswanneer dat is ingesteld; een expliciete lijst vervangt standaardwaarden in plaats van samen te voegen, en[]betekent geen Skills.thinkingDefault: optioneel standaard denkniveau per agent (off | minimal | low | medium | high | xhigh | adaptive | max). Overschrijftagents.defaults.thinkingDefaultvoor deze agent wanneer er geen overschrijving per bericht of sessie is ingesteld. Het geselecteerde provider-/modelprofiel bepaalt welke waarden geldig zijn; voor Google Gemini behoudtadaptivedynamisch denken dat eigendom is van de provider (thinkingLevelweggelaten op Gemini 3/3.1,thinkingBudget: -1op Gemini 2.5).reasoningDefault: optionele standaardzichtbaarheid voor redenering per agent (on | off | stream). Overschrijftagents.defaults.reasoningDefaultvoor deze agent wanneer er geen redeneringsoverschrijving per bericht of sessie is ingesteld.fastModeDefault: optionele standaard per agent voor snelle modus (true | false). Wordt toegepast wanneer er geen overschrijving per bericht of sessie voor snelle modus is ingesteld.models: optionele modelcatalogus-/runtime-overschrijvingen per agent, geïndexeerd op volledigeprovider/model-id’s. Gebruikmodels["provider/model"].agentRuntimevoor runtime-uitzonderingen per agent.runtime: optionele runtimebeschrijving per agent. Gebruiktype: "acp"metruntime.acp-standaardwaarden (agent,backend,mode,cwd) wanneer de agent standaard ACP-harness-sessies moet gebruiken.identity.avatar: werkruimterelatief pad,http(s)-URL ofdata:-URI.identityleidt standaardwaarden af:ackReactionuitemoji,mentionPatternsuitname/emoji.subagents.allowAgents: allowlist van agent-id’s voor explicietesessions_spawn.agentId-doelen (["*"]= elk; standaard: alleen dezelfde agent). Neem de requester-id op wanneer zelfgerichteagentId-aanroepen toegestaan moeten zijn.- Sandbox-overervingsbeveiliging: als de requestersessie in een sandbox draait, wijst
sessions_spawndoelen af die zonder sandbox zouden draaien. subagents.requireAgentId: wanneer true, blokkeersessions_spawn-aanroepen dieagentIdweglaten (dwingt expliciete profielselectie af; standaard: false).
Routering met meerdere agents
Voer meerdere geïsoleerde agents uit binnen één Gateway. Zie Multi-Agent.Binding-matchvelden
type(optioneel):routevoor normale routering (ontbrekend type gebruikt standaard route),acpvoor persistente ACP-gespreksbindings.match.channel(vereist)match.accountId(optioneel;*= elk account; weggelaten = standaardaccount)match.peer(optioneel;{ kind: direct|group|channel, id })match.guildId/match.teamId(optioneel; kanaalspecifiek)acp(optioneel; alleen voortype: "acp"):{ mode, label, cwd, backend }
match.peermatch.guildIdmatch.teamIdmatch.accountId(exact, geen peer/guild/team)match.accountId: "*"(kanaalbreed)- Standaardagent
bindings-vermelding.
Voor type: "acp"-vermeldingen lost OpenClaw dit op via exacte gespreksidentiteit (match.channel + account + match.peer.id) en gebruikt het de routebinding-laagvolgorde hierboven niet.
Toegangsprofielen per agent
Full access (no sandbox)
Full access (no sandbox)
Read-only tools + workspace
Read-only tools + workspace
No filesystem access (messaging only)
No filesystem access (messaging only)
Sessie
Session field details
Session field details
scope: basisstrategie voor sessiegroepering voor groepschatcontexten.per-sender(standaard): elke afzender krijgt een geïsoleerde sessie binnen een kanaalcontext.global: alle deelnemers in een kanaalcontext delen één sessie (alleen gebruiken wanneer gedeelde context bedoeld is).
dmScope: hoe DM’s worden gegroepeerd.main: alle DM’s delen de hoofdsessie.per-peer: isoleren op afzender-id over kanalen heen.per-channel-peer: isoleren per kanaal + afzender (aanbevolen voor inboxen met meerdere gebruikers).per-account-channel-peer: isoleren per account + kanaal + afzender (aanbevolen voor meerdere accounts).
identityLinks: koppel canonieke id’s aan peers met provider-prefix voor sessiedeling over kanalen heen. Dock-opdrachten zoals/dock_discordgebruiken dezelfde map om de antwoordroute van de actieve sessie om te schakelen naar een andere gekoppelde kanaal-peer; zie Kanaaldocking.reset: primair resetbeleid.dailyreset op lokale tijdatHour;idlereset naidleMinutes. Wanneer beide zijn geconfigureerd, wint degene die het eerst verloopt. Versheid voor dagelijkse resets gebruiktsessionStartedAtvan de sessierij; versheid voor inactiviteitsresets gebruiktlastInteractionAt. Achtergrond-/systeemgebeurtenis-writes zoals Heartbeat, Cron-wakeups, exec-meldingen en Gateway-boekhouding kunnenupdatedAtbijwerken, maar ze houden dagelijkse/inactieve sessies niet vers.resetByType: overschrijvingen per type (direct,group,thread). Verouderdedmwordt geaccepteerd als alias voordirect.mainKey: verouderd veld. Runtime gebruikt altijd"main"voor de hoofd-bucket voor directe chats.agentToAgent.maxPingPongTurns: maximaal aantal heen-en-weer-antwoordbeurten tussen agents tijdens agent-naar-agent-uitwisselingen (integer, bereik:0–5).0schakelt pingpong-chaining uit.sendPolicy: match opchannel,chatType(direct|group|channel, met verouderdedm-alias),keyPrefixofrawKeyPrefix. Eerste deny wint.maintenance: opschoning van sessieopslag + retentie-instellingen.mode:warngeeft alleen waarschuwingen;enforcepast opschoning toe.pruneAfter: leeftijdsgrens voor verouderde vermeldingen (standaard30d).maxEntries: maximaal aantal vermeldingen insessions.json(standaard500). Runtime schrijft batchopschoning met een kleine high-water-buffer voor caps op productiegrootte;openclaw sessions cleanup --enforcepast de cap onmiddellijk toe.rotateBytes: verouderd en genegeerd;openclaw doctor --fixverwijdert dit uit oudere configuraties.resetArchiveRetention: retentie voor transcriptarchieven met*.reset.<timestamp>. Standaard ingesteld oppruneAfter; stel in opfalseom uit te schakelen.maxDiskBytes: optioneel schijfbudget voor de sessiemap. Inwarn-modus logt dit waarschuwingen; inenforce-modus verwijdert dit eerst de oudste artefacten/sessies.highWaterBytes: optioneel doel na budgetopschoning. Standaard80%vanmaxDiskBytes.
threadBindings: globale standaardwaarden voor thread-gebonden sessiefuncties.enabled: standaard hoofdschakelaar (providers kunnen overschrijven; Discord gebruiktchannels.discord.threadBindings.enabled)idleHours: standaard automatische ontfocus bij inactiviteit in uren (0schakelt uit; providers kunnen overschrijven)maxAgeHours: standaard harde maximale leeftijd in uren (0schakelt uit; providers kunnen overschrijven)spawnSessions: standaard gate voor het maken van thread-gebonden werksessies vanuitsessions_spawnen ACP-threadspawns. Standaardtruewanneer threadbindings zijn ingeschakeld; providers/accounts kunnen overschrijven.defaultSpawnContext: standaard native subagentcontext voor thread-gebonden spawns ("fork"of"isolated"). Standaard"fork".
Berichten
Antwoordprefix
Overschrijvingen per kanaal/account:channels.<channel>.responsePrefix, channels.<channel>.accounts.<id>.responsePrefix.
Resolutie (meest specifiek wint): account → kanaal → globaal. "" schakelt uit en stopt cascade. "auto" leidt [{identity.name}] af.
Sjabloonvariabelen:
| Variabele | Beschrijving | Voorbeeld |
|---|---|---|
{model} | Korte modelnaam | claude-opus-4-6 |
{modelFull} | Volledige model-id | anthropic/claude-opus-4-6 |
{provider} | Providernaam | anthropic |
{thinkingLevel} | Huidig denkniveau | high, low, off |
{identity.name} | Naam van agentidentiteit | (hetzelfde als "auto") |
{think} is een alias voor {thinkingLevel}.
Ack-reactie
- Standaard ingesteld op
identity.emojivan de actieve agent, anders"👀". Stel""in om uit te schakelen. - Overschrijvingen per kanaal:
channels.<channel>.ackReaction,channels.<channel>.accounts.<id>.ackReaction. - Resolutievolgorde: account → kanaal →
messages.ackReaction→ identity-fallback. - Bereik:
group-mentions(standaard),group-all,direct,all. removeAckAfterReply: verwijdert ack na antwoord op kanalen met reactieondersteuning, zoals Slack, Discord, Telegram, WhatsApp en iMessage.messages.statusReactions.enabled: schakelt lifecycle-statusreacties in op Slack, Discord en Telegram. Op Slack en Discord blijven statusreacties ingeschakeld wanneer ack-reacties actief zijn als dit niet is ingesteld. Op Telegram moet je dit expliciet optrueinstellen om lifecycle-statusreacties in te schakelen.
Inkomende debounce
Bundelt snelle tekst-only berichten van dezelfde afzender tot één agentbeurt. Media/bijlagen flushen onmiddellijk. Besturingsopdrachten omzeilen debouncing.TTS (tekst-naar-spraak)
autobepaalt de standaard auto-TTS-modus:off,always,inboundoftagged./tts on|offkan lokale voorkeuren overschrijven, en/tts statustoont de effectieve status.summaryModeloverschrijftagents.defaults.model.primaryvoor automatische samenvatting.modelOverridesis standaard ingeschakeld;modelOverrides.allowProvideris standaardfalse(opt-in).- API-sleutels vallen terug op
ELEVENLABS_API_KEY/XI_API_KEYenOPENAI_API_KEY. - Meegeleverde spraakproviders zijn eigendom van Plugins. Als
plugins.allowis ingesteld, neem dan elke TTS-provider-Plugin op die je wilt gebruiken, bijvoorbeeldmicrosoftvoor Edge TTS. De verouderde provider-idedgewordt geaccepteerd als alias voormicrosoft. providers.openai.baseUrloverschrijft het OpenAI TTS-eindpunt. Resolutievolgorde is configuratie, daarnaOPENAI_TTS_BASE_URL, daarnahttps://api.openai.com/v1.- Wanneer
providers.openai.baseUrlnaar een niet-OpenAI-eindpunt verwijst, behandelt OpenClaw dit als een OpenAI-compatibele TTS-server en versoepelt model-/stemvalidatie.
Talk
Standaardwaarden voor Talk-modus (macOS/iOS/Android).talk.providermoet overeenkomen met een sleutel intalk.providerswanneer meerdere Talk-providers zijn geconfigureerd.- Verouderde platte Talk-sleutels (
talk.voiceId,talk.voiceAliases,talk.modelId,talk.outputFormat,talk.apiKey) zijn alleen voor compatibiliteit. Voeropenclaw doctor --fixuit om opgeslagen configuratie te herschrijven naartalk.providers.<provider>. - Stem-id’s vallen terug op
ELEVENLABS_VOICE_IDofSAG_VOICE_ID. providers.*.apiKeyaccepteert platte-tekststrings of SecretRef-objecten.- De fallback
ELEVENLABS_API_KEYis alleen van toepassing wanneer er geen Talk-API-sleutel is geconfigureerd. providers.*.voiceAliaseslaat Talk-directives vriendelijke namen gebruiken.providers.mlx.modelIdselecteert de Hugging Face-repo die wordt gebruikt door de lokale macOS MLX-helper. Als dit wordt weggelaten, gebruikt macOSmlx-community/Soprano-80M-bf16.- macOS MLX-weergave loopt via de meegeleverde
openclaw-mlx-tts-helper wanneer aanwezig, of via een uitvoerbaar bestand opPATH;OPENCLAW_MLX_TTS_BINoverschrijft het helperpad voor ontwikkeling. consultThinkingLevelbepaalt het denkniveau voor de volledige OpenClaw-agentrun achter Control UI Talk realtimeopenclaw_agent_consult-aanroepen. Laat dit niet ingesteld om normaal sessie-/modelgedrag te behouden.consultFastModestelt een eenmalige fast-mode-overschrijving in voor Control UI Talk realtime consults zonder de normale fast-mode-instelling van de sessie te wijzigen.speechLocalestelt de BCP 47-locale-id in die wordt gebruikt door iOS/macOS Talk-spraakherkenning. Laat dit niet ingesteld om de apparaatstandaard te gebruiken.silenceTimeoutMsbepaalt hoe lang Talk-modus wacht na stilte van de gebruiker voordat het transcript wordt verzonden. Niet ingesteld behoudt het standaard pauzevenster van het platform (700 ms op macOS en Android, 900 ms op iOS).realtime.instructionsvoegt provider-gerichte systeeminstructies toe aan de ingebouwde realtime-prompt van OpenClaw, zodat stemstijl kan worden geconfigureerd zonder standaardopenclaw_agent_consult-begeleiding te verliezen.
Gerelateerd
- Configuratiereferentie — alle andere configuratiesleutels
- Configuratie — algemene taken en snelle installatie
- Configuratievoorbeelden