Appearance
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 映射到本地最高
thinkeffort) x-high、x_high、extra-high、extra high、extra_high均映射到xhigh。highest映射到high。
- 提供商行为细节:
- 思考菜单和选择器由提供商配置文件驱动。插件为所选模型声明精确的级别集,包括二进制
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"。 - 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、high)。 - 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_choiceauto|none;OpenClaw 将不兼容的值规范化为auto。
- 思考菜单和选择器由提供商配置文件驱动。插件为所选模型声明精确的级别集,包括二进制
解析顺序
- 消息上的内联指令(仅适用于该消息)。
- 会话覆盖(通过发送仅含指令的消息设置)。
- 每代理默认值(配置中的
agents.list[].thinkingDefault)。 - 全局默认值(配置中的
agents.defaults.thinkingDefault)。 - 回退:提供商声明的默认值(若有);否则支持推理的模型解析到
medium或该模型支持的最接近的非off级别,不支持推理的模型保持off。
设置会话默认值
- 发送一条仅包含指令的消息(允许空白字符),例如
/think:medium或/t high。 - 该设置对当前会话生效(默认按发件人)。使用
/think default清除会话覆盖以继承配置或提供商默认值;别名包括inherit、clear、reset、unpin。 /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清除会话覆盖并继承配置默认值;别名包括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/*,快速模式映射到 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.jsraw:🛠️ 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 移除畸形开启标签后发送剩余文本。
相关文档
- 提升模式文档见 提升模式(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 思考选择器
- Web 聊天思考选择器在页面加载时从入站会话存储/配置中镜像会话的存储级别。
- 选择另一个级别通过
sessions.patch立即写入会话覆盖,而不是等待下一条消息发送,也不是一次性thinkingOnce覆盖。 - 第一个选项始终是清除覆盖选项,显示
继承: <解析后的级别>(包括继承: 关闭当继承的思考禁用时)。 - 显式选择器选项使用直接级别标签,同时保留提供商标签(例如对于提供商标记的
max选项显示Maximum)。 - 选择器使用网关会话行/默认值返回的
thinkingLevels,同时保留thinkingOptions作为旧标签列表。浏览器 UI 自身不维护提供商正则列表;插件拥有特定模型的级别集。 /think:<level>仍有效并更新同一存储的会话级别,因此聊天指令和选择器保持同步。
提供商配置文件
- 提供商插件可以暴露
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。 - 网关行/默认值暴露
thinkingLevels、thinkingOptions和thinkingDefault,使 ACP/聊天客户端渲染与运行时验证使用的配置文件 ID 和标签一致。
常见问题
/think 级别有哪些?怎么选择适合的任务?
级别从低到高:off、minimal、low、medium、high、xhigh、adaptive、max。简单问答用默认或 off;小改动用 low;多文件设计用 medium;架构决策用 high;追求低延迟用 /fast on。注意部分级别(xhigh、adaptive、max)仅在特定模型上可用,输入不支持的级别会被拒绝。
/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 会将推理作为独立消息发送。