Wat het doet
- Inline directive in elke binnenkomende body:
/t <level>,/think:<level>, of/thinking <level>. - Niveaus (aliassen):
off | minimal | low | medium | high | xhigh | adaptive | max- minimal → “think”
- low → “think hard”
- medium → “think harder”
- high → “ultrathink” (maximaal budget)
- xhigh → “ultrathink+” (GPT-5.2+ en Codex-modellen, plus Anthropic Claude Opus 4.7+ effort)
- adaptive → door de provider beheerd adaptief denken (ondersteund voor Claude 4.6 op Anthropic/Bedrock, Anthropic Claude Opus 4.7+, en dynamisch denken van Google Gemini)
- max → maximale reasoning van de provider (Anthropic Claude Opus 4.7+; Ollama koppelt dit aan de hoogste native
think-inspanning) x-high,x_high,extra-high,extra high, enextra_highworden gekoppeld aanxhigh.highestwordt gekoppeld aanhigh.
- Provider-opmerkingen:
- Denkmenu’s en keuzelijsten worden gestuurd door providerprofielen. Provider-plugins declareren de exacte niveauset voor het geselecteerde model, inclusief labels zoals binair
on. adaptive,xhigh, enmaxworden alleen getoond voor provider-/modelprofielen die ze ondersteunen. Getypte directives voor niet-ondersteunde niveaus worden geweigerd met de geldige opties van dat model.- Bestaande opgeslagen niet-ondersteunde niveaus worden opnieuw gekoppeld op basis van de rangorde van het providerprofiel.
adaptivevalt terug opmediumbij niet-adaptieve modellen, terwijlxhighenmaxterugvallen op het grootste ondersteunde niet-off-niveau voor het geselecteerde model. - Anthropic Claude 4.6-modellen gebruiken standaard
adaptivewanneer er geen expliciet denkniveau is ingesteld. - Anthropic Claude Opus 4.8 en Opus 4.7 houden denken uitgeschakeld, tenzij je expliciet een denkniveau instelt. De provider-eigen effort-standaard van Opus 4.8 is
highnadat adaptief denken is ingeschakeld. - Anthropic Claude Opus 4.7+ koppelt
/think xhighaan adaptief denken plusoutput_config.effort: "xhigh", omdat/thinkeen denkdirective is enxhighde Opus effort-instelling is. - Anthropic Claude Opus 4.7+ biedt ook
/think max; dit wordt gekoppeld aan hetzelfde provider-eigen pad voor maximale effort. - Directe DeepSeek V4-modellen bieden
/think xhigh|max; beide worden gekoppeld aan DeepSeekreasoning_effort: "max", terwijl lagere niet-uit-niveaus worden gekoppeld aanhigh. - Via OpenRouter gerouteerde DeepSeek V4-modellen bieden
/think xhighen sturen door OpenRouter ondersteundereasoning.effort-waarden in plaats van DeepSeek-native top-levelreasoning_effort. Lagere niet-uit-niveaus worden gekoppeld aanhigh, en opgeslagenmax-overrides vallen terug opxhigh. - Ollama-modellen met denkfunctionaliteit bieden
/think low|medium|high|max;maxwordt gekoppeld aan nativethink: "high"omdat Ollama’s native API de effort-stringslow,medium, enhighaccepteert. - OpenAI GPT-modellen koppelen
/thinkvia modelspecifieke ondersteuning voor Responses API-effort./think offstuurtreasoning.effort: "none"alleen wanneer het doelmodel dit ondersteunt; anders laat OpenClaw de uitgeschakelde reasoning-payload weg in plaats van een niet-ondersteunde waarde te sturen. - Aangepaste OpenAI-compatibele catalogusitems kunnen
/think xhighinschakelen doormodels.providers.<provider>.models[].compat.supportedReasoningEffortszo in te stellen dat"xhigh"is opgenomen. Dit gebruikt dezelfde compat-metadata die uitgaande OpenAI reasoning effort-payloads koppelt, zodat menu’s, sessievalidering, agent-CLI, enllm-taskovereenkomen met transportgedrag. - Verouderde geconfigureerde OpenRouter Hunter Alpha-referenties slaan proxy-reasoninginjectie over omdat die gepensioneerde route uiteindelijke antwoordtekst via reasoningvelden kon teruggeven.
- Google Gemini koppelt
/think adaptiveaan Gemini’s provider-eigen dynamische denken. Gemini 3-verzoeken laten een vastethinkingLevelweg, terwijl Gemini 2.5-verzoekenthinkingBudget: -1sturen; vaste niveaus worden nog steeds gekoppeld aan de dichtstbijzijnde GeminithinkingLevelof het dichtstbijzijnde budget voor die modelfamilie. - MiniMax M2.x (
minimax/MiniMax-M2*) op het Anthropic-compatibele streamingpad gebruikt standaardthinking: { type: "disabled" }, tenzij je denken expliciet instelt in modelparameters of aanvraagparameters. Dit voorkomt gelektereasoning_content-delta’s uit het niet-native Anthropic-streamformaat van M2.x. MiniMax-M3 (en M3.x) is uitgezonderd: M3 zendt correcte Anthropic-denkblokken uit en retourneert lege content wanneer denken is uitgeschakeld, dus OpenClaw houdt M3 op het door de provider weggelaten/adaptieve denkpad. - Z.AI (
zai/*) is binair (on/off) voor de meeste GLM-modellen. GLM-5.2 is de uitzondering: het biedt/think off|low|high|max, koppeltlowenhighaan Z.AIreasoning_effort: "high", en koppeltmaxaanreasoning_effort: "max". - Moonshot Kimi K2.7 Code (
moonshot/kimi-k2.7-code) denkt altijd. Het profiel biedt alleenon, en OpenClaw laat het uitgaande veldthinkingweg zoals vereist door Moonshot. Anderemoonshot/*-modellen koppelen/think offaanthinking: { type: "disabled" }en elk niet-off-niveau aanthinking: { type: "enabled" }. Wanneer denken is ingeschakeld, accepteert Moonshot alleentool_choiceauto|none; OpenClaw normaliseert incompatibele waarden naarauto.
- Denkmenu’s en keuzelijsten worden gestuurd door providerprofielen. Provider-plugins declareren de exacte niveauset voor het geselecteerde model, inclusief labels zoals binair
Oplosvolgorde
- Inline directive in het bericht (geldt alleen voor dat bericht).
- Sessie-override (ingesteld door een bericht te sturen dat alleen een directive bevat).
- Standaard per agent (
agents.list[].thinkingDefaultin de configuratie). - Globale standaard (
agents.defaults.thinkingDefaultin de configuratie). - Terugval: door de provider gedeclareerde standaard wanneer beschikbaar; anders worden modellen met reasoningfunctionaliteit opgelost naar
mediumof het dichtstbijzijnde ondersteunde niet-off-niveau voor dat model, en blijven modellen zonder reasoning opoff.
Een sessiestandaard instellen
- Stuur een bericht dat alleen de directive bevat (witruimte toegestaan), bijvoorbeeld
/think:mediumof/t high. - Dit blijft gelden voor de huidige sessie (standaard per afzender). Gebruik
/think defaultom de sessie-override te wissen en de geconfigureerde/providerstandaard te erven; aliassen zijn onder meerinherit,clear,reset, enunpin. /think offslaat een expliciete uit-override op. Dit schakelt denken uit totdat je de sessie-override wijzigt of wist.- Er wordt een bevestigingsantwoord gestuurd (
Thinking level set to high./Thinking disabled.). Als het niveau ongeldig is (bijvoorbeeld/thinking big), wordt de opdracht geweigerd met een hint en blijft de sessiestatus ongewijzigd. - Stuur
/think(of/think:) zonder argument om het huidige denkniveau te zien.
Toepassing per agent
- Ingebedde OpenClaw: het opgeloste niveau wordt doorgegeven aan de in-process OpenClaw-agentruntime.
- Claude CLI-backend: niet-uit-niveaus worden doorgegeven aan Claude Code als
--effortbij gebruik vanclaude-cli; zie CLI-backends.
Snelle modus (/fast)
- Niveaus:
auto|on|off|default. - Een bericht dat alleen een directive bevat schakelt een sessie-override voor snelle modus om en antwoordt met
Fast mode set to auto.,Fast mode enabled., ofFast mode disabled.. Gebruik/fast defaultom de sessie-override te wissen en de geconfigureerde standaard te erven; aliassen zijn onder meerinherit,clear,reset, enunpin. - Stuur
/fast(of/fast status) zonder modus om de huidige effectieve status van snelle modus te zien. - OpenClaw lost snelle modus in deze volgorde op:
- Inline/directive-only
/fast auto|on|off-override (/fast defaultwist deze laag) - Sessie-override
- Standaard per agent (
agents.list[].fastModeDefault) - Configuratie per model:
agents.defaults.models["<provider>/<model>"].params.fastMode - Terugval:
off
- Inline/directive-only
autohoudt de sessie-/configuratiemodus op auto maar lost elke nieuwe modelaanroep onafhankelijk op. Aanroepen die starten vóór de auto-afkap hebben snelle modus ingeschakeld; latere retry-, fallback-, toolresultaat- of vervolgaanroepen starten met snelle modus uitgeschakeld. De afkap is standaard 60 seconden; stelagents.defaults.models["<provider>/<model>"].params.fastAutoOnSecondsin op het actieve model om dit te wijzigen.- Voor
openai/*wordt snelle modus gekoppeld aan OpenAI-prioriteitsverwerking doorservice_tier=priorityte sturen bij ondersteunde Responses-verzoeken. - Voor door Codex ondersteunde
openai/*/openai-codex/*-modellen stuurt snelle modus dezelfdeservice_tier=priority-vlag bij Codex Responses. Native Codex app-serverbeurten ontvangen de tier alleen bijturn/startof thread start/resume, dusautokan een al actieve app-serverbeurt niet opnieuw tier-en; het geldt voor de volgende modelbeurt die OpenClaw start. - Voor directe publieke
anthropic/*-verzoeken, inclusief via OAuth geauthenticeerd verkeer naarapi.anthropic.com, wordt snelle modus gekoppeld aan Anthropic-servicetiers:/fast onsteltservice_tier=autoin,/fast offsteltservice_tier=standard_onlyin. - Voor
minimax/*op het Anthropic-compatibele pad herschrijft/fast on(ofparams.fastMode: true)MiniMax-M2.7naarMiniMax-M2.7-highspeed. - Expliciete Anthropic-modelparameters
serviceTier/service_tieroverschrijven de standaard van snelle modus wanneer beide zijn ingesteld. OpenClaw slaat Anthropic-servicetierinjectie nog steeds over voor niet-Anthropic proxy-base-URL’s. /statustoontFastwanneer snelle modus is ingeschakeld enFast:autowanneer de geconfigureerde modus auto is.
Uitgebreide directives (/verbose of /v)
- Niveaus:
on(minimaal) |full|off(standaard). - Een bericht dat alleen een directive bevat schakelt uitgebreide sessielogging om en antwoordt
Verbose logging enabled./Verbose logging disabled.; ongeldige niveaus geven een hint terug zonder de status te wijzigen. /verbose offslaat een expliciete sessie-override op; wis deze via de Sessions UI doorinheritte kiezen.- Geautoriseerde afzenders van externe kanalen mogen de uitgebreide sessie-override persistent maken. Interne gateway-/webchatclients hebben
operator.adminnodig om deze persistent te maken. - Inline directive geldt alleen voor dat bericht; anders gelden sessie-/globale standaarden.
- Stuur
/verbose(of/verbose:) zonder argument om het huidige uitgebreide niveau te zien. - Wanneer uitgebreide logging aan staat, sturen agents die gestructureerde toolresultaten uitzenden elke toolaanroep terug als een eigen bericht met alleen metadata, voorafgegaan door
<emoji> <tool-name>: <arg>wanneer beschikbaar. Deze toolsamenvattingen worden gestuurd zodra elke tool start (aparte berichten), niet als streamingdelta’s. - Samenvattingen van toolfouten blijven zichtbaar in normale modus, maar suffixen met ruwe foutdetails zijn verborgen tenzij uitgebreide logging
fullis. - Wanneer uitgebreide logging
fullis, worden tooloutputs ook na voltooiing doorgestuurd (apart bericht, afgekapt tot een veilige lengte). Als je/verbose on|full|offomschakelt terwijl een run bezig is, respecteren volgende toolberichten de nieuwe instelling. agents.defaults.toolProgressDetailbepaalt de vorm van/verbose-toolsamenvattingen en toolregels in voortgangsconcepten. Gebruik"explain"(standaard) voor compacte menselijke labels zoals🛠️ Exec: checking JS syntax; gebruik"raw"wanneer je ook de ruwe opdracht/details toegevoegd wilt hebben voor debugging. Per-agentagents.list[].toolProgressDetailoverschrijft de standaard.explain:🛠️ Exec: check JS syntax for /tmp/app.jsraw:🛠️ Exec: check JS syntax for /tmp/app.js, node --check /tmp/app.js
Plugin-tracedirectives (/trace)
- Niveaus:
on|off(standaard). - Een bericht dat alleen een directive bevat schakelt plugin-trace-uitvoer voor de sessie om en antwoordt
Plugin trace enabled./Plugin trace disabled.. - Inline directive geldt alleen voor dat bericht; anders gelden sessie-/globale standaarden.
- Stuur
/trace(of/trace:) zonder argument om het huidige traceniveau te zien. /traceis smaller dan/verbose: het toont alleen plugin-eigen trace-/debugregels zoals debug-samenvattingen van Active Memory.- Traceregels kunnen verschijnen in
/statusen als diagnostisch vervolgbericht na het normale assistentantwoord.
Zichtbaarheid van reasoning (/reasoning)
- Niveaus:
on|off|stream. - Een bericht dat alleen een directive bevat schakelt om of denkblokken in antwoorden worden getoond.
- Wanneer ingeschakeld, wordt reasoning gestuurd als een apart bericht voorafgegaan door
Thinking. stream: streamt reasoning terwijl het antwoord wordt gegenereerd wanneer het actieve kanaal reasoningvoorbeelden ondersteunt, en stuurt daarna het definitieve antwoord zonder reasoning.- Alias:
/reason. - Stuur
/reasoning(of/reasoning:) zonder argument om het huidige reasoningniveau te zien. - Oplosvolgorde: inline directive, daarna sessie-override, daarna standaard per agent (
agents.list[].reasoningDefault), daarna globale standaard (agents.defaults.reasoningDefault), daarna terugval (off).
<think>...</think>-blokken blijven verborgen in normale antwoorden, en niet-gesloten reasoning na tekst die al zichtbaar is, wordt ook verborgen. Als een antwoord volledig is omwikkeld met één niet-gesloten openingstag en anders als lege tekst zou worden geleverd, verwijdert OpenClaw de misvormde openingstag en levert het de resterende tekst.
Gerelateerd
- Documentatie voor verhoogde modus staat in Verhoogde modus.
Heartbeats
- De body van de Heartbeat-probe is de geconfigureerde Heartbeat-prompt (standaard:
Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.). Inline instructies in een Heartbeat-bericht zijn zoals gebruikelijk van toepassing (maar vermijd het wijzigen van sessiestandaarden vanuit Heartbeats). - Heartbeat-aflevering gebruikt standaard alleen de uiteindelijke payload. Stel
agents.defaults.heartbeat.includeReasoning: trueof per agentagents.list[].heartbeat.includeReasoning: truein om ook het afzonderlijkeThinking-bericht te verzenden (wanneer beschikbaar).
Webchat-UI
- De denkselector van de webchat spiegelt bij het laden van de pagina het opgeslagen niveau van de sessie uit de inkomende sessieopslag/configuratie.
- Een ander niveau kiezen schrijft de sessie-override onmiddellijk weg via
sessions.patch; dit wacht niet op de volgende verzending en is geen eenmaligethinkingOnce-override. - De eerste optie is altijd de keuze om de override te wissen. Deze toont
Inherited: <resolved level>, inclusiefInherited: Offwanneer overgenomen denken is uitgeschakeld. - Expliciete keuzes in de selector gebruiken hun directe niveaulabels, terwijl providerlabels behouden blijven wanneer die aanwezig zijn (bijvoorbeeld
Maximumvoor een door de provider gelabeldemax-optie). - De selector gebruikt
thinkingLevelsdie door de Gateway-sessierij/standaarden worden teruggegeven, waarbijthinkingOptionsbehouden blijft als verouderde labellijst. De browser-UI houdt geen eigen provider-regexlijst bij; plugins beheren modelspecifieke niveausets. /think:<level>werkt nog steeds en werkt hetzelfde opgeslagen sessieniveau bij, zodat chatinstructies en de selector gesynchroniseerd blijven.
Providerprofielen
- Providerplugins kunnen
resolveThinkingProfile(ctx)beschikbaar maken om de ondersteunde niveaus en standaardwaarde van het model te definiëren. - Providerplugins die Claude-modellen proxyen, moeten
resolveClaudeThinkingProfile(modelId)uitopenclaw/plugin-sdk/provider-model-sharedhergebruiken, zodat directe Anthropic- en proxycatalogi op elkaar afgestemd blijven. - Elk profielniveau heeft een opgeslagen canonieke
id(off,minimal,low,medium,high,xhigh,adaptiveofmax) en kan een weergave-labelbevatten. Binaire providers gebruiken{ id: "low", label: "on" }. - Profielhooks ontvangen samengevoegde catalogusfeiten wanneer beschikbaar, waaronder
reasoning,compat.thinkingFormatencompat.supportedReasoningEfforts. Gebruik die feiten om binaire of aangepaste profielen alleen beschikbaar te maken wanneer het geconfigureerde aanvraagcontract de bijbehorende payload ondersteunt. - Toolplugins die een expliciete denk-override moeten valideren, moeten
api.runtime.agent.resolveThinkingPolicy({ provider, model })plusapi.runtime.agent.normalizeThinkingLevel(...)gebruiken; ze moeten geen eigen niveauoverzichten per provider/model bijhouden. - Toolplugins met toegang tot geconfigureerde metadata voor aangepaste modellen kunnen
catalogdoorgeven aanresolveThinkingPolicy, zodat opt-ins viacompat.supportedReasoningEffortsworden weerspiegeld in plugin-side validatie. - Gepubliceerde verouderde hooks (
supportsXHighThinking,isBinaryThinkingenresolveDefaultThinkingLevel) blijven bestaan als compatibiliteitsadapters, maar nieuwe aangepaste niveausets moetenresolveThinkingProfilegebruiken. - Gateway-rijen/standaarden stellen
thinkingLevels,thinkingOptionsenthinkingDefaultbeschikbaar, zodat ACP-/chatclients dezelfde profiel-id’s en labels renderen die runtimevalidatie gebruikt.