高级配置详解
本教程共 32 篇 · 第 7 篇 · 更新于 2026-07-26 · 约 8 分钟阅读
7. 高级配置详解
本节目标:掌握模型推理强度、上下文窗口控制、实验性功能开关、profile 预设档等高级配置,让 Codex 精确贴合你的工作习惯。
基础配置搞定了 model、approval_policy、sandbox_mode 这几个常用键。这一章往里走一层,讲那些「用顺手了能大幅提升体验」的高级旋钮。
模型推理强度
model_reasoning_effort 控制模型在动手前想多久。这个旋钮很多人没注意,但它对体验的影响常常比换模型还直接。
打个比方,同一个学霸(同一个模型),你让他扫一眼就答,跟让他先打草稿、反复验算再答,交出来的东西质量天差地别—但后者明显更慢。推理强度调的就是「让它想多久再动手」。
model_reasoning_effort = "medium"
可选档位从低到高:
| 档位 | 含义 | 适合 |
|---|---|---|
minimal | 几乎不额外思考,秒答 | 极简任务、高频问答 |
low | 稍作分析 | 简单改动、快速迭代 |
medium | 速度与深度平衡(常见默认) | 日常大多数编程 |
high | 深度推理 | 复杂重构、难缠 bug |
xhigh | 顶格推理(部分模型支持) | 最硬的架构与调试 |
Tip遇到结果不满意,先别急着换更强的模型—很多时候把推理强度往上提一档就解决了。嫌慢就往下降一档。这个旋钮比换模型更轻、更快见效。
上下文窗口控制
Codex 跟你聊着聊着,上下文会越积越多。到了模型的上下文窗口上限,要么截断早期对话,要么压缩历史。两个键管这件事。
model_context_window
model_context_window = 200000
设置当前激活模型可用的上下文窗口 token 数。不同模型的窗口大小不一样,设了这个键就手动指定。
model_auto_compact_token_limit
model_auto_compact_token_limit = 150000
触发自动历史压缩的 token 阈值。上下文累积到这个数,Codex 自动把之前的对话压缩成摘要,腾出空间。
还有一个配套键控制统计方式:
model_auto_compact_token_limit_scope = "total"
# "total":统计完整活动上下文(默认)
# "body_after_prefix":只统计压缩窗口前缀之后新增的内容
Note不设这些键时,Codex 用模型默认值。大多数情况下你不用碰它们—只在上下文频繁爆满、或想精确控制压缩时机时才需要调。
推理摘要
model_reasoning_summary 控制你想看多少模型的「思考过程」。
model_reasoning_summary = "concise"
四种值:
auto:自动选择concise:简要显示推理过程detailed:详细显示推理过程(想看它怎么一步步想的用这个)none:关掉推理过程显示(觉得刷屏碍事用这个)
服务层级
service_tier 给你的请求排个优先级。
service_tier = "flex"
# "flex":弹性模式,优化成本,可能稍慢(默认)
# "fast":优先速度
Warning用
fast模式需要同时开一个 feature flag 才生效,否则不生效:
service_tier = "fast"
[features]
fast_mode = true
实验性功能开关
[features] 表是 Codex 所有可选和实验功能的总开关板。就像手机「实验室 / 开发者选项」里那一排开关—每个功能一个布尔值,写 true 开、写 false 关、不写用默认。
[features]
memories = true
shell_snapshot = true
hooks = false
几个你可能会动的开关:
| 功能键 | 默认 | 成熟度 | 干嘛的 |
|---|---|---|---|
hooks | true | 稳定 | 生命周期钩子(事件触发脚本) |
multi_agent | true | 稳定 | 子代理协作工具 |
shell_snapshot | true | 稳定 | 快照 shell 环境、加速重复命令 |
fast_mode | true | 稳定 | 快速响应模式 |
memories | false | 稳定 | 记忆系统 |
codex_git_commit | false | 实验性 | 让 Codex 自动生成 git commit 信息 |
apps | false | 实验性 | ChatGPT Apps / 连接器支持 |
undo | false | 稳定 | 用 git ghost 快照支持撤销 |
Warning实验性功能可能随版本变化。带「实验性」的默认值和成熟度都可能调整,开之前以官方 Config Reference 和你本地实际为准。新手别一上来把实验功能全拨开,出了怪问题你都不知道该怪谁。
命令行也可以临时开功能:
codex --enable memories
# 多个就 --enable a --enable b
Note有些老写法已经过时了。比如
codex_hooks = true开 hooks 已被弃用,现在的规范键名是hooks。以官方现行键名为准,别跟着旧资料抄。
profile 预设档
有时候你有好几套配置想随时切。比如一套「看代码用」(只读、轻量模型),一套「干活用」(可写、强模型)。
一个 profile 就是 CODEX_HOME 下一个单独的文件,名字是 <档名>.config.toml:
# ~/.codex/quick.config.toml
model = "gpt-5.6-luna"
sandbox_mode = "read-only"
approval_policy = "untrusted"
用 --profile 选它:
codex --profile quick
机制是:Codex 先读你的用户级 ~/.codex/config.toml,再把 ~/.codex/quick.config.toml 盖上去。所以 profile 文件里只写跟基础配置不一样的那几个键就行。
Warning自 Codex 0.134.0 起,
--profile不再读config.toml里的[profiles.档名]旧写法,顶层profile = "档名"选择器也不再支持。老配置得把[profiles.x]段的内容搬到单独的~/.codex/x.config.toml文件里。
临时覆盖:-c / —config
不想为了试一个值专门去改文件,命令行直接覆盖:
# 用专属 flag(有的话)
codex --model gpt-5.6-luna
# 没有专属 flag 的键,用 -c / --config 通用覆盖
codex --config model='"gpt-5.6-luna"'
codex -c log_dir=./.codex-log
两个容易踩的点:
-c的值按 TOML 解析,不是 JSON。所以字符串值要带引号(像model='"gpt-5.6-luna"',外层单引号给 shell、内层双引号给 TOML)- 嵌套键用点号写,比如
codex -c mcp_servers.my-server.enabled=false
Tip这招最适合「试一下某个值好不好使」—满意了再写进文件,不满意拍拍屁股走人,文件没动过。
沟通风格
personality 调 Codex 的说话风格,会话里也能临时用 /personality 切。
personality = "pragmatic"
三种值:
none:不调整风格friendly:友好风格(默认示例值)pragmatic:务实风格,少点寒暄,直接给结论
文件打开器
file_opener 决定 Codex 输出里 某文件.py:42 这种引用,点它用哪个编辑器跳转。
file_opener = "vscode"
可选值:vscode(默认)、vscode-insiders、windsurf、cursor、none。用 Cursor 的把它改成 cursor,引用就变成可点击的链接,直接跳到那一行。
一份进阶配置示例
把这一章讲的合在一起,一份进阶配置大概长这样:
# ~/.codex/config.toml
model = "gpt-5.6"
model_reasoning_effort = "medium"
model_reasoning_summary = "concise"
approval_policy = "on-request"
sandbox_mode = "workspace-write"
web_search = "cached"
personality = "pragmatic"
file_opener = "vscode"
[features]
memories = false
hooks = true
multi_agent = true
小结
- 推理强度:
model_reasoning_effort,嫌笨往上提一档、嫌慢往下降一档,比换模型更快见效 - 上下文窗口:
model_context_window和model_auto_compact_token_limit,控制上下文上限和自动压缩时机 - 推理摘要:
model_reasoning_summary,控制看不看模型的思考过程 - 服务层级:
service_tier,flex省、fast快(需配 feature flag) - 实验性功能:
[features]表,每个功能一个布尔开关,新手别全开 - profile 预设档:单独文件
~/.codex/<名字>.config.toml,用--profile切,只写差异 - 临时覆盖:
-c key=value不动文件,值按 TOML 解析
下一章讲 AGENTS.md—那个跟 config.toml 分工不同的项目指令文件。