思考層級
- 任何輸入內文中的內聯指令:
/t <level>、/think:<level>或/thinking <level>。 - 層級(別名):
off | minimal | low | medium | high | xhigh | adaptive | max- minimal → “think”
- low → “think hard”
- medium → “think harder”
- high → “ultrathink” (最大預算)
- xhigh → “ultrathink+” (GPT-5.2+ 和 Codex 模型,加上 Anthropic Claude Opus 4.7 努力程度)
- adaptive → 提供者管理的自適應思考(支援 Anthropic/Bedrock 上的 Claude 4.6、Anthropic Claude Opus 4.7 和 Google Gemini 動態思考)
- max → 提供者最大推理 (Anthropic Claude Opus 4.7;Ollama 將其對應至最高的原生
think力度) x-high、x_high、extra-high、extra high和extra_high對應至xhigh。highest對應至high。
- 提供者註記:
- 思考選單和選擇器是由提供者設定檔驅動的。提供者插件會為選取的模型宣告確切的層級集合,包括二進位
on等標籤。 adaptive、xhigh和max僅針對支援它們的提供者/模型設定檔顯示。針對不支援層級的輸入指令會被拒絕,並顯示該模型的有效選項。- 現有儲存的不支援層級會根據提供者設定檔排名重新對應。
adaptive在非自適應模型上會退回至medium,而xhigh和max則會退回至選取模型所支援的最大非關閉層級。 - 當未設定明確的思考層級時,Anthropic Claude 4.6 模型預設為
adaptive。 - Anthropic Claude Opus 4.7 不會預設為自適應思考。除非您明確設定思考層級,否則其 API 努力預設值仍由提供者擁有。
- Anthropic Claude Opus 4.7 將
/think xhigh對應至自適應思考加上output_config.effort: "xhigh",因為/think是思考指令,而xhigh是 Opus 4.7 的力度設定。 - Anthropic Claude Opus 4.7 也公開了
/think max;它對應到相同的提供商擁有的最大努力路徑。 - 直接的 DeepSeek V4 模型公開
/think xhigh|max;兩者都對應到 DeepSeekreasoning_effort: "max",而較低的非官方層級則對應到high。 - 經由 OpenRouter 路由的 DeepSeek V4 模型公開
/think xhigh並發送 OpenRouter 支援的reasoning_effort值。儲存的max覆寫會回退到xhigh。 - Ollama 支援思考的模型公開
/think low|medium|high|max;max對應到原生的think: "high",因為 Ollama 的原生 API 接受low、medium和high努力程度字串。 - OpenAI GPT 模型透過特定模型的 Responses API 努力程度支援來對應
/think。/think off僅在目標模型支援時才發送reasoning.effort: "none";否則 OpenClaw 會省略停用的推理負載,而不是發送不支援的值。 - 自訂的 OpenAI 相容目錄項目可以透過設定
models.providers.<provider>.models[].compat.supportedReasoningEfforts來包含"xhigh",從而選擇加入/think xhigh。這使用對應出站 OpenAI 推理努力程度負載的相同相容性元資料,因此選單、會話驗證、代理 CLI 和llm-task都會與傳輸行為一致。 - 過時設定的 OpenRouter Hunter Alpha 參照會跳過代理推理注入,因為該已退役的路由可能會透過推理欄位傳回最終答案文字。
- Google Gemini 將
/think adaptive對應到 Gemini 提供商擁有的動態思考。Gemini 3 請求會省略固定的thinkingLevel,而 Gemini 2.5 請求會發送thinkingBudget: -1;固定層級仍然會對應到該模型系列最接近的 GeminithinkingLevel或預算。 - MiniMax (
minimax/*) 在 Anthropic 相容串流路徑上預設為thinking: { type: "disabled" },除非您在模型參數或請求參數中明確設定 thinking。這可避免從 MiniMax 非原生的 Anthropic 串流格式洩漏reasoning_contentdelta。 - Z.AI (
zai/*) 僅支援二元思維 (on/off)。任何非off層級都會被視為on(對應到low)。 - Moonshot (
moonshot/*) 將/think off對應到thinking: { type: "disabled" },並將任何非off層級對應到thinking: { type: "enabled" }。當啟用思維時,Moonshot 僅接受tool_choiceauto|none;OpenClaw 會將不相容的值正規化為auto。
- 思考選單和選擇器是由提供者設定檔驅動的。提供者插件會為選取的模型宣告確切的層級集合,包括二進位
- 訊息上的內聯指令 (僅套用於該訊息)。
- Session 覆寫 (透過發送僅包含指令的訊息來設定)。
- 每個 Agent 的預設值 (設定中的
agents.list[].thinkingDefault)。 - 全域預設值 (設定中的
agents.defaults.thinkingDefault)。 - 後備機制:若可用則使用供應商宣告的預設值;否則,具備推理能力的模型會解析為
medium或該模型最接近的支援非off層級,而不具推理能力的模型則保持off。
設定 Session 預設值
Section titled “設定 Session 預設值”- 發送一條僅包含指令的訊息 (允許空白字元),例如
/think:medium或/t high。 - 這會在目前 session 生效 (預設為按發送者區分)。使用
/think default清除 session 覆寫並繼承已設定/供應商的預設值;別名包括inherit、clear、reset和unpin。 /think off會儲存一個明確的關閉覆寫。它會停用思維功能,直到您變更或清除 session 覆寫為止。- 會傳送確認回覆(
Thinking level set to high./Thinking disabled.)。如果等級無效(例如/thinking big),該指令將被拒絕並顯示提示,且會話狀態保持不變。 - 發送
/think(或/think:)且不帶參數,以查看當前的思考等級。
由代理程式應用
Section titled “由代理程式應用”- 嵌入式 Pi:解析出的等級會傳遞給程序內的 Pi 代理程式執行時。
- Claude CLI 後端:當使用
claude-cli時,非關閉等級會作為--effort傳遞給 Claude Code;請參閱 CLI backends。
快速模式 (/fast)
Section titled “快速模式 (/fast)”- 等級:
on|off|default。 - 僅包含指令的訊息會切換會話快速模式覆寫,並回覆
Fast mode enabled./Fast mode disabled.。使用/fast default來清除會話覆寫並繼承設定的預設值;別名包括inherit、clear、reset和unpin。 - 發送
/fast(或/fast status)且不帶模式參數,以查看當前有效的快速模式狀態。 - OpenClaw 按以下順序解析快速模式:
- 內聯/僅指令
/fast on|off覆寫(/fast default會清除此層級) - 會話覆寫
- 每個代理程式的預設值(
agents.list[].fastModeDefault) - 每個模型的設定:
agents.defaults.models["<provider>/<model>"].params.fastMode - 後備:
off
- 內聯/僅指令
- 對於
openai/*,快速模式會透過在支援的 Requests 要求中發送service_tier=priority來對應到 OpenAI 的優先處理。 - 對於
openai-codex/*,快速模式會在 Codex Requests 上發送相同的service_tier=priority標誌。OpenClaw 在這兩種驗證路徑之間保持一個共用的/fast切換開關。 - 對於直接的公開
anthropic/*請求,包括傳送到api.anthropic.com的 OAuth 驗證流量,快速模式對應至 Anthropic 服務層級:/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模型參數會覆寫快速模式的預設值。對於非 Anthropic 代理基礎 URL,OpenClaw 仍然會跳過 Anthropic 服務層級的注入。 /status僅在啟用快速模式時顯示Fast。
詳細指令 (/verbose 或 /v)
Section titled “詳細指令 (/verbose 或 /v)”- 層級:
on(最小) |full|off(預設)。 - 僅指令訊息會切換會話的詳細模式並回覆
Verbose logging enabled./Verbose logging disabled.;無效的層級會傳回提示而不會改變狀態。 /verbose off會儲存明確的會話覆寫;透過在 Sessions UI 中選擇inherit來清除它。- 內聯指令僅影響該訊息;否則會套用會話/全域預設值。
- 傳送
/verbose(或/verbose:) 且不帶參數,以查看目前的詳細層級。 - 當啟用詳細模式時,發出結構化工具結果的代理程式 (Pi、其他 JSON 代理程式) 會將每個工具呼叫作為其自己的僅包含中繼資料的訊息傳回,並在可用時加上
<emoji> <tool-name>: <arg>前綴。這些工具摘要會在每個工具啟動時立即傳送 (獨立氣泡),而不是作為串流增量傳送。 - 工具失敗摘要在正常模式下保持可見,但除非詳細層級為
on或full,否則會隱藏原始錯誤詳細資訊後綴。 - 當 verbose 為
full時,工具輸出也會在完成後轉發(單獨的氣泡,截斷為安全長度)。如果您在執行過程中切換/verbose on|full|off,隨後的工具氣泡將遵循新設定。 agents.defaults.toolProgressDetail控制著/verbose工具摘要和進度草稿工具行的形狀。使用"explain"(預設)以獲得緊湊的標籤,例如🛠️ Exec: checking JS syntax;當您也想要附加原始指令/細節以進行除錯時,請使用"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
外掛程式追蹤指令 (/trace)
Section titled “外掛程式追蹤指令 (/trace)”- 層級:
on|off(預設)。 - 僅指令訊息會切換工作階段外掛程式追蹤輸出並回覆
Plugin trace enabled./Plugin trace disabled.。 - 內聯指令僅影響該訊息;否則適用工作階段/全域預設值。
- 發送
/trace(或/trace:)且不帶參數,以查看目前的追蹤層級。 /trace比/verbose更狹窄:它僅公開外掛程式擁有的追蹤/除錯行,例如 Active Memory 除錯摘要。- 追蹤行可以出現在
/status中,並作為正常助理回覆之後的後續診斷訊息。
推理可見性 (/reasoning)
Section titled “推理可見性 (/reasoning)”- 層級:
on|off|stream。 - 僅指令訊息會切換是否在回覆中顯示思考區塊。
- 啟用後,推理會作為以
Thinking為前綴的單獨訊息發送。 stream(僅限 Telegram):在生成回覆時將推理串流到 Telegram 草稿氣泡中,然後發送不含推理的最終答案。- 別名:
/reason。 - 發送
/reasoning(或/reasoning:)且不帶參數,以查看目前的推理層級。 - 解析順序:內聯指令,然後是會話覆蓋,接著是每個代理的預設值(
agents.list[].reasoningDefault),然後是全域預設值(agents.defaults.reasoningDefault),最後是後備值(off)。
格式錯誤的本地模型推理標籤會被保守地處理。已封閉的 <think>...</think> 區塊在正常回覆中保持隱藏,且在已可見文字之後未封閉的推理也會被隱藏。如果回覆完全被單一未封閉的開頭標籤包圍,且原本會傳送為空文字,OpenClaw 會移除格式錯誤的開頭標籤並傳送剩餘的文字。
- 提升模式文件位於 Elevated mode。
- 心跳探測主體是已配置的心跳提示(預設:
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.)。心跳訊息中的內聯指令照常應用(但避免從心跳更改會話預設值)。 - 心跳傳遞預設僅包含最終載荷。若也要傳送單獨的
Thinking訊息(如果有的話),請設定agents.defaults.heartbeat.includeReasoning: true或個別代理的agents.list[].heartbeat.includeReasoning: true。
Web 聊天 UI
Section titled “Web 聊天 UI”- 當頁面載入時,Web 聊天的思考選擇器會反映來自傳入會話儲存/配置的會話已儲存層級。
- 選擇另一個層級會透過
sessions.patch立即寫入會話覆蓋;它不會等待下一次傳送,也不是一次性thinkingOnce覆蓋。 - 第一個選項始終是清除覆蓋的選擇。當會話繼承非關閉的有效預設值時,它會顯示
Inherited: <resolved level>;當繼承的思考被停用時,則顯示Off。 - 明確的選擇器選項會標記為覆蓋,同時在存在時保留提供者標籤(例如,對於具有提供者標籤的
max選項,顯示Override: maximum)。 - 選擇器使用閘道會話列/預設值傳回的
thinkingLevels,並將thinkingOptions保留為舊版標籤清單。瀏覽器 UI 不會維護自己的提供者正則表達式清單;外掛程式擁有特定模型的層級集。 /think:<level>仍然有效並更新相同的儲存會話層級,因此聊天指令和選擇器保持同步。
提供者設定檔
Section titled “提供者設定檔”- 提供者外掛程式可以公開
resolveThinkingProfile(ctx)來定義模型支援的層級和預設值。 - 代理 Claude 模型的提供者外掛程式應重複使用
openclaw/plugin-sdk/provider-model-shared中的resolveClaudeThinkingProfile(modelId),以便直接 Anthropic 和代理目錄保持一致。 - 每個設定檔層級都有一個儲存的標準
id(off、minimal、low、medium、high、xhigh、adaptive或max),並且可能包含顯示label。二元提供者使用{ id: "low", label: "on" }。 - 需要驗證明確思考覆寫的工具外掛程式應使用
api.runtime.agent.resolveThinkingPolicy({ provider, model })加上api.runtime.agent.normalizeThinkingLevel(...);它們不應保留自己的提供者/模型層級清單。 - 可以存取已設定自訂模型元資料的工具外掛程式可以將
catalog傳遞到resolveThinkingPolicy中,以便compat.supportedReasoningEfforts的選擇加入反映在外掛程式端的驗證中。 - 已發佈的舊版掛勾(
supportsXHighThinking、isBinaryThinking和resolveDefaultThinkingLevel)保留為相容性轉接器,但新的自訂層級集應使用resolveThinkingProfile。 - Gateway 列/預設值公開
thinkingLevels、thinkingOptions和thinkingDefault,以便 ACP/聊天用戶端呈現與執行時期驗證使用的相同設定檔 ID 和標籤。