首页 / Codex 教程 / 高级配置详解

Codex 教程

高级配置详解

本教程共 32 篇 · 第 7 篇 · 更新于 2026-07-26 · 约 8 分钟阅读

CodexCodex 教程高级配置推理强度上下文窗口profilefeatures实验性功能

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

几个你可能会动的开关:

功能键默认成熟度干嘛的
hookstrue稳定生命周期钩子(事件触发脚本)
multi_agenttrue稳定子代理协作工具
shell_snapshottrue稳定快照 shell 环境、加速重复命令
fast_modetrue稳定快速响应模式
memoriesfalse稳定记忆系统
codex_git_commitfalse实验性让 Codex 自动生成 git commit 信息
appsfalse实验性ChatGPT Apps / 连接器支持
undofalse稳定用 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-insiderswindsurfcursornone。用 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_windowmodel_auto_compact_token_limit,控制上下文上限和自动压缩时机
  • 推理摘要model_reasoning_summary,控制看不看模型的思考过程
  • 服务层级service_tierflex 省、fast 快(需配 feature flag)
  • 实验性功能[features] 表,每个功能一个布尔开关,新手别全开
  • profile 预设档:单独文件 ~/.codex/<名字>.config.toml,用 --profile 切,只写差异
  • 临时覆盖-c key=value 不动文件,值按 TOML 解析

下一章讲 AGENTS.md—那个跟 config.toml 分工不同的项目指令文件。