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 di 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 di Google Gemini)
- max → reasoning massimo del provider (Anthropic Claude Opus 4.7; Ollama lo mappa al proprio effort
thinknativo più alto) x-high,x_high,extra-high,extra higheextra_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,xhighemaxvengono mostrati solo per profili provider/modello che li supportano. Le direttive digitate per livelli non supportati vengono rifiutate con le opzioni valide di quel modello.- I livelli non supportati già memorizzati vengono rimappati in base al rango del profilo del provider.
adaptiveripiega sumediumsui modelli non adattivi, mentrexhighemaxripiegano sul livello non-off più alto supportato per il modello selezionato. - I modelli Anthropic Claude 4.6 usano
adaptivecome predefinito quando non è impostato alcun livello di ragionamento esplicito. - Anthropic Claude Opus 4.7 non usa il ragionamento adattivo come impostazione predefinita. Il suo effort API predefinito resta gestito dal provider a meno che non imposti esplicitamente un livello di ragionamento.
- 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 4.7. - Anthropic Claude Opus 4.7 espone anche
/think max; viene mappato allo stesso percorso di effort massimo gestito dal provider. - I modelli Direct DeepSeek V4 espongono
/think xhigh|max; entrambi vengono mappati a DeepSeekreasoning_effort: "max", mentre i livelli inferiori non-off vengono mappati ahigh. - I modelli DeepSeek V4 instradati tramite OpenRouter espongono
/think xhighe inviano valorireasoning_effortsupportati da OpenRouter. Gli overridemaxmemorizzati ripiegano suxhigh. - I modelli Ollama con capacità di ragionamento espongono
/think low|medium|high|max;maxviene mappato al nativothink: "high"perché l'API nativa di Ollama accetta le stringhe di effortlow,mediumehigh. - I modelli OpenAI GPT mappano
/thinktramite il supporto all'effort specifico del modello della Responses API./think offinviareasoning.effort: "none"solo quando il modello di destinazione lo supporta; altrimenti OpenClaw omette il payload di reasoning disabilitato invece di inviare un valore non supportato. - Le voci di catalogo personalizzate compatibili con OpenAI possono abilitare
/think xhighimpostandomodels.providers.<provider>.models[].compat.supportedReasoningEffortsin modo che includa"xhigh". Questo usa gli stessi metadati di compatibilità che mappano i payload di effort di reasoning OpenAI in uscita, quindi menu, validazione della sessione, CLI dell'agente ellm-taskconcordano con il comportamento del trasporto. - I riferimenti OpenRouter Hunter Alpha configurati obsoleti saltano l'iniezione di reasoning del proxy perché quella route ritirata poteva restituire testo della risposta finale tramite campi di reasoning.
- Google Gemini mappa
/think adaptiveal ragionamento dinamico gestito dal provider di Gemini. Le richieste Gemini 3 omettono unthinkingLevelfisso, mentre le richieste Gemini 2.5 invianothinkingBudget: -1; i livelli fissi continuano a essere mappati althinkingLevelo al budget Gemini più vicino per quella famiglia di modelli. - MiniMax (
minimax/*) sul percorso di streaming compatibile con Anthropic usa come predefinitothinking: { type: "disabled" }a meno che tu non imposti esplicitamente il ragionamento nei parametri del modello o della richiesta. Questo evita deltareasoning_contenttrapelati dal formato di stream Anthropic non nativo di MiniMax. - Z.AI (
zai/*) supporta solo il ragionamento binario (on/off). Qualsiasi livello diverso daoffviene trattato comeon(mappato alow). - Moonshot (
moonshot/*) mappa/think offathinking: { type: "disabled" }e qualsiasi livello diverso daoffathinking: { 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).
- Predefinito per agente (
agents.list[].thinkingDefaultnella configurazione). - Predefinito globale (
agents.defaults.thinkingDefaultnella configurazione). - Fallback: predefinito dichiarato dal provider quando disponibile; altrimenti i modelli con capacità di reasoning vengono risolti a
mediumo al livello non-offsupportato più vicino per quel modello, e i modelli senza reasoning restanooff.
Impostare un predefinito di sessione
- Invia un messaggio che sia solo la direttiva (spazi consentiti), ad esempio
/think:mediumo/t high. - Rimane valido per la sessione corrente (per mittente, per impostazione predefinita); viene cancellato da
/think:offo dal reset per inattività della 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
- Pi incorporato: il livello risolto viene passato al runtime dell'agente Pi in-process.
- Backend Claude CLI: i livelli diversi da off vengono passati a Claude Code come
--effortquando si usaclaude-cli; consulta backend CLI.
Modalità veloce (/fast)
- Livelli:
on|off. - Un messaggio contenente solo la direttiva attiva/disattiva un override di sessione della modalità veloce e risponde
Fast mode enabled./Fast mode disabled.. - Invia
/fast(o/fast status) senza modalità per vedere lo stato effettivo corrente della modalità veloce. - OpenClaw risolve la modalità veloce in questo ordine:
/fast on|offinline/con solo direttiva- Override di sessione
- Predefinito per agente (
agents.list[].fastModeDefault) - Configurazione per modello:
agents.defaults.models["<provider>/<model>"].params.fastMode - Fallback:
off
- Per
openai/*, la modalità veloce viene mappata all'elaborazione prioritaria di OpenAI inviandoservice_tier=prioritynelle richieste Responses supportate. - Per
openai-codex/*, la modalità veloce invia lo stesso flagservice_tier=prioritynelle Responses Codex. OpenClaw mantiene un unico toggle/fastcondiviso tra entrambi i percorsi di autenticazione. - Per le richieste pubbliche dirette
anthropic/*, incluso il traffico autenticato tramite 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 predefinito della modalità veloce quando sono entrambi impostati. OpenClaw continua a saltare l'iniezione del tier di servizio Anthropic per gli URL base di proxy non Anthropic. /statusmostraFastsolo quando la modalità veloce è abilitata.
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 offmemorizza un override di sessione esplicito; cancellalo tramite l'interfaccia Sessions scegliendoinherit.- La direttiva inline influisce solo su quel messaggio; altrimenti si applicano i predefiniti di sessione/globali.
- Invia
/verbose(o/verbose:) senza argomento per vedere il livello verbose corrente. - Quando verbose è attivo, gli agenti che emettono risultati di strumenti strutturati (Pi, altri agenti JSON) inviano ogni chiamata strumento come un proprio messaggio solo metadati, con prefisso
<emoji> <tool-name>: <arg>quando disponibile. Questi riepiloghi degli strumenti vengono inviati non appena ogni strumento si avvia (bolle separate), non come delta di streaming. - I riepiloghi dei fallimenti degli strumenti restano visibili in modalità normale, ma i suffissi con dettagli di errore grezzi sono nascosti a meno che verbose sia
onofull. - Quando verbose è
full, anche gli output degli strumenti vengono inoltrati dopo il completamento (bolla separata, troncata a una lunghezza sicura). Se attivi/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 degli strumenti nelle 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 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 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 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 di trace/debug di proprietà del plugin, come i riepiloghi di debug di Active Memory.- Le righe di trace possono comparire in
/statuse come messaggio diagnostico successivo dopo la normale risposta dell'assistente.
Visibilità del reasoning (/reasoning)
- Livelli:
on|off|stream. - Un messaggio contenente solo la direttiva attiva/disattiva la visualizzazione dei blocchi di ragionamento nelle risposte.
- Quando abilitato, il reasoning viene inviato come messaggio separato con prefisso
Reasoning:. stream(solo Telegram): trasmette il reasoning nella bolla bozza di Telegram mentre la risposta viene generata, quindi invia la risposta finale senza reasoning.- Alias:
/reason. - Invia
/reasoning(o/reasoning:) senza argomento per vedere il livello di reasoning corrente. - Ordine di risoluzione: direttiva inline, poi override di sessione, poi predefinito per agente (
agents.list[].reasoningDefault), poi fallback (off).
I tag di reasoning malformati dei modelli locali vengono gestiti in modo conservativo. I blocchi chiusi <think>...</think> restano nascosti nelle risposte normali, e anche il reasoning non chiuso dopo testo già visibile viene nascosto. 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à elevata si trova in Modalità elevata.
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 predefiniti di sessione dagli heartbeat). - La consegna Heartbeat invia per impostazione predefinita solo il payload finale. Per inviare anche il messaggio
Reasoning:separato (quando disponibile), impostaagents.defaults.heartbeat.includeReasoning: trueo, per agente,agents.list[].heartbeat.includeReasoning: true.
Interfaccia web chat
- Il selettore di ragionamento della web chat 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 di sessione tramite
sessions.patch; non attende il prossimo invio e non è un override una tantumthinkingOnce. - La prima opzione è sempre
Default (<resolved level>), dove il predefinito risolto proviene dal profilo di ragionamento del provider del modello della sessione attiva più la stessa logica di fallback usata da/statusesession_status. - Il selettore usa
thinkingLevelsrestituito dalla riga/default della sessione del gateway, mantenendothinkingOptionscome elenco di etichette legacy. L'interfaccia browser non mantiene un proprio elenco regex dei provider; i plugin possiedono gli insiemi di livelli specifici per modello. /think:<level>continua a funzionare e aggiorna lo stesso livello di sessione memorizzato, quindi le direttive chat e il selettore restano sincronizzati.
Profili provider
- I Plugin provider possono esporre
resolveThinkingProfile(ctx)per definire i livelli supportati dal modello e il valore predefinito. - I Plugin provider che fanno da proxy ai modelli Claude devono riutilizzare
resolveClaudeThinkingProfile(modelId)daopenclaw/plugin-sdk/provider-model-sharedcosì 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" }. - I Plugin di strumenti che devono convalidare un override esplicito del reasoning devono usare
api.runtime.agent.resolveThinkingPolicy({ provider, model })insieme aapi.runtime.agent.normalizeThinkingLevel(...); non devono mantenere elenchi propri di livelli per provider/modello. - I Plugin di strumenti con accesso ai metadati configurati dei modelli personalizzati possono passare
catalogaresolveThinkingPolicycosì che le adesioni esplicite acompat.supportedReasoningEffortssiano riflesse nella convalida lato Plugin. - Gli hook legacy pubblicati (
supportsXHighThinking,isBinaryThinkingeresolveDefaultThinkingLevel) restano come adattatori di compatibilità, ma i nuovi set di livelli personalizzati devono usareresolveThinkingProfile. - Le righe/i valori predefiniti del Gateway espongono
thinkingLevels,thinkingOptionsethinkingDefaultcosì che i client ACP/chat visualizzino gli stessi id e label del profilo usati dalla convalida a runtime.