Codex 开启 GPT-5.6 Sol 1M 上下文:3 行 config.toml 配置教程

GPT-5.6 Sol 官方支持 105 万 token 上下文。只需在 Codex 的 config.toml 顶部加入 3 行配置,即可按 100 万窗口运行,并在约 90 万 token 时自动压缩历史。附永久配置、单次命令、验证与成本提醒。

PandaNpc本文首发于
Codex 开启 GPT-5.6 Sol 1M 上下文:3 行 config.toml 配置教程

GPT-5.6 Sol 的官方上下文窗口是 1,050,000 token,但 Codex 默认不会把整个窗口全部用满。想让超长会话尽量少压缩,只需要在 Codex 的 config.toml 顶部加入 3 行配置:

toml
model = "gpt-5.6-sol"
model_context_window = 1000000
model_auto_compact_token_limit = 900000

保存后重启 Codex,再开启一个新会话即可。下面把配置位置、每一行的作用、单次启动方式和注意事项一次讲清楚。

先说结论:这 3 行分别做什么

配置 作用
model = "gpt-5.6-sol" 明确选择 GPT-5.6 系列的旗舰模型 Sol
model_context_window = 1000000 告诉 Codex 给当前模型分配 100 万 token 的上下文预算
model_auto_compact_token_limit = 900000 活跃上下文接近 90 万 token 时自动压缩旧历史,避免撞到窗口上限

OpenAI 的 Codex 配置参考 已正式列出 model_context_windowmodel_auto_compact_token_limit 两个配置项;GPT-5.6 Sol 模型页 标明其上下文窗口为 1,050,000 token,最大输出为 128,000 token。

这里不直接写满 1,050,000,而是设为 1,000,000,给系统提示、工具结果和实现差异留一点余量;再把自动压缩线放在 900,000,让 Codex 有空间完成压缩,而不是等窗口快爆了才处理。

第一步:找到 Codex 的 `config.toml`

Codex 的用户级配置文件位于:

  • macOS / Linux:~/.codex/config.toml
  • Windows:%USERPROFILE%\.codex\config.toml

macOS 或 Linux 可以直接执行:

bash
mkdir -p ~/.codex
nano ~/.codex/config.toml

Windows PowerShell 可以执行:

powershell
notepad $env:USERPROFILE\.codex\config.toml

文件不存在就新建,已经存在则在原文件基础上修改,不要把已有的 MCP、权限或项目配置覆盖掉。

第二步:把配置放在文件最顶部

把下面 3 行放到 config.toml 的最前面:

toml
model = "gpt-5.6-sol"
model_context_window = 1000000
model_auto_compact_token_limit = 900000

一定要放在第一个 [section] 标题之前。 例如你的文件里已经有:

toml
[projects."/path/to/project"]
trust_level = "trusted"

那 3 行模型配置必须放在它上面。TOML 中,写在 [projects."..."] 后面的普通键会被当成该 section 的内容,不再是全局配置。

如果文件里已经有一行 model = "...",直接改成 gpt-5.6-sol,不要重复写两个 model。引号也要用英文半角双引号 ",不要从富文本里复制成弯引号。

第三步:重启并开启新会话

保存文件后:

  1. 退出当前 Codex 客户端或 CLI;
  2. 重新启动 Codex;
  3. 创建一个新会话。

已经打开的旧会话通常不会在运行中切换上下文预算,因此只重载窗口、继续旧线程并不稳妥,直接新建会话最省事。

可以用 Codex 自带诊断命令检查配置是否成功加载:

bash
codex doctor --json

重点看这几项:

  • overallStatusok
  • config.loadok
  • model 显示 gpt-5.6-sol

这个命令验证的是配置文件能否正确解析和加载,不会为了“测试 1M”真的消耗几十万 token。

不改默认配置:只给当前 CLI 会话开 1M

如果你只是偶尔处理超大仓库或超长任务,不想让所有会话都默认使用 1M,可以在启动时临时覆盖:

bash
codex -m gpt-5.6-sol \
  -c model_context_window=1000000 \
  -c model_auto_compact_token_limit=900000

这组参数只影响本次启动。关掉当前 Codex 后,下次仍然回到 config.toml 中的默认值。

1M 上下文适合什么场景

它最适合这些任务:

  • 在大型单体仓库里连续修改多个模块;
  • Agent 需要长时间保留架构决策、排查过程和测试结果;
  • 一次输入大量设计文档、接口说明或日志;
  • 不希望任务跑到一半频繁自动压缩,丢失早期细节。

如果只是改一两个文件、修普通 bug 或写短脚本,Codex 默认窗口通常已经足够。更大的窗口是“能装下更多”,不是每轮都必须塞满,也不代表上下文越长,模型的注意力利用率就一定越高。

开启前必须知道的成本与质量代价

长上下文很好用,但不是免费午餐。

1. 超过 272K 后,API 长上下文会进入更高价格档

OpenAI 的 GPT-5.6 Sol 模型页明确写明:当输入超过 272K token 时,整个请求的输入价格按 2 倍、输出价格按 1.5 倍计算。

如果你使用 API 计费,这一点会直接反映在账单上;如果你通过 ChatGPT / Codex 订阅登录,具体体现可能是额度消耗更快,仍应以客户端显示的限额策略为准。

2. 每一轮都要携带更长的历史

会话越长,延迟、token 消耗和缓存行为越值得关注。几十万 token 的旧日志里如果大部分已经没用,继续原样携带不一定比一份高质量压缩摘要更好。

3. 支持 1M,不等于 1M 时质量完全不变

超长上下文能减少信息被截断,但模型仍可能被大量噪声分散注意力。建议把构建日志、重复工具输出和已经失效的排查路径及时清掉;任务阶段切换明显时,也可以主动使用 /compact

常见问题

配好了,为什么当前会话没变化?

config.toml 主要在启动和创建会话时加载。重启客户端并新建会话,不要拿原来的长会话继续验证。

配置文件能加载,但模型不是 Sol?

检查是否使用了 codex -m ...--profile,以及项目目录里是否还有 .codex/config.toml。Codex 的命令行参数、项目配置和 profile 都可能覆盖用户级配置。

Codex 报“不认识这个配置项”怎么办?

先看版本:

bash
codex --version

然后升级到当前版本:

bash
codex update

较老版本的 Codex 可能还没有这两个配置键。

想恢复默认设置怎么办?

删除下面两行即可恢复模型自己的默认上下文与自动压缩策略:

toml
model_context_window = 1000000
model_auto_compact_token_limit = 900000

model = "gpt-5.6-sol" 可以保留,也可以改回你原来使用的模型。

小结

永久开启 GPT-5.6 Sol 1M 上下文,只需要把这 3 行放在 ~/.codex/config.toml 的最顶部:

toml
model = "gpt-5.6-sol"
model_context_window = 1000000
model_auto_compact_token_limit = 900000

100 万是上下文预算,90 万是自动压缩线。它很适合大型仓库和长时间 Agent 任务,但普通任务继续使用 Codex 默认设置,往往更省额度、更快也更稳定。

如果你会让 Codex 在开发机上长时间跑任务,又不想一直守在电脑前,也可以通过 PandaNpc 在浏览器、桌面端或手机上远程查看会话和处理交互。