何をするか
- 任意の受信本文内のインラインディレクティブ:
/t <level>、/think:<level>、または/thinking <level>。 - レベル (エイリアス):
off | minimal | low | medium | high | xhigh | adaptive | max。おおよそ Anthropic の古典的な 「think」 < 「think hard」 < 「think harder」 < 「ultrathink」 というマジックワードの段階に対応します:- minimal ~ 「think」
- low ~ 「think hard」
- medium ~ 「think harder」
- high ~ 「ultrathink」 (最大予算)
- xhigh ~ 「ultrathink+」 (GPT-5.2+ と Codex モデル、および Anthropic Claude Opus 4.7+ effort)
- adaptive → プロバイダー管理の adaptive thinking (Anthropic/Bedrock の Claude 4.6、Anthropic Claude Opus 4.7+、および Google Gemini dynamic thinking で対応)
- max → プロバイダー最大 reasoning (Anthropic Claude Opus 4.7+。Ollama はこれをネイティブの最高
thinkeffort にマップ) x-high、x_high、extra-high、extra high、およびextra_highはxhighにマップされます。highestはhighにマップされます。
- プロバイダーに関する注記:
- Thinking メニューとピッカーはプロバイダープロファイルによって駆動されます。プロバイダー Plugin は、binary
onなどのラベルを含め、選択されたモデルの正確なレベルセットを宣言します。 adaptive、xhigh、maxは、それらに対応するプロバイダー/モデルプロファイルでのみ表示されます。対応していないレベルの型付きディレクティブは、そのモデルで有効な選択肢とともに拒否されます。- 既存の保存済み未対応レベルは、プロバイダープロファイルの順位によって再マップされます。
adaptiveは非 adaptive モデルではmediumにフォールバックし、xhighとmaxは選択されたモデルで対応する最大の非 off レベルにフォールバックします。 - Anthropic Claude 4.6 モデルは、明示的な thinking レベルが設定されていない場合、デフォルトで
adaptiveになります。 - Anthropic Claude Opus 4.8 と Opus 4.7 は、thinking レベルを明示的に設定しない限り thinking をオフのままにします。Opus 4.8 のプロバイダー所有 effort デフォルトは、adaptive thinking が有効化された後は
highです。 - Anthropic Claude Opus 4.7+ は
/think xhighを adaptive thinking とoutput_config.effort: "xhigh"にマップします。これは/thinkが thinking ディレクティブであり、xhighが Opus の effort 設定であるためです。 - Anthropic Claude Opus 4.7+ は
/think maxも公開します。これは同じプロバイダー所有の最大 effort パスにマップされます。 - 直接の DeepSeek V4 モデルは
/think xhigh|maxを公開します。どちらも DeepSeekreasoning_effort: "max"にマップされ、より低い非 off レベルはhighにマップされます。 - OpenRouter 経由の DeepSeek V4 モデルは
/think xhighを公開し、DeepSeek ネイティブのトップレベルreasoning_effortではなく、OpenRouter 対応のreasoning.effort値を送信します。より低い非 off レベルはhighにマップされ、保存済みのmaxオーバーライドはxhighにフォールバックします。 - Ollama の thinking 対応モデルは
/think low|medium|high|maxを公開します。Ollama のネイティブ API はlow、medium、highの effort 文字列を受け入れるため、maxはネイティブのthink: "high"にマップされます。 - OpenAI GPT モデルは、モデル固有の Responses API effort 対応を通じて
/thinkをマップします。/think offは対象モデルが対応している場合にのみreasoning.effort: "none"を送信します。それ以外の場合、OpenClaw は未対応の値を送信する代わりに、無効化された reasoning ペイロードを省略します。 - カスタム OpenAI 互換カタログエントリーは、
models.providers.<provider>.models[].compat.supportedReasoningEffortsに"xhigh"を含めることで/think xhighにオプトインできます。これは送信側 OpenAI reasoning effort ペイロードをマップするものと同じ互換メタデータを使用するため、メニュー、セッション検証、エージェント CLI、llm-taskがトランスポート挙動と一致します。 - 古い設定済みの OpenRouter Hunter Alpha 参照は、その廃止済みルートが reasoning フィールドを通じて最終回答テキストを返す可能性があったため、プロキシ reasoning 注入をスキップします。
- Google Gemini は
/think adaptiveを Gemini のプロバイダー所有 dynamic thinking にマップします。Gemini 3 リクエストは固定のthinkingLevelを省略し、Gemini 2.5 リクエストはthinkingBudget: -1を送信します。固定レベルは引き続き、そのモデルファミリーに最も近い GeminithinkingLevelまたは予算にマップされます。 - Anthropic 互換ストリーミングパス上の MiniMax M2.x (
minimax/MiniMax-M2*) は、モデルパラメーターまたはリクエストパラメーターで thinking を明示的に設定しない限り、デフォルトでthinking: { type: "disabled" }になります。これにより、M2.x の非ネイティブ Anthropic ストリーム形式からreasoning_contentデルタが漏れることを避けます。MiniMax-M3 (および M3.x) は例外です。M3 は適切な Anthropic thinking ブロックを出力し、thinking が無効な場合は空の content を返すため、OpenClaw は M3 をプロバイダーの省略/adaptive thinking パスのままにします。 - Z.AI (
zai/*) はほとんどの GLM モデルで binary (on/off) です。GLM-5.2 は例外です。これは/think off|low|high|maxを公開し、lowとhighを Z.AIreasoning_effort: "high"にマップし、maxをreasoning_effort: "max"にマップします。 - Moonshot Kimi K2.7 Code (
moonshot/kimi-k2.7-code) は常に thinking します。そのプロファイルはonのみを公開し、OpenClaw は Moonshot が要求するとおり送信側thinkingフィールドを省略します。他のmoonshot/*モデルは/think offをthinking: { type: "disabled" }にマップし、任意の非offレベルをthinking: { type: "enabled" }にマップします。thinking が有効な場合、Moonshot はtool_choiceauto|noneのみを受け入れます。OpenClaw は互換性のない値をautoに正規化します。
- Thinking メニューとピッカーはプロバイダープロファイルによって駆動されます。プロバイダー Plugin は、binary
解決順序
- メッセージ上のインラインディレクティブ (そのメッセージにのみ適用)。
- セッションオーバーライド (ディレクティブのみのメッセージを送信して設定)。
- エージェントごとのデフォルト (config 内の
agents.list[].thinkingDefault)。 - グローバルデフォルト (config 内の
agents.defaults.thinkingDefault)。 - フォールバック: 利用可能な場合はプロバイダー宣言のデフォルト。それ以外の場合、reasoning 対応モデルは
mediumまたはそのモデルで対応する最も近い非offレベルに解決され、非 reasoning モデルはoffのままです。
セッションデフォルトの設定
- ディレクティブのみのメッセージを送信します (空白は許可)。例:
/think:mediumまたは/t high。 - これは現在のセッションに固定されます (デフォルトでは送信者ごと)。
/think defaultを使用するとセッションオーバーライドをクリアし、設定済み/プロバイダーデフォルトを継承します。エイリアスにはinherit、clear、reset、unpinがあります。 /think offは明示的な off オーバーライドを保存します。セッションオーバーライドを変更またはクリアするまで thinking を無効にします。- 確認返信が送信されます (
Thinking level set to high./Thinking disabled.)。レベルが無効な場合 (例:/thinking big)、コマンドはヒント付きで拒否され、セッション状態は変更されません。 - 引数なしで
/think(または/think:) を送信すると、現在の thinking レベルを確認できます。
エージェントによる適用
- 組み込み OpenClaw: 解決されたレベルは、インプロセス OpenClaw エージェントランタイムに渡されます。
- Claude CLI バックエンド:
claude-cliを使用している場合、非 off レベルは--effortとして Claude Code に渡されます。CLI バックエンド を参照してください。
高速モード (/fast)
- レベル:
auto|on|off|default。 - ディレクティブのみのメッセージはセッション高速モードオーバーライドを切り替え、
Fast mode set to auto.、Fast mode enabled.、またはFast mode disabled.と返信します。/fast defaultを使用するとセッションオーバーライドをクリアし、設定済みデフォルトを継承します。エイリアスにはinherit、clear、reset、unpinがあります。 - モードなしで
/fast(または/fast status) を送信すると、現在有効な高速モード状態を確認できます。 - OpenClaw は高速モードを次の順序で解決します:
- インライン/ディレクティブのみの
/fast auto|on|offオーバーライド (/fast defaultはこの層をクリア) - セッションオーバーライド
- エージェントごとのデフォルト (
agents.list[].fastModeDefault) - モデルごとの設定:
agents.defaults.models["<provider>/<model>"].params.fastMode - フォールバック:
off
- インライン/ディレクティブのみの
autoはセッション/config モードを auto のままにしますが、新しい各モデル呼び出しを個別に解決します。auto カットオフ前に開始した呼び出しでは高速モードが有効になります。後続の retry、fallback、tool-result、または continuation 呼び出しは高速モード無効で開始します。カットオフのデフォルトは 60 秒です。変更するには、アクティブモデルでagents.defaults.models["<provider>/<model>"].params.fastAutoOnSecondsを設定します。openai/*では、高速モードは対応する Responses リクエストでservice_tier=priorityを送信することで OpenAI priority processing にマップされます。- Codex バックエンドの
openai/*/openai-codex/*モデルでは、高速モードは Codex Responses に同じservice_tier=priorityフラグを送信します。ネイティブ Codex app-server ターンはturn/startまたは thread start/resume の場合のみ tier を受け取るため、autoはすでに実行中の app-server ターンを再 tier 化できません。OpenClaw が開始する次のモデルターンに適用されます。 - OAuth 認証済みで
api.anthropic.comに送信されるトラフィックを含む、直接の公開anthropic/*リクエストでは、高速モードは Anthropic service tiers にマップされます。/fast onはservice_tier=autoを設定し、/fast offはservice_tier=standard_onlyを設定します。 - Anthropic 互換パス上の
minimax/*では、/fast on(またはparams.fastMode: true) はMiniMax-M2.7をMiniMax-M2.7-highspeedに書き換えます。 - 明示的な Anthropic
serviceTier/service_tierモデルパラメーターは、両方が設定されている場合に高速モードデフォルトをオーバーライドします。OpenClaw は引き続き、非 Anthropic プロキシベース URL では Anthropic service-tier 注入をスキップします。 /statusは、高速モードが有効な場合はFastを、設定済みモードが auto の場合はFast:autoを表示します。
詳細ディレクティブ (/verbose または /v)
- レベル:
on(最小) |full|off(デフォルト)。 - ディレクティブのみのメッセージはセッション verbose を切り替え、
Verbose logging enabled./Verbose logging disabled.と返信します。無効なレベルは状態を変更せずにヒントを返します。 /verbose offは明示的なセッションオーバーライドを保存します。Sessions UI でinheritを選択してクリアします。- 認可された外部チャネル送信者は、セッション verbose オーバーライドを永続化できます。内部 Gateway/webchat クライアントが永続化するには
operator.adminが必要です。 - インラインディレクティブはそのメッセージにのみ影響します。それ以外の場合はセッション/グローバルデフォルトが適用されます。
- 引数なしで
/verbose(または/verbose:) を送信すると、現在の verbose レベルを確認できます。 - verbose が on の場合、構造化されたツール結果を出力するエージェントは、各ツール呼び出しをメタデータのみの独立したメッセージとして送り返します。利用可能な場合は
<emoji> <tool-name>: <arg>が先頭に付きます。これらのツール要約は、ストリーミングデルタではなく、各ツールの開始直後に送信されます (別バブル)。 - ツール失敗の要約は通常モードでも表示されたままですが、生のエラー詳細サフィックスは verbose が
fullでない限り非表示になります。 - verbose が
fullの場合、ツール出力も完了後に転送されます (別バブル、安全な長さに切り詰め)。実行中に/verbose on|full|offを切り替えると、以後のツールバブルは新しい設定に従います。 agents.defaults.toolProgressDetailは/verboseツール要約と進捗ドラフトのツール行の形式を制御します。🛠️ Exec: checking JS syntaxのようなコンパクトな人間向けラベルには"explain"(デフォルト) を使用します。デバッグのために生のコマンド/詳細も追加したい場合は"raw"を使用します。エージェントごとのagents.list[].toolProgressDetailはデフォルトをオーバーライドします。explain:🛠️ Exec: check JS syntax for /tmp/app.jsraw:🛠️ Exec: check JS syntax for /tmp/app.js, node --check /tmp/app.js
Plugin トレースディレクティブ (/trace)
- レベル:
on|off(デフォルト)。 - ディレクティブのみのメッセージはセッション Plugin トレース出力を切り替え、
Plugin trace enabled./Plugin trace disabled.と返信します。 - インラインディレクティブはそのメッセージにのみ影響します。それ以外の場合はセッション/グローバルデフォルトが適用されます。
- 引数なしで
/trace(または/trace:) を送信すると、現在のトレースレベルを確認できます。 /traceは/verboseより範囲が狭く、Active Memory debug summaries などの Plugin 所有の trace/debug 行のみを公開します。- トレース行は
/status内、および通常のアシスタント返信後のフォローアップ診断メッセージとして表示されることがあります。
Reasoning の表示 (/reasoning)
- レベル:
on|off|stream。 - ディレクティブのみのメッセージは、thinking ブロックを返信に表示するかどうかを切り替えます。
- 有効な場合、reasoning は
Thinkingというプレフィックス付きの別メッセージとして送信されます。 stream: アクティブなチャネルが reasoning プレビューに対応している場合、返信生成中に reasoning をストリーミングし、その後 reasoning なしで最終回答を送信します。- エイリアス:
/reason。 - 引数なしで
/reasoning(または/reasoning:) を送信すると、現在の reasoning レベルを確認できます。 - 解決順序: インラインディレクティブ、次にセッションオーバーライド、次にエージェントごとのデフォルト (
agents.list[].reasoningDefault)、次にグローバルデフォルト (agents.defaults.reasoningDefault)、次にフォールバック (off)。
<think>...</think> ブロックは通常の返信では非表示のままで、すでに表示されたテキストの後にある閉じられていない推論も非表示になります。返信全体が単一の閉じられていない開始タグで囲まれており、そのままだと空のテキストとして配信される場合、OpenClaw は不正な形式の開始タグを削除し、残りのテキストを配信します。
関連
- 昇格モードのドキュメントは 昇格モード にあります。
Heartbeat
- Heartbeat プローブ本文は設定済みの Heartbeat プロンプトです(デフォルト:
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.)。Heartbeat メッセージ内のインラインディレクティブは通常どおり適用されます(ただし Heartbeat からセッションのデフォルトを変更することは避けてください)。 - Heartbeat の配信はデフォルトで最終ペイロードのみです。別個の
Thinkingメッセージ(利用可能な場合)も送信するには、agents.defaults.heartbeat.includeReasoning: trueまたはエージェントごとのagents.list[].heartbeat.includeReasoning: trueを設定します。
Web チャット UI
- Web チャットの思考セレクターは、ページ読み込み時に受信セッションストア/設定からセッションに保存されたレベルを反映します。
- 別のレベルを選択すると、
sessions.patchを介してセッションの上書きが即座に書き込まれます。次回送信まで待たず、1 回限りのthinkingOnce上書きでもありません。 - 最初のオプションは常に上書きをクリアする選択肢です。継承された思考が無効な場合の
Inherited: Offを含め、Inherited: <resolved level>と表示されます。 - 明示的なピッカー選択では、プロバイダーラベルが存在する場合はそれを保持しつつ、直接のレベルラベルを使用します(たとえばプロバイダーラベル付きの
maxオプションではMaximum)。 - ピッカーは Gateway セッション行/デフォルトから返される
thinkingLevelsを使用し、thinkingOptionsはレガシーのラベル一覧として保持されます。ブラウザー UI は独自のプロバイダー正規表現リストを保持しません。モデル固有のレベルセットは Plugin が所有します。 /think:<level>は引き続き機能し、同じ保存済みセッションレベルを更新するため、チャットディレクティブとピッカーは同期されたままになります。
プロバイダープロファイル
- プロバイダー Plugin は、モデルがサポートするレベルとデフォルトを定義するために
resolveThinkingProfile(ctx)を公開できます。 - Claude モデルをプロキシするプロバイダー Plugin は、直接の Anthropic カタログとプロキシカタログの整合性を保つために、
openclaw/plugin-sdk/provider-model-sharedのresolveClaudeThinkingProfile(modelId)を再利用する必要があります。 - 各プロファイルレベルには、保存される正規の
id(off、minimal、low、medium、high、xhigh、adaptive、またはmax)があり、表示用のlabelを含めることができます。バイナリプロバイダーは{ id: "low", label: "on" }を使用します。 - プロファイルフックは、利用可能な場合、
reasoning、compat.thinkingFormat、compat.supportedReasoningEffortsを含む統合済みカタログ情報を受け取ります。これらの情報を使用して、設定済みのリクエスト契約が対応するペイロードをサポートする場合にのみ、バイナリまたはカスタムプロファイルを公開してください。 - 明示的な思考上書きを検証する必要があるツール Plugin は、
api.runtime.agent.resolveThinkingPolicy({ provider, model })とapi.runtime.agent.normalizeThinkingLevel(...)を使用する必要があります。独自のプロバイダー/モデルレベル一覧を保持してはいけません。 - 設定済みカスタムモデルメタデータにアクセスできるツール Plugin は、
resolveThinkingPolicyにcatalogを渡すことで、compat.supportedReasoningEffortsのオプトインを Plugin 側の検証に反映できます。 - 公開済みのレガシーフック(
supportsXHighThinking、isBinaryThinking、resolveDefaultThinkingLevel)は互換性アダプターとして残りますが、新しいカスタムレベルセットではresolveThinkingProfileを使用する必要があります。 - Gateway 行/デフォルトは
thinkingLevels、thinkingOptions、thinkingDefaultを公開するため、ACP/チャットクライアントはランタイム検証で使用されるものと同じプロファイル ID とラベルをレンダリングします。