今天把 Codex 的推理强度调到 high,踩了一圈坑,最后结论很简单:别在 provider 模型块里硬塞参数,直接用 OpenClaw 的 thinking 机制。

先说结论

给 Codex 开 high,优先用这两种方式:

• 会话内立即生效:/think high

• 新会话默认高强度:在配置里加 agents.defaults.thinkingDefault = "high"

这是 OpenClaw 官方支持的控制面,稳定、可预期。

我一开始怎么做错了

第一反应是往 model 配置里加类似 params.reasoningEffort: "high"。看起来很合理,但在 OpenClaw 这层并不是主路径,实际效果不稳定,甚至可能被配置规范化过程丢掉。

如果你遇到下面这种情况,基本就是走偏了:

• 文件里写了“high”参数

• 但会话里看起来仍像默认强度

• 重启后字段还可能消失

正确做法(可直接抄)

~/.openclaw/openclaw.json 加:

{
  "agents": {
    "defaults": {
      "thinkingDefault": "high"
    }
  }
}

然后重启:

openclaw gateway restart

注意一个细节:thinkingDefault 对新会话生效。当前会话想马上切换,直接发:

/think high

实战建议

• 日常闲聊/轻任务:minimallow

• 代码排障/复杂规划:mediumhigh

• 临时提档优先用 /think high,别改一堆底层配置

一句话:Codex 的 high 不是“模型私参”问题,而是“会话 thinking 层”问题。