Tools
思考層級
功能說明
- 任何傳入內文中的行內指令:
/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 effort)
- adaptive → 由供應商管理的自適應思考(支援 Anthropic/Bedrock 上的 Claude 4.6、Anthropic Claude Opus 4.7,以及 Google Gemini 動態思考)
- max → 供應商最大推理(Anthropic Claude Opus 4.7;Ollama 會將此對應到其最高原生
thinkeffort) x-high、x_high、extra-high、extra high和extra_high會對應到xhigh。highest會對應到high。
- 供應商備註:
- 思考選單與選擇器由供應商設定檔驅動。Provider plugins 會宣告所選模型的確切層級集合,包括像二元
on這樣的標籤。 adaptive、xhigh和max只會在支援它們的供應商/模型設定檔中顯示。對不支援層級的型別化指令會被拒絕,並附上該模型的有效選項。- 既有儲存的不支援層級會依供應商設定檔等級重新對應。
adaptive在非自適應模型上會退回到medium,而xhigh和max會退回到所選模型支援的最大非off層級。 - Anthropic Claude 4.6 模型在未設定明確思考層級時,預設使用
adaptive。 - Anthropic Claude Opus 4.7 不會預設為自適應思考。除非你明確設定思考層級,否則其 API effort 預設值仍由供應商擁有。
- Anthropic Claude Opus 4.7 會將
/think xhigh對應到自適應思考加上output_config.effort: "xhigh",因為/think是思考指令,而xhigh是 Opus 4.7 的 effort 設定。 - Anthropic Claude Opus 4.7 也公開
/think max;它會對應到相同的供應商擁有最大 effort 路徑。 - 直接 DeepSeek V4 模型會公開
/think xhigh|max;兩者都會對應到 DeepSeekreasoning_effort: "max",而較低的非 off 層級會對應到high。 - 透過 OpenRouter 路由的 DeepSeek V4 模型會公開
/think xhigh,並傳送 OpenRouter 支援的reasoning_effort值。已儲存的max覆寫會退回到xhigh。 - 具備思考能力的 Ollama 模型會公開
/think low|medium|high|max;max會對應到原生think: "high",因為 Ollama 的原生 API 接受low、medium和higheffort 字串。 - OpenAI GPT 模型會透過模型特定的 Responses API effort 支援來對應
/think。只有目標模型支援時,/think off才會傳送reasoning.effort: "none";否則 OpenClaw 會省略停用的推理 payload,而不是傳送不支援的值。 - 自訂 OpenAI 相容型目錄項目可以透過將
models.providers.<provider>.models[].compat.supportedReasoningEfforts設為包含"xhigh",選擇支援/think xhigh。這會使用相同的相容性中繼資料來對應輸出的 OpenAI 推理 effort payload,因此選單、工作階段驗證、代理程式 CLI 和llm-task會與傳輸行為一致。 - 過期設定的 OpenRouter Hunter Alpha 參照會略過代理推理注入,因為該已退役路由可能會透過推理欄位傳回最終答案文字。
- Google Gemini 會將
/think adaptive對應到 Gemini 的供應商擁有動態思考。Gemini 3 請求會省略固定的thinkingLevel,而 Gemini 2.5 請求會傳送thinkingBudget: -1;固定層級仍會對應到該模型家族最接近的 GeminithinkingLevel或預算。 - Anthropic 相容串流路徑上的 MiniMax (
minimax/*) 預設為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。
- 思考選單與選擇器由供應商設定檔驅動。Provider plugins 會宣告所選模型的確切層級集合,包括像二元
解析順序
- 訊息上的行內指令(只套用於該訊息)。
- 工作階段覆寫(透過傳送只有指令的訊息設定)。
- 每個代理程式的預設值(設定中的
agents.list[].thinkingDefault)。 - 全域預設值(設定中的
agents.defaults.thinkingDefault)。 - 後備:可用時使用供應商宣告的預設值;否則具備推理能力的模型會解析為
medium或該模型最接近的受支援非off層級,而非推理模型維持off。
設定工作階段預設值
- 傳送一則只有該指令的訊息(允許空白),例如
/think:medium或/t high。 - 這會套用於目前工作階段(預設依傳送者區分);可透過
/think:off或工作階段閒置重設清除。 - 會傳送確認回覆(
Thinking level set to high./Thinking disabled.)。如果層級無效(例如/thinking big),命令會被拒絕並附上提示,且工作階段狀態保持不變。 - 傳送不帶引數的
/think(或/think:)可查看目前思考層級。
依代理程式套用
- 嵌入式 Pi:解析後的層級會傳遞給處理程序內的 Pi 代理程式執行階段。
- Claude CLI 後端:使用
claude-cli時,非 off 層級會以--effort傳遞給 Claude Code;請參閱 CLI 後端。
快速模式(/fast)
- 層級:
on|off。 - 只有指令的訊息會切換工作階段快速模式覆寫,並回覆
Fast mode enabled./Fast mode disabled.。 - 傳送不帶模式的
/fast(或/fast status)可查看目前有效的快速模式狀態。 - OpenClaw 會依此順序解析快速模式:
- 行內/只有指令的
/fast on|off - 工作階段覆寫
- 每個代理程式的預設值(
agents.list[].fastModeDefault) - 每個模型的設定:
agents.defaults.models["<provider>/<model>"].params.fastMode - 後備:
off
- 行內/只有指令的
- 對於
openai/*,快速模式會透過在受支援的 Responses 請求上傳送service_tier=priority,對應到 OpenAI 優先處理。 - 對於
openai-codex/*,快速模式會在 Codex Responses 上傳送相同的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模型參數會覆寫快速模式預設值。OpenClaw 仍會對非 Anthropic 代理基底 URL 略過 Anthropic 服務層級注入。 /status只有在快速模式啟用時才會顯示Fast。
詳細指令(/verbose 或 /v)
- 層級:
on(最小)|full|off(預設)。 - 只有指令的訊息會切換工作階段詳細模式,並回覆
Verbose logging enabled./Verbose logging disabled.;無效層級會回傳提示且不變更狀態。 /verbose off會儲存明確的工作階段覆寫;可在 Sessions UI 中選擇inherit來清除。- 行內指令只影響該訊息;否則會套用工作階段/全域預設值。
- 傳送不帶引數的
/verbose(或/verbose:)可查看目前詳細層級。 - 詳細模式開啟時,會發出結構化工具結果的代理程式(Pi、其他 JSON 代理程式)會將每次工具呼叫作為自己的純中繼資料訊息傳回,可用時前綴為
<emoji> <tool-name>: <arg>。這些工具摘要會在每個工具開始時立即傳送(獨立訊息泡泡),而不是作為串流 delta。 - 工具失敗摘要在一般模式中仍會顯示,但原始錯誤詳細資料後綴會被隱藏,除非詳細模式為
on或full。 - 當詳細模式為
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
Plugin 追蹤指令(/trace)
- 層級:
on|off(預設)。 - 只有指令的訊息會切換工作階段 Plugin 追蹤輸出,並回覆
Plugin trace enabled./Plugin trace disabled.。 - 行內指令只影響該訊息;否則會套用工作階段/全域預設值。
- 傳送不帶引數的
/trace(或/trace:)可查看目前追蹤層級。 /trace比/verbose更窄:它只公開 Plugin 擁有的追蹤/偵錯行,例如 Active Memory 偵錯摘要。- 追蹤行可能會出現在
/status中,也可能在一般助理回覆後作為後續診斷訊息出現。
推理可見性(/reasoning)
- 層級:
on|off|stream。 - 只有指令的訊息會切換是否在回覆中顯示思考區塊。
- 啟用時,推理會作為獨立訊息傳送,前綴為
Reasoning:。 stream(僅 Telegram):回覆生成時將推理串流到 Telegram 草稿泡泡,然後傳送不含推理的最終答案。- 別名:
/reason。 - 傳送不帶引數的
/reasoning(或/reasoning:)可查看目前推理層級。 - 解析順序:行內指令,接著是工作階段覆寫,接著是每個代理程式的預設值(
agents.list[].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 傳遞預設只傳送最終 payload。若也要傳送獨立的
Reasoning:訊息(可用時),請設定agents.defaults.heartbeat.includeReasoning: true或每個代理程式的agents.list[].heartbeat.includeReasoning: true。
Web 聊天 UI
- 網頁聊天思考選擇器會在頁面載入時,從傳入工作階段儲存區/設定鏡像該工作階段儲存的層級。
- 選擇另一個層級會立即透過
sessions.patch寫入工作階段覆寫;它不會等到下一次傳送,也不是一次性的thinkingOnce覆寫。 - 第一個選項永遠是
Default (<resolved level>),其中解析後的預設值來自作用中工作階段模型的供應商思考設定檔,加上/status和session_status使用的相同後備邏輯。 - 選擇器會使用 Gateway 工作階段列/預設值傳回的
thinkingLevels,並保留thinkingOptions作為舊版標籤清單。瀏覽器 UI 不會保留自己的供應商 regex 清單;plugins 擁有模型特定的層級集合。 /think:<level>仍可運作,並更新相同儲存的工作階段層級,因此聊天指令與選擇器會保持同步。
供應商設定檔
- 供應商 Plugin 可以公開
resolveThinkingProfile(ctx),以定義模型支援的層級和預設值。 - 代理 Claude 模型的供應商 Plugin 應重用
openclaw/plugin-sdk/provider-model-shared中的resolveClaudeThinkingProfile(modelId),讓直接 Anthropic 和代理目錄保持一致。 - 每個設定檔層級都有儲存的標準
id(off、minimal、low、medium、high、xhigh、adaptive或max),並且可以包含顯示用的label。二元供應商使用{ id: "low", label: "on" }。 - 需要驗證明確思考覆寫的工具 Plugin,應使用
api.runtime.agent.resolveThinkingPolicy({ provider, model })加上api.runtime.agent.normalizeThinkingLevel(...);它們不應維護自己的供應商/模型層級清單。 - 可存取已設定自訂模型中繼資料的工具 Plugin,可以將
catalog傳入resolveThinkingPolicy,讓compat.supportedReasoningEfforts的選擇加入反映在 Plugin 端驗證中。 - 已發布的舊版鉤子(
supportsXHighThinking、isBinaryThinking和resolveDefaultThinkingLevel)仍作為相容性配接器保留,但新的自訂層級集合應使用resolveThinkingProfile。 - Gateway 資料列/預設值會公開
thinkingLevels、thinkingOptions和thinkingDefault,讓 ACP/聊天用戶端轉譯與執行階段驗證所使用相同的設定檔識別碼和標籤。