Skip to content

OpenClaw 通过内联指令控制 AI 推理深度和响应速度:/think 设定思考级别(off/minimal/low/medium/high/xhigh/adaptive/max),/fast` 切换低延迟模式,/verbose 开启工具调用详情,``/trace 暴露插件调试信息,``/reasoning控制思考块是否显示。指令可按消息、会话或配置层级生效,并依赖提供商模型能力。关键操作:发送仅含指令的消息(如/think:medium)设置会话默认值;通过 /think default清除覆盖;发送/think` 无参数查看当前级别。

OpenClaw 思考级别与 /think 指令配置指南

功能说明

  • 在任意入站消息正文中使用内联指令:/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 → 提供商管理的自适应推理(Claude 4.6 on Anthropic/Bedrock、Anthropic Claude Opus 4.7、Google Gemini 动态思考支持)
    • max → 提供商最大推理(Anthropic Claude Opus 4.7;Ollama 映射到本地最高 think effort)
    • x-highx_highextra-highextra highextra_high 均映射到 xhigh
    • highest 映射到 high
  • 提供商行为细节:
    • 思考菜单和选择器由提供商配置文件驱动。插件为所选模型声明精确的级别集,包括二进制 on 标签。
    • adaptivexhighmax 仅在该提供商/模型支持时显示。输入不支持的级别会被拒绝并提示可选项。
    • 已存储的不支持级别按提供商配置文件排名重新映射。adaptive 在非自适应模型上回退到 mediumxhighmax 回退到该模型支持的最大非 off 级别。
    • Anthropic Claude 4.6 模型默认使用 adaptive(未显式设置思考级别时)。
    • Anthropic Claude Opus 4.7 不默认自适应。其 API effort 默认由提供商控制,除非你显式设置思考级别。
    • Anthropic Claude Opus 4.7 将 /think xhigh 映射到自适应思考 + output_config.effort: "xhigh"
    • Anthropic Claude Opus 4.7 也暴露 /think max,映射到相同的提供商最大 effort 路径。
    • 原生的 DeepSeek V4 模型暴露 /think xhigh|max,两者都映射到 DeepSeek reasoning_effort: "max",而更低的非 off 级别映射到 high
    • 经 OpenRouter 路由的 DeepSeek V4 模型暴露 /think xhigh,并发送 OpenRouter 支持的 reasoning_effort 值。存储的 max 覆盖回退到 xhigh
    • Ollama 支持思考的模型暴露 /think low|medium|high|maxmax 映射到原生 think: "high"(Ollama 原生 API 接受 lowmediumhigh)。
    • OpenAI GPT 模型通过模型特定的 Responses API effort 支持映射 /think/think off 仅当目标模型支持时才发送 reasoning.effort: "none";否则 OpenClaw 省略 payload 而非发送不支持的值。
    • 自定义 OpenAI 兼容目录条目可通过设置 models.providers.<provider>.models[].compat.supportedReasoningEfforts 包含 "xhigh" 来启用 /think xhigh
    • 过时的 OpenRouter Hunter Alpha 配置会跳过代理推理注入(该路由已弃用,可能将最终答案放在推理字段中)。
    • Google Gemini 将 /think adaptive 映射到 Gemini 的动态思考(提供商拥有)。Gemini 3 请求省略固定 thinkingLevel,Gemini 2.5 发送 thinkingBudget: -1;固定级别仍映射到最接近的 Gemini 级别或预算。
    • MiniMax(minimax/*)在 Anthropic 兼容流路径上默认禁用思考(thinking: { type: "disabled" }),除非你在模型参数或请求参数中显式启用。
    • Z.AI(zai/*)仅支持二进制思考(on/off)。任何非 off 级别均视为 on(映射到 low)。
    • Moonshot(moonshot/*)将 /think off 映射到 thinking: { type: "disabled" },任何非 off 级别映射到 thinking: { type: "enabled" }。思考启用时,Moonshot 仅接受 tool_choice auto|none;OpenClaw 将不兼容的值规范化为 auto

解析顺序

  1. 消息上的内联指令(仅适用于该消息)。
  2. 会话覆盖(通过发送仅含指令的消息设置)。
  3. 每代理默认值(配置中的 agents.list[].thinkingDefault)。
  4. 全局默认值(配置中的 agents.defaults.thinkingDefault)。
  5. 回退:提供商声明的默认值(若有);否则支持推理的模型解析到 medium 或该模型支持的最接近的非 off 级别,不支持推理的模型保持 off

设置会话默认值

  • 发送一条仅包含指令的消息(允许空白字符),例如 /think:medium/t high
  • 该设置对当前会话生效(默认按发件人)。使用 /think default 清除会话覆盖以继承配置或提供商默认值;别名包括 inheritclearresetunpin
  • /think off 存储显式关闭覆盖:禁用思考,直到你更改或清除会话覆盖。
  • 发送确认回复(Thinking level set to high. / Thinking disabled.)。若级别无效(如 /thinking big),命令被拒绝并提示,会话状态保持不变。
  • 发送 /think(或 /think:)不带参数可查看当前思考级别。

按代理应用

  • 嵌入式 Pi:解析后的级别传递给进程内 Pi 代理运行时。
  • Claude CLI 后端:非 off 级别在 claude-cli 模式下传递给 Claude Code 作为 --effort;参见 CLI 后端

快速模式(/fast)

  • 级别:on|off|default
  • 仅含指令的消息切换会话快速模式覆盖,并回复 Fast mode enabled. / Fast mode disabled.。使用 /fast default 清除会话覆盖并继承配置默认值;别名包括 inheritclearresetunpin
  • 发送 /fast(或 /fast status)不带模式可查看当前有效的快速模式状态。
  • OpenClaw 按以下顺序解析快速模式:
    1. 内联/仅指令的 /fast on|off 覆盖(/fast default 清除这一层)
    2. 会话覆盖
    3. 每代理默认值(agents.list[].fastModeDefault
    4. 每模型配置:agents.defaults.models["<provider>/<model>"].params.fastMode
    5. 回退:off
  • 对于 openai/*,快速模式映射到 OpenAI 优先级处理:在支持的 Responses 请求上发送 service_tier=priority
  • 对于 openai-codex/*,快速模式在 Codex Responses 上发送相同的 service_tier=priority 标志。OpenClaw 在两个认证路径之间保持共享的 /fast 开关。
  • 对于直接公开的 anthropic/* 请求(包括通过 OAuth 认证发送到 api.anthropic.com 的流量),快速模式映射到 Anthropic 服务层:/fast on 设置 service_tier=auto/fast off 设置 service_tier=standard_only
  • 对于 minimax/* 在 Anthropic 兼容路径上,/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 存储显式会话覆盖;通过会话 UI 选择 inherit 清除。
  • 内联指令仅影响该消息;会话/全局默认值否则生效。
  • 发送 /verbose(或 /verbose:)不带参数可查看当前详细级别。
  • 详细模式开启时,发出结构化工具结果的代理(Pi、其他 JSON 代理)将每个工具调用作为独立的仅元数据消息发送回来,可用时前缀为 <emoji> <tool-name>: <arg>。这些工具摘要在每个工具启动时立即发送(独立气泡),而非流式增量。
  • 工具失败摘要在普通模式下仍可见,但原始错误详情后缀在详细模式非 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.js
    • raw🛠️ Exec: check JS syntax for /tmp/app.js, node --check /tmp/app.js

插件跟踪指令(/trace)

  • 级别:on | off(默认)。
  • 仅含指令的消息切换会话插件跟踪输出,并回复 Plugin trace enabled. / Plugin trace disabled.
  • 内联指令仅影响该消息;会话/全局默认值否则生效。
  • 发送 /trace(或 /trace:)不带参数可查看当前跟踪级别。
  • /trace/verbose 范围更窄:仅暴露插件拥有的跟踪/调试行,例如 Active Memory 调试摘要。
  • 跟踪行可以出现在 /status 中以及作为正常助手回复后的后续诊断消息。

推理可见性(/reasoning)

  • 级别:on|off|stream
  • 仅含指令的消息切换是否在回复中显示思考块。
  • 启用时,推理作为独立消息发送,前缀为 Thinking
  • stream(仅限 Telegram):在回复生成过程中将推理流入 Telegram 草稿气泡,然后发送不含推理的最终答案。
  • 别名:/reason
  • 发送 /reasoning(或 /reasoning:)不带参数可查看当前推理级别。
  • 解析顺序:内联指令,然后是会话覆盖,然后是每代理默认值(agents.list[].reasoningDefault),然后是全局默认值(agents.defaults.reasoningDefault),最后回退到 off
  • 畸形的本地模型推理标签处理:闭合的 <think>...</think> 块在正常回复中保持隐藏;未闭合的推理标记如果在可见文本后也会被隐藏。如果回复完全包裹在一个未闭合的开启标签中且会导致空文本,OpenClaw 移除畸形开启标签后发送剩余文本。

相关文档

心跳配置

  • 心跳探测正文是已配置的心跳提示词(默认: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 思考选择器

  • Web 聊天思考选择器在页面加载时从入站会话存储/配置中镜像会话的存储级别。
  • 选择另一个级别通过 sessions.patch 立即写入会话覆盖,而不是等待下一条消息发送,也不是一次性 thinkingOnce 覆盖。
  • 第一个选项始终是清除覆盖选项,显示 继承: <解析后的级别>(包括 继承: 关闭 当继承的思考禁用时)。
  • 显式选择器选项使用直接级别标签,同时保留提供商标签(例如对于提供商标记的 max 选项显示 Maximum)。
  • 选择器使用网关会话行/默认值返回的 thinkingLevels,同时保留 thinkingOptions 作为旧标签列表。浏览器 UI 自身不维护提供商正则列表;插件拥有特定模型的级别集。
  • /think:&lt;level&gt; 仍有效并更新同一存储的会话级别,因此聊天指令和选择器保持同步。

提供商配置文件

  • 提供商插件可以暴露 resolveThinkingProfile(ctx) 来定义模型支持的级别和默认值。
  • 代理 Claude 模型的提供商插件应重用 openclaw/plugin-sdk/provider-model-shared 中的 resolveClaudeThinkingProfile(modelId),使直接 Anthropic 和代理目录保持一致。
  • 每个配置文件级别有一个存储的规范 idoffminimallowmediumhighxhighadaptivemax),并可能包含显示 label。二进制提供商使用 { id: "low", label: "on" }
  • 需要验证显式思考覆盖的工具插件应使用 api.runtime.agent.resolveThinkingPolicy({ provider, model })api.runtime.agent.normalizeThinkingLevel(...),不应维护自己的提供商/模型级别列表。
  • 工具插件若有权访问配置的自定义模型元数据,可以将 catalog 传入 resolveThinkingPolicy 以便 compat.supportedReasoningEfforts 选择项反映在插件侧验证中。
  • 已发布的旧钩子(supportsXHighThinkingisBinaryThinkingresolveDefaultThinkingLevel)仍作为兼容适配器保留,但新的自定义级别集应使用 resolveThinkingProfile
  • 网关行/默认值暴露 thinkingLevelsthinkingOptionsthinkingDefault,使 ACP/聊天客户端渲染与运行时验证使用的配置文件 ID 和标签一致。

常见问题

/think 级别有哪些?怎么选择适合的任务?

级别从低到高:offminimallowmediumhighxhighadaptivemax。简单问答用默认或 off;小改动用 low;多文件设计用 medium;架构决策用 high;追求低延迟用 /fast on。注意部分级别(xhighadaptivemax)仅在特定模型上可用,输入不支持的级别会被拒绝。

/fast 快速模式对哪些提供商生效?怎么验证?

快速模式已支持 OpenAI(通过 service_tier=priority)、Anthropic API Key 请求(通过 service_tier)、MiniMax(模型名重写为 '-highspeed')。Ollama 和本地模型不支持。发送 /fast on 后,通过 /status 查看是否显示 Fast 标记;或观察响应延迟是否明显降低。

/reasoning stream 是什么?只能在 Telegram 上用吗?

/reasoning stream 在回复生成过程中将推理内容流入 Telegram 草稿气泡,生成完成后发送不含推理的最终答案。该功能仅限 Telegram 渠道。其他渠道上使用 /reasoning on 会将推理作为独立消息发送。