Tools
Livelli di ragionamento
Cosa fa
- Direttiva inline in qualsiasi corpo in ingresso:
/t <level>,/think:<level>o/thinking <level>. - Livelli (alias):
off | minimal | low | medium | high | xhigh | adaptive | max- minimal → "think"
- low → "think hard"
- medium → "think harder"
- high → "ultrathink" (budget massimo)
- xhigh → "ultrathink+" (modelli GPT-5.2+ e Codex, più effort Anthropic Claude Opus 4.7+)
- adaptive → ragionamento adattivo gestito dal provider (supportato per Claude 4.6 su Anthropic/Bedrock, Anthropic Claude Opus 4.7+ e ragionamento dinamico Google Gemini)
- max → ragionamento massimo del provider (Anthropic Claude Opus 4.7+; Ollama lo mappa al suo effort
thinknativo più alto) x-high,x_high,extra-high,extra highedextra_highvengono mappati axhigh.highestviene mappato ahigh.
- Note sui provider:
- I menu e i selettori di ragionamento sono guidati dal profilo del provider. I Plugin del provider dichiarano l'insieme esatto dei livelli per il modello selezionato, incluse etichette come il valore binario
on. adaptive,xhighemaxsono pubblicizzati solo per i profili provider/modello che li supportano. Le direttive tipizzate per livelli non supportati vengono rifiutate con le opzioni valide di quel modello.- I livelli non supportati già archiviati vengono rimappati in base al rango del profilo del provider.
adaptiveripiega sumediumsui modelli non adattivi, mentrexhighemaxripiegano sul livello non-offpiù grande supportato dal modello selezionato. - I modelli Anthropic Claude 4.6 usano per impostazione predefinita
adaptivequando non è impostato alcun livello di ragionamento esplicito. - Anthropic Claude Opus 4.8 e Opus 4.7 mantengono il ragionamento disattivato a meno che tu non imposti esplicitamente un livello di ragionamento. Il valore predefinito dell'effort di proprietà del provider per Opus 4.8 è
highdopo l'abilitazione del ragionamento adattivo. - Anthropic Claude Opus 4.7+ mappa
/think xhighal ragionamento adattivo piùoutput_config.effort: "xhigh", perché/thinkè una direttiva di ragionamento exhighè l'impostazione di effort di Opus. - Anthropic Claude Opus 4.7+ espone anche
/think max; viene mappato allo stesso percorso di effort massimo di proprietà del provider. - I modelli DeepSeek V4 diretti espongono
/think xhigh|max; entrambi vengono mappati a DeepSeekreasoning_effort: "max", mentre i livelli inferiori non-offvengono mappati ahigh. - I modelli DeepSeek V4 instradati tramite OpenRouter espongono
/think xhighe inviano valorireasoning.effortsupportati da OpenRouter invece delreasoning_effortdi primo livello nativo di DeepSeek. I livelli inferiori non-offvengono mappati ahigh, e gli overridemaxarchiviati ripiegano suxhigh. - I modelli Ollama capaci di ragionamento espongono
/think low|medium|high|max;maxviene mappato al valore nativothink: "high"perché l'API nativa di Ollama accetta le stringhe di effortlow,mediumehigh. - I modelli OpenAI GPT mappano
/thinktramite il supporto dell'effort specifico del modello nella Responses API./think offinviareasoning.effort: "none"solo quando il modello di destinazione lo supporta; altrimenti OpenClaw omette il payload di ragionamento disabilitato invece di inviare un valore non supportato. - Le voci di catalogo personalizzate compatibili con OpenAI possono attivare
/think xhighimpostandomodels.providers.<provider>.models[].compat.supportedReasoningEffortsin modo che includa"xhigh". Questo usa gli stessi metadati compat che mappano i payload di effort di ragionamento OpenAI in uscita, quindi menu, convalida di sessione, CLI dell'agente ellm-taskconcordano con il comportamento di trasporto. - I riferimenti OpenRouter Hunter Alpha configurati ma obsoleti saltano l'iniezione di ragionamento del proxy perché quella rotta ritirata poteva restituire il testo della risposta finale tramite i campi di ragionamento.
- Google Gemini mappa
/think adaptiveal ragionamento dinamico di proprietà del provider di Gemini. Le richieste Gemini 3 omettono unthinkingLevelfisso, mentre le richieste Gemini 2.5 invianothinkingBudget: -1; i livelli fissi vengono comunque mappati althinkingLevelo budget Gemini più vicino per quella famiglia di modelli. - MiniMax M2.x (
minimax/MiniMax-M2*) sul percorso di streaming compatibile con Anthropic usa per impostazione predefinitathinking: { type: "disabled" }a meno che tu non imposti esplicitamente il ragionamento nei parametri del modello o nei parametri della richiesta. Questo evita la fuga di deltareasoning_contentdal formato di stream Anthropic non nativo di M2.x. MiniMax-M3 (e M3.x) è esente: M3 emette blocchi di ragionamento Anthropic corretti e restituisce contenuto vuoto quando il ragionamento è disabilitato, quindi OpenClaw mantiene M3 sul percorso di ragionamento omesso/adattivo del provider. - Z.AI (
zai/*) è binario (on/off) per la maggior parte dei modelli GLM. GLM-5.2 è l'eccezione: espone/think off|low|high|max, mappalowehigha Z.AIreasoning_effort: "high"e mappamaxareasoning_effort: "max". - Moonshot Kimi K2.7 Code (
moonshot/kimi-k2.7-code) ragiona sempre. Il suo profilo espone soloon, e OpenClaw omette il campothinkingin uscita come richiesto da Moonshot. Gli altri modellimoonshot/*mappano/think offathinking: { type: "disabled" }e qualsiasi livello non-offathinking: { type: "enabled" }. Quando il ragionamento è abilitato, Moonshot accetta solotool_choiceauto|none; OpenClaw normalizza i valori incompatibili aauto.
- I menu e i selettori di ragionamento sono guidati dal profilo del provider. I Plugin del provider dichiarano l'insieme esatto dei livelli per il modello selezionato, incluse etichette come il valore binario
Ordine di risoluzione
- Direttiva inline sul messaggio (si applica solo a quel messaggio).
- Override di sessione (impostato inviando un messaggio contenente solo la direttiva).
- Valore predefinito per agente (
agents.list[].thinkingDefaultnella configurazione). - Valore predefinito globale (
agents.defaults.thinkingDefaultnella configurazione). - Fallback: valore predefinito dichiarato dal provider quando disponibile; altrimenti i modelli capaci di ragionamento si risolvono a
mediumo al livello non-offsupportato più vicino per quel modello, e i modelli senza ragionamento restanooff.
Impostare un valore predefinito di sessione
- Invia un messaggio che sia solo la direttiva (spazi consentiti), ad esempio
/think:mediumo/t high. - Questo resta valido per la sessione corrente (per mittente per impostazione predefinita). Usa
/think defaultper cancellare l'override di sessione ed ereditare il valore predefinito configurato/del provider; gli alias includonoinherit,clear,reseteunpin. /think offarchivia un override esplicito off. Disabilita il ragionamento finché non modifichi o cancelli l'override di sessione.- Viene inviata una risposta di conferma (
Thinking level set to high./Thinking disabled.). Se il livello non è valido (ad esempio/thinking big), il comando viene rifiutato con un suggerimento e lo stato della sessione resta invariato. - Invia
/think(o/think:) senza argomento per vedere il livello di ragionamento corrente.
Applicazione per agente
- OpenClaw incorporato: il livello risolto viene passato al runtime dell'agente OpenClaw in-process.
- Backend Claude CLI: i livelli non-off vengono passati a Claude Code come
--effortquando si usaclaude-cli; vedi backend CLI.
Modalità veloce (/fast)
- Livelli:
auto|on|off|default. - Un messaggio contenente solo la direttiva attiva/disattiva un override di sessione per la modalità veloce e risponde
Fast mode set to auto.,Fast mode enabled.oFast mode disabled.. Usa/fast defaultper cancellare l'override di sessione ed ereditare il valore predefinito configurato; gli alias includonoinherit,clear,reseteunpin. - Invia
/fast(o/fast status) senza modalità per vedere lo stato effettivo corrente della modalità veloce. - OpenClaw risolve la modalità veloce in questo ordine:
- Override inline/con sola direttiva
/fast auto|on|off(/fast defaultcancella questo livello) - Override di sessione
- Valore predefinito per agente (
agents.list[].fastModeDefault) - Configurazione per modello:
agents.defaults.models["<provider>/<model>"].params.fastMode - Fallback:
off
- Override inline/con sola direttiva
automantiene la modalità di sessione/configurazione come auto ma risolve ogni nuova chiamata al modello in modo indipendente. Le chiamate che iniziano prima della soglia auto hanno la modalità veloce abilitata; le chiamate successive di retry, fallback, risultato dello strumento o continuazione iniziano con la modalità veloce disabilitata. La soglia predefinita è 60 secondi; impostaagents.defaults.models["<provider>/<model>"].params.fastAutoOnSecondssul modello attivo per modificarla.- Per
openai/*, la modalità veloce viene mappata all'elaborazione prioritaria OpenAI inviandoservice_tier=prioritysulle richieste Responses supportate. - Per i modelli
openai/*/openai-codex/*basati su Codex, la modalità veloce invia lo stesso flagservice_tier=prioritysu Codex Responses. I turni nativi dell'app-server Codex ricevono il tier solo suturn/starto all'avvio/ripresa del thread, quindiautonon può cambiare tier a un turno app-server già in esecuzione; si applica al turno di modello successivo avviato da OpenClaw. - Per le richieste pubbliche dirette
anthropic/*, incluso il traffico autenticato OAuth inviato aapi.anthropic.com, la modalità veloce viene mappata ai tier di servizio Anthropic:/fast onimpostaservice_tier=auto,/fast offimpostaservice_tier=standard_only. - Per
minimax/*sul percorso compatibile con Anthropic,/fast on(oparams.fastMode: true) riscriveMiniMax-M2.7inMiniMax-M2.7-highspeed. - I parametri modello Anthropic espliciti
serviceTier/service_tiersovrascrivono il valore predefinito della modalità veloce quando entrambi sono impostati. OpenClaw continua a saltare l'iniezione del tier di servizio Anthropic per gli URL base proxy non Anthropic. /statusmostraFastquando la modalità veloce è abilitata eFast:autoquando la modalità configurata è auto.
Direttive verbose (/verbose o /v)
- Livelli:
on(minimo) |full|off(predefinito). - Un messaggio contenente solo la direttiva attiva/disattiva il verbose di sessione e risponde
Verbose logging enabled./Verbose logging disabled.; i livelli non validi restituiscono un suggerimento senza modificare lo stato. /verbose offarchivia un override di sessione esplicito; cancellalo tramite l'interfaccia Sessions scegliendoinherit.- I mittenti autorizzati dei canali esterni possono rendere persistente l'override verbose di sessione. I client gateway/webchat interni richiedono
operator.adminper renderlo persistente. - La direttiva inline influisce solo su quel messaggio; altrimenti si applicano i valori predefiniti di sessione/globali.
- Invia
/verbose(o/verbose:) senza argomento per vedere il livello verbose corrente. - Quando verbose è attivo, gli agenti che emettono risultati strutturati degli strumenti inviano ogni chiamata strumento come messaggio solo metadati separato, preceduto da
<emoji> <tool-name>: <arg>quando disponibile. Questi riepiloghi degli strumenti vengono inviati non appena ogni strumento parte (bolle separate), non come delta in streaming. - I riepiloghi degli errori degli strumenti restano visibili in modalità normale, ma i suffissi con i dettagli grezzi dell'errore sono nascosti a meno che verbose sia
full. - Quando verbose è
full, anche gli output degli strumenti vengono inoltrati dopo il completamento (bolla separata, troncata a una lunghezza sicura). Se attivi/disattivi/verbose on|full|offmentre un'esecuzione è in corso, le bolle degli strumenti successive rispettano la nuova impostazione. agents.defaults.toolProgressDetailcontrolla la forma dei riepiloghi degli strumenti di/verbosee delle righe strumento delle bozze di avanzamento. Usa"explain"(predefinito) per etichette umane compatte come🛠️ Exec: checking JS syntax; usa"raw"quando vuoi anche il comando/dettaglio grezzo aggiunto per il debug.agents.list[].toolProgressDetailper agente sovrascrive il valore predefinito.explain:🛠️ Exec: check JS syntax for /tmp/app.jsraw:🛠️ Exec: check JS syntax for /tmp/app.js, node --check /tmp/app.js
Direttive di trace del Plugin (/trace)
- Livelli:
on|off(predefinito). - Un messaggio contenente solo la direttiva attiva/disattiva l'output di trace del Plugin di sessione e risponde
Plugin trace enabled./Plugin trace disabled.. - La direttiva inline influisce solo su quel messaggio; altrimenti si applicano i valori predefiniti di sessione/globali.
- Invia
/trace(o/trace:) senza argomento per vedere il livello di trace corrente. /traceè più ristretto di/verbose: espone solo righe trace/debug di proprietà del Plugin, come i riepiloghi di debug Active Memory.- Le righe di trace possono comparire in
/statuse come messaggio diagnostico successivo dopo la normale risposta dell'assistente.
Visibilità del ragionamento (/reasoning)
- Livelli:
on|off|stream. - Un messaggio contenente solo la direttiva attiva/disattiva la visualizzazione dei blocchi di ragionamento nelle risposte.
- Quando abilitato, il ragionamento viene inviato come messaggio separato preceduto da
Thinking. stream: trasmette in streaming il ragionamento mentre la risposta viene generata, quando il canale attivo supporta le anteprime del ragionamento, poi invia la risposta finale senza ragionamento.- Alias:
/reason. - Invia
/reasoning(o/reasoning:) senza argomento per vedere il livello di ragionamento corrente. - Ordine di risoluzione: direttiva inline, poi override di sessione, poi valore predefinito per agente (
agents.list[].reasoningDefault), poi valore predefinito globale (agents.defaults.reasoningDefault), poi fallback (off).
I tag di ragionamento dei modelli locali malformati vengono gestiti in modo conservativo. I blocchi <think>...</think> chiusi restano nascosti nelle risposte normali, e viene nascosto anche il ragionamento non chiuso dopo testo già visibile. Se una risposta è interamente racchiusa in un singolo tag di apertura non chiuso e altrimenti verrebbe consegnata come testo vuoto, OpenClaw rimuove il tag di apertura malformato e consegna il testo rimanente.
Correlati
- La documentazione della modalità con privilegi elevati si trova in Modalità con privilegi elevati.
Heartbeat
- Il corpo della sonda Heartbeat è il prompt Heartbeat configurato (predefinito:
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.). Le direttive inline in un messaggio Heartbeat si applicano come di consueto (ma evita di modificare i valori predefiniti della sessione dagli Heartbeat). - La consegna degli Heartbeat usa per impostazione predefinita solo il payload finale. Per inviare anche il messaggio separato
Thinking(quando disponibile), impostaagents.defaults.heartbeat.includeReasoning: trueo, per singolo agente,agents.list[].heartbeat.includeReasoning: true.
Interfaccia web della chat
- Il selettore del ragionamento nella chat web rispecchia il livello memorizzato della sessione dallo store/config della sessione in ingresso quando la pagina viene caricata.
- Scegliere un altro livello scrive immediatamente l'override della sessione tramite
sessions.patch; non attende il prossimo invio e non è un override monousothinkingOnce. - La prima opzione è sempre la scelta per cancellare l'override. Mostra
Inherited: <resolved level>, inclusoInherited: Offquando il ragionamento ereditato è disabilitato. - Le scelte esplicite del selettore usano le rispettive etichette di livello dirette, preservando le etichette del provider quando presenti (per esempio
Maximumper un'opzionemaxetichettata dal provider). - Il selettore usa
thinkingLevelsrestituito dalla riga/dai valori predefiniti della sessione del Gateway, mantenendothinkingOptionscome elenco di etichette legacy. L'interfaccia del browser non mantiene un proprio elenco di regex dei provider; i Plugin possiedono gli insiemi di livelli specifici del modello. /think:<level>continua a funzionare e aggiorna lo stesso livello di sessione memorizzato, quindi le direttive della chat e il selettore restano sincronizzati.
Profili dei provider
- I Plugin provider possono esporre
resolveThinkingProfile(ctx)per definire i livelli supportati e il valore predefinito del modello. - I Plugin provider che fanno da proxy ai modelli Claude dovrebbero riutilizzare
resolveClaudeThinkingProfile(modelId)daopenclaw/plugin-sdk/provider-model-sharedin modo che i cataloghi Anthropic diretti e proxy restino allineati. - Ogni livello del profilo ha un
idcanonico memorizzato (off,minimal,low,medium,high,xhigh,adaptiveomax) e può includere unalabeldi visualizzazione. I provider binari usano{ id: "low", label: "on" }. - Gli hook dei profili ricevono i fatti di catalogo uniti quando disponibili, inclusi
reasoning,compat.thinkingFormatecompat.supportedReasoningEfforts. Usa questi fatti per esporre profili binari o personalizzati solo quando il contratto della richiesta configurato supporta il payload corrispondente. - I Plugin di strumenti che devono convalidare un override esplicito del ragionamento dovrebbero usare
api.runtime.agent.resolveThinkingPolicy({ provider, model })piùapi.runtime.agent.normalizeThinkingLevel(...); non dovrebbero mantenere propri elenchi di livelli per provider/modello. - I Plugin di strumenti con accesso ai metadati configurati dei modelli personalizzati possono passare
catalogaresolveThinkingPolicyin modo che gli opt-incompat.supportedReasoningEffortssiano riflessi nella convalida lato Plugin. - Gli hook legacy pubblicati (
supportsXHighThinking,isBinaryThinkingeresolveDefaultThinkingLevel) restano come adattatori di compatibilità, ma i nuovi insiemi di livelli personalizzati dovrebbero usareresolveThinkingProfile. - Le righe/i valori predefiniti del Gateway espongono
thinkingLevels,thinkingOptionsethinkingDefaultin modo che i client ACP/chat renderizzino gli stessi ID ed etichette di profilo usati dalla convalida a runtime.
Was this useful?