Tools
Niveaux de réflexion
Ce que cela fait
- Directive en ligne dans tout corps entrant :
/t <level>,/think:<level>ou/thinking <level>. - Niveaux (alias) :
off | minimal | low | medium | high | xhigh | adaptive | max- minimal → "think"
- low → "think hard"
- medium → "think harder"
- high → "ultrathink" (budget maximal)
- xhigh → "ultrathink+" (modèles GPT-5.2+ et Codex, plus effort Anthropic Claude Opus 4.7)
- adaptive → réflexion adaptative gérée par le fournisseur (prise en charge pour Claude 4.6 sur Anthropic/Bedrock, Anthropic Claude Opus 4.7 et la réflexion dynamique Google Gemini)
- max → raisonnement maximal du fournisseur (Anthropic Claude Opus 4.7 ; Ollama mappe cela vers son effort
thinknatif le plus élevé) x-high,x_high,extra-high,extra highetextra_highcorrespondent àxhigh.highestcorrespond àhigh.
- Notes sur les fournisseurs :
- Les menus et sélecteurs de réflexion sont pilotés par le profil du fournisseur. Les Plugins de fournisseur déclarent l’ensemble exact de niveaux pour le modèle sélectionné, y compris des libellés comme le binaire
on. adaptive,xhighetmaxne sont annoncés que pour les profils fournisseur/modèle qui les prennent en charge. Les directives saisies pour des niveaux non pris en charge sont rejetées avec les options valides de ce modèle.- Les niveaux non pris en charge déjà stockés sont remappés selon le rang du profil fournisseur.
adaptivese replie surmediumsur les modèles non adaptatifs, tandis quexhighetmaxse replient sur le plus grand niveau nonoffpris en charge pour le modèle sélectionné. - Les modèles Anthropic Claude 4.6 utilisent
adaptivepar défaut lorsqu’aucun niveau de réflexion explicite n’est défini. - Anthropic Claude Opus 4.7 n’utilise pas la réflexion adaptative par défaut. La valeur par défaut d’effort de son API reste détenue par le fournisseur sauf si vous définissez explicitement un niveau de réflexion.
- Anthropic Claude Opus 4.7 mappe
/think xhighvers la réflexion adaptative plusoutput_config.effort: "xhigh", car/thinkest une directive de réflexion etxhighest le paramètre d’effort d’Opus 4.7. - Anthropic Claude Opus 4.7 expose aussi
/think max; il correspond au même chemin d’effort maximal détenu par le fournisseur. - Les modèles DeepSeek V4 directs exposent
/think xhigh|max; les deux correspondent àreasoning_effort: "max"de DeepSeek tandis que les niveaux inférieurs nonoffcorrespondent àhigh. - Les modèles DeepSeek V4 routés via OpenRouter exposent
/think xhighet envoient des valeursreasoning_effortprises en charge par OpenRouter. Les remplacementsmaxstockés se replient surxhigh. - Les modèles Ollama capables de réflexion exposent
/think low|medium|high|max;maxcorrespond authink: "high"natif, car l’API native d’Ollama accepte les chaînes d’effortlow,mediumethigh. - Les modèles OpenAI GPT mappent
/thinkvia la prise en charge de l’effort propre au modèle dans l’API Responses./think offenvoiereasoning.effort: "none"seulement lorsque le modèle cible le prend en charge ; sinon OpenClaw omet la charge utile de raisonnement désactivée au lieu d’envoyer une valeur non prise en charge. - Les entrées de catalogue personnalisées compatibles OpenAI peuvent activer
/think xhighen définissantmodels.providers.<provider>.models[].compat.supportedReasoningEffortspour inclure"xhigh". Cela utilise les mêmes métadonnées de compatibilité qui mappent les charges utiles sortantes d’effort de raisonnement OpenAI, de sorte que les menus, la validation de session, la CLI d’agent etllm-taskconcordent avec le comportement de transport. - Les références OpenRouter Hunter Alpha configurées et obsolètes ignorent l’injection de raisonnement par proxy, car cette route retirée pouvait renvoyer le texte de réponse finale via les champs de raisonnement.
- Google Gemini mappe
/think adaptivevers la réflexion dynamique détenue par le fournisseur de Gemini. Les requêtes Gemini 3 omettent unthinkingLevelfixe, tandis que les requêtes Gemini 2.5 envoientthinkingBudget: -1; les niveaux fixes correspondent toujours authinkingLevelou au budget Gemini le plus proche pour cette famille de modèles. - MiniMax (
minimax/*) sur le chemin de streaming compatible Anthropic utilise par défautthinking: { type: "disabled" }sauf si vous définissez explicitement la réflexion dans les paramètres de modèle ou de requête. Cela évite les deltasreasoning_contentdivulgués depuis le format de flux Anthropic non natif de MiniMax. - Z.AI (
zai/*) prend uniquement en charge la réflexion binaire (on/off). Tout niveau nonoffest traité commeon(mappé verslow). - Moonshot (
moonshot/*) mappe/think offversthinking: { type: "disabled" }et tout niveau nonoffversthinking: { type: "enabled" }. Lorsque la réflexion est activée, Moonshot accepte uniquementtool_choiceauto|none; OpenClaw normalise les valeurs incompatibles versauto.
- Les menus et sélecteurs de réflexion sont pilotés par le profil du fournisseur. Les Plugins de fournisseur déclarent l’ensemble exact de niveaux pour le modèle sélectionné, y compris des libellés comme le binaire
Ordre de résolution
- Directive en ligne dans le message (s’applique uniquement à ce message).
- Remplacement de session (défini en envoyant un message contenant uniquement une directive).
- Valeur par défaut par agent (
agents.list[].thinkingDefaultdans la configuration). - Valeur par défaut globale (
agents.defaults.thinkingDefaultdans la configuration). - Repli : valeur par défaut déclarée par le fournisseur lorsqu’elle est disponible ; sinon les modèles capables de raisonnement se résolvent vers
mediumou vers le niveau nonoffpris en charge le plus proche pour ce modèle, et les modèles sans raisonnement restent suroff.
Définir une valeur par défaut de session
- Envoyez un message qui est uniquement la directive (espaces autorisés), par exemple
/think:mediumou/t high. - Cela persiste pour la session actuelle (par expéditeur par défaut) ; effacé par
/think:offou par la réinitialisation d’inactivité de session. - Une réponse de confirmation est envoyée (
Thinking level set to high./Thinking disabled.). Si le niveau est invalide (par exemple/thinking big), la commande est rejetée avec une indication et l’état de session reste inchangé. - Envoyez
/think(ou/think:) sans argument pour voir le niveau de réflexion actuel.
Application par agent
- Pi intégré : le niveau résolu est transmis au runtime d’agent Pi dans le processus.
- Backend CLI Claude : les niveaux non désactivés sont transmis à Claude Code comme
--effortlors de l’utilisation declaude-cli; consultez Backends CLI.
Mode rapide (/fast)
- Niveaux :
on|off. - Un message contenant uniquement une directive bascule un remplacement de mode rapide de session et répond
Fast mode enabled./Fast mode disabled.. - Envoyez
/fast(ou/fast status) sans mode pour voir l’état effectif actuel du mode rapide. - OpenClaw résout le mode rapide dans cet ordre :
/fast on|offen ligne/contenant uniquement la directive- Remplacement de session
- Valeur par défaut par agent (
agents.list[].fastModeDefault) - Configuration par modèle :
agents.defaults.models["<provider>/<model>"].params.fastMode - Repli :
off
- Pour
openai/*, le mode rapide correspond au traitement prioritaire OpenAI en envoyantservice_tier=prioritysur les requêtes Responses prises en charge. - Pour
openai-codex/*, le mode rapide envoie le même indicateurservice_tier=prioritysur Codex Responses. OpenClaw conserve un seul basculeur/fastpartagé entre les deux chemins d’authentification. - Pour les requêtes publiques directes
anthropic/*, y compris le trafic authentifié par OAuth envoyé àapi.anthropic.com, le mode rapide correspond aux niveaux de service Anthropic :/fast ondéfinitservice_tier=auto,/fast offdéfinitservice_tier=standard_only. - Pour
minimax/*sur le chemin compatible Anthropic,/fast on(ouparams.fastMode: true) réécritMiniMax-M2.7enMiniMax-M2.7-highspeed. - Les paramètres de modèle Anthropic explicites
serviceTier/service_tierremplacent la valeur par défaut du mode rapide lorsque les deux sont définis. OpenClaw ignore tout de même l’injection de niveau de service Anthropic pour les URL de base proxy non Anthropic. /statusafficheFastuniquement lorsque le mode rapide est activé.
Directives détaillées (/verbose ou /v)
- Niveaux :
on(minimal) |full|off(par défaut). - Un message contenant uniquement une directive bascule le mode détaillé de session et répond
Verbose logging enabled./Verbose logging disabled.; les niveaux invalides renvoient une indication sans modifier l’état. /verbose offstocke un remplacement de session explicite ; effacez-le via l’interface Sessions en choisissantinherit.- Une directive en ligne affecte uniquement ce message ; les valeurs par défaut de session/globales s’appliquent sinon.
- Envoyez
/verbose(ou/verbose:) sans argument pour voir le niveau détaillé actuel. - Lorsque le mode détaillé est activé, les agents qui émettent des résultats d’outils structurés (Pi, autres agents JSON) renvoient chaque appel d’outil comme son propre message contenant uniquement des métadonnées, préfixé par
<emoji> <tool-name>: <arg>lorsque disponible. Ces résumés d’outils sont envoyés dès que chaque outil démarre (bulles séparées), pas comme des deltas de streaming. - Les résumés d’échec d’outil restent visibles en mode normal, mais les suffixes de détails d’erreur bruts sont masqués sauf si le mode détaillé est
onoufull. - Lorsque le mode détaillé est
full, les sorties d’outils sont aussi transmises après achèvement (bulle séparée, tronquée à une longueur sûre). Si vous basculez/verbose on|full|offpendant qu’une exécution est en cours, les bulles d’outils suivantes respectent le nouveau réglage. agents.defaults.toolProgressDetailcontrôle la forme des résumés d’outils/verboseet des lignes d’outils dans les brouillons de progression. Utilisez"explain"(par défaut) pour des libellés humains compacts comme🛠️ Exec: checking JS syntax; utilisez"raw"lorsque vous voulez aussi que la commande/le détail brut soit ajouté pour le débogage.agents.list[].toolProgressDetailpar agent remplace la valeur par défaut.explain:🛠️ Exec: check JS syntax for /tmp/app.jsraw:🛠️ Exec: check JS syntax for /tmp/app.js, node --check /tmp/app.js
Directives de trace Plugin (/trace)
- Niveaux :
on|off(par défaut). - Un message contenant uniquement une directive bascule la sortie de trace Plugin de session et répond
Plugin trace enabled./Plugin trace disabled.. - Une directive en ligne affecte uniquement ce message ; les valeurs par défaut de session/globales s’appliquent sinon.
- Envoyez
/trace(ou/trace:) sans argument pour voir le niveau de trace actuel. /traceest plus étroit que/verbose: il expose uniquement les lignes de trace/débogage appartenant aux plugins, comme les résumés de débogage Active Memory.- Les lignes de trace peuvent apparaître dans
/statuset comme message de diagnostic de suivi après la réponse normale de l’assistant.
Visibilité du raisonnement (/reasoning)
- Niveaux :
on|off|stream. - Un message contenant uniquement une directive bascule l’affichage des blocs de réflexion dans les réponses.
- Lorsqu’il est activé, le raisonnement est envoyé comme un message séparé préfixé par
Reasoning:. stream(Telegram uniquement) : diffuse le raisonnement dans la bulle de brouillon Telegram pendant la génération de la réponse, puis envoie la réponse finale sans raisonnement.- Alias :
/reason. - Envoyez
/reasoning(ou/reasoning:) sans argument pour voir le niveau de raisonnement actuel. - Ordre de résolution : directive en ligne, puis remplacement de session, puis valeur par défaut par agent (
agents.list[].reasoningDefault), puis repli (off).
Les balises de raisonnement de modèles locaux mal formées sont traitées prudemment. Les blocs fermés <think>...</think> restent masqués dans les réponses normales, et le raisonnement non fermé après du texte déjà visible est aussi masqué. Si une réponse est entièrement enveloppée dans une seule balise ouvrante non fermée et serait autrement livrée comme texte vide, OpenClaw supprime la balise ouvrante mal formée et livre le texte restant.
Associé
- La documentation du mode élevé se trouve dans Mode élevé.
Heartbeats
- Le corps de sonde Heartbeat est l’invite heartbeat configurée (par défaut :
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.). Les directives en ligne dans un message heartbeat s’appliquent comme d’habitude (mais évitez de modifier les valeurs par défaut de session depuis les heartbeats). - La livraison Heartbeat envoie par défaut uniquement la charge utile finale. Pour envoyer aussi le message
Reasoning:séparé (lorsqu’il est disponible), définissezagents.defaults.heartbeat.includeReasoning: trueouagents.list[].heartbeat.includeReasoning: truepar agent.
Interface web de chat
- Le sélecteur de réflexion du chat web reflète le niveau stocké de la session depuis le magasin/la configuration de session entrante lors du chargement de la page.
- Choisir un autre niveau écrit immédiatement le remplacement de session via
sessions.patch; cela n’attend pas le prochain envoi et ce n’est pas un remplacement ponctuelthinkingOnce. - La première option est toujours
Default (<resolved level>), où la valeur par défaut résolue provient du profil de réflexion du fournisseur du modèle de session actif, plus la même logique de repli que celle utilisée par/statusetsession_status. - Le sélecteur utilise
thinkingLevelsrenvoyé par la ligne de session/les valeurs par défaut du Gateway, avecthinkingOptionsconservé comme liste de libellés héritée. L’interface navigateur ne conserve pas sa propre liste regex de fournisseurs ; les plugins détiennent les ensembles de niveaux propres aux modèles. /think:<level>fonctionne toujours et met à jour le même niveau de session stocké, donc les directives de chat et le sélecteur restent synchronisés.
Profils de fournisseur
- Les plugins de fournisseur peuvent exposer
resolveThinkingProfile(ctx)pour définir les niveaux pris en charge par le modèle et le niveau par défaut. - Les plugins de fournisseur qui servent de proxy à des modèles Claude doivent réutiliser
resolveClaudeThinkingProfile(modelId)depuisopenclaw/plugin-sdk/provider-model-sharedafin que les catalogues Anthropic directs et les catalogues proxy restent alignés. - Chaque niveau de profil possède un
idcanonique stocké (off,minimal,low,medium,high,xhigh,adaptiveoumax) et peut inclure unlabeld’affichage. Les fournisseurs binaires utilisent{ id: "low", label: "on" }. - Les plugins d’outils qui doivent valider un remplacement explicite de réflexion doivent utiliser
api.runtime.agent.resolveThinkingPolicy({ provider, model })avecapi.runtime.agent.normalizeThinkingLevel(...); ils ne doivent pas conserver leurs propres listes de niveaux par fournisseur/modèle. - Les plugins d’outils ayant accès aux métadonnées configurées des modèles personnalisés peuvent transmettre
catalogàresolveThinkingPolicyafin que les adhésionscompat.supportedReasoningEffortssoient reflétées dans la validation côté plugin. - Les hooks hérités publiés (
supportsXHighThinking,isBinaryThinkingetresolveDefaultThinkingLevel) restent des adaptateurs de compatibilité, mais les nouveaux ensembles de niveaux personnalisés doivent utiliserresolveThinkingProfile. - Les lignes/valeurs par défaut du Gateway exposent
thinkingLevels,thinkingOptionsetthinkingDefaultafin que les clients ACP/chat affichent les mêmes identifiants et libellés de profil que ceux utilisés par la validation à l’exécution.