摘要:Codex 的 config.toml 字段已突破 90 余个,绝大多数用户却仍停留在”毛坯版”默认配置上。本文系统梳理 Codex 配置文件结构、优先级、Profile 分模式、沙箱审批策略、第三方模型接入以及可视化配置工具,帮你把 Codex 真正改造成贴合个人工作流的 AI 编程助手。无论你是想用 DeepSeek、QCode.cc 这类第三方网关降本,还是想在规划阶段调用顶级模型、执行阶段切到便宜模型提效,读完这篇都能少走弯路。
随着 Codex 功能迭代提速,配置文件字段数量也在持续膨胀,目前不完全统计已超过 90 余个。手动维护这些 TOML 文件确实繁琐,但全用默认配置意味着你用的只是”毛坯版”的 Codex,而不是真正为你的工作流量身定制的 AI 编程助手。
合理的配置能带来的优化空间巨大:你可以针对不同工作流切换不同推理模式;可以让规划阶段调用顶级模型做决策、执行阶段切换到更快更便宜的开源模型降低成本;可以精细控制沙箱边界和审批策略;还可以接入 DeepSeek、QCode.cc 等第三方模型接口绕开官方额度限制。这一进一出,效率和开销都能同时优化。
Codex 的本地状态默认都放在 CODEX_HOME 下,默认路径是 ~/.codex。这个目录里常见文件包括:
CODEX_HOME
~/.codex
~/.codex/ ├── config.toml # 全局默认配置 ├── auth.json # 登录/认证状态 ├── history.jsonl # 历史记录 ├── logs / caches # 日志缓存 ├── deep-review.config.toml # Profile 配置档案 └── sessions/ # 会话回放
全局配置路径:~/.codex/config.toml,如果没有可以手动创建 mkdir -p ~/.codex && zed ~/.codex/config.toml。这是你日常用得最多的配置文件。
~/.codex/config.toml
mkdir -p ~/.codex && zed ~/.codex/config.toml
项目级配置路径:在项目根目录下放 .codex/config.toml。例如 /Users/x/Desktop/next-demo/.codex/config.toml。项目级配置只有在该项目被 Codex 信任之后才会加载,这是出于安全考虑。
.codex/config.toml
/Users/x/Desktop/next-demo/.codex/config.toml
系统级配置:在 Unix 系统上是 /etc/codex/config.toml,企业环境下管理员可通过 requirements.toml 强制施加约束。
/etc/codex/config.toml
requirements.toml
Codex 按以下顺序解析配置值,前面会覆盖后面:
--config
~/.codex/profile-name.config.toml
--profile profile-name
需要注意几个安全限制:项目级配置不能覆盖机器本地的 provider、认证、通知、profile 选择或 telemetry 路由键。openai_base_url、chatgpt_base_url、model_provider、model_providers、notify、profile、profiles、experimental_realtime_ws_base_url、otel 这些键出现在项目本地配置中会被 Codex 忽略,应放在用户级配置中。如果项目被标记为不可信,Codex 会跳过项目作用域下的 .codex/ 层,包括项目本地配置、钩子和规则。
openai_base_url
chatgpt_base_url
model_provider
model_providers
notify
profile
profiles
experimental_realtime_ws_base_url
otel
.codex/
以下是作者推荐的稳妥基础配置,可作为 ~/.codex/config.toml 的起点:
# ~/.codex/config.toml model = "gpt-5.5" model_reasoning_effort = "high" approval_policy = "on-request" sandbox_mode = "workspace-write" [sandbox_workspace_write] network_access = true writable_roots = [ "/Users/x/Desktop" ]
字段解读:
model = "gpt-5.5"
model_reasoning_effort = "high"
low
medium
high
approval_policy = "on-request"
on-request
on-failure
sandbox_mode = "workspace-write"
read-only
workspace-write
danger-full-access
如果你希望 Codex 自主跑、不打扰你,最简单的配置如下:
model = "gpt-5.5" model_reasoning_effort = "high" approval_policy = "never" sandbox_mode = "workspace-write" [sandbox_workspace_write] network_access = true writable_roots = [ "/Users/pan/Desktop" ]
approval_policy = "never" 表示非交互场景下不再弹审批。但要意识到风险:这相当于把”刹车”交给 AI 自己掌控,建议只在你完全可控的可写根路径下使用。
approval_policy = "never"
如果你想要更精细的控制,Codex 还支持细粒度审批策略:
approval_policy = { granular = { sandbox_approval = true, rules = true, mcp_elicitations = true, request_permissions = true, skill_approval = true } }
这样可以保留其他交互提示的同时,让某些提示类别自动允许或自动拒绝。
如果你有多个开发场景,比如”日常开发””深度审查””AI 测试””本地模型”,可以用 Profile 配置档案来切换。
关键变化:官方现在要求 Profile 用单独文件,例如 ~/.codex/deep-review.config.toml,不要再写老式的 [profiles.xxx]。
~/.codex/deep-review.config.toml
[profiles.xxx]
深度审查模式示例:
# ~/.codex/deep-review.config.toml model = "gpt-5.5" model_reasoning_effort = "xhigh" approval_policy = "on-request" sandbox_mode = "workspace-write"
使用方式:
codex --profile deep-review codex exec --profile deep-review "review this change"
这就是文章开头提到的”规划阶段调用顶级模型做决策,执行阶段切换到更快更便宜的开源模型降低成本”的实现思路:你可以为每个场景定义不同的 model 和 model_reasoning_effort,按需切换。
model
model_reasoning_effort
对于国内用户来说,接入第三方模型网关是降本和稳定性的关键。Codex 通过 model_providers 配置支持任意 OpenAI 兼容接口。
示例:接入 QCode.cc 服务:
# ~/.codex/config.toml model_provider = "crs" model = "gpt-5.3-codex" model_reasoning_effort = "high" disable_response_storage = true preferred_auth_method = "apikey" [model_providers.crs] name = "crs" base_url = "https://api.qcode.cc/openai" wire_api = "responses" requires_openai_auth = true env_key = "CRS_OAI_KEY"
配套的 ~/.codex/auth.json:
~/.codex/auth.json
{ "OPENAI_API_KEY": "cr_xxxxxxxxxx" }
把 cr_xxxxxxxxxx 替换为你的 QCode.cc API 密钥(以 cr_ 开头)。
cr_xxxxxxxxxx
cr_
示例:接入 DeepSeek:
model_provider = "omnimodel" model = "gpt-5.3-codex" model_reasoning_effort = "high" disable_response_storage = true preferred_auth_method = "apikey" requires_openai_auth = true personality = "pragmatic" [model_providers.omnimodel] name = "omnimodel" base_url = "https://omnimodel.pro/v1" wire_api = "responses" env_key = "OPENAI_API_KEY"
重要提醒:Codex 0.81.0 及以上版本默认走 /v1/responses 接口,而 DeepSeek 官方没有这个接口。如果你直接配置 DeepSeek 后遇到 /responses、404、接口不存在等报错,可以优先使用 https://api.claw-cn.org/v1 这类兼容接口,或者确保配置文件里选择的是 chat / OpenAI Compatible。
/v1/responses
/responses
https://api.claw-cn.org/v1
chat
base_url 必须带 /v1,不能多不能少;wire_api 当前唯一可用值是 "responses",不要填 "chat"。
base_url
/v1
wire_api
"responses"
"chat"
对于小白用户或想快速切换多个 Provider 的玩家,手动改 TOML 容易出错。社区已经涌现出一批图形化配置工具:
项目级配置只在受信任的项目中加载。不受信任的项目会跳过 .codex/ 层级,直接使用用户配置。
你可以通过 projects 表来声明哪些路径被信任:
projects
[projects."/Users/yourname"] trust_level = "trusted" [projects."/Users/yourname/.codex"] trust_level = "trusted"
设为 trusted 后 Codex 在该目录里不再每次都问”是否信任此项目”。Windows 路径写法是 [projects."C:/Users/yourname"](用正斜杠或转义反斜杠)。
trusted
[projects."C:/Users/yourname"]
在企业环境中,管理员还可以通过 requirements.toml 强制施加约束,比如禁止 approval_policy = "never" 或 sandbox_mode = "danger-full-access",约束可用的 web_search 模式,定义网络访问白名单,甚至强制 deny-read 规则保护 ~/.ssh、/**/*.env 等敏感路径。
sandbox_mode = "danger-full-access"
~/.ssh
/**/*.env
Codex 的进阶能力远不止模型切换,还包括:
chrome-devtools
node_repl
pascal
hooks.json
[hooks]
memories
generate_memories
use_memories
max_raw_memories_for_consolidation
max_unused_days
最后总结几条实战经验:
config.toml
config.toml.default
如果遇到”模型不响应”或”连接超时”,先检查 [proxy] 块和 no_proxy 字段——内网地址(如 localhost,127.0.0.1,.local)不走代理能避免本地服务冲突。其次是 model_providers 里的 api_key 和 base_url,确保它们和你的 API 提供商一致。模型名写错反而少见,因为 Codex 会给出明确的错误提示。
[proxy]
no_proxy
localhost,127.0.0.1,.local
api_key
Codex 真正的潜能藏在那些被你忽略的配置字段里。从基础的模型选择、审批策略,到 Profile 多模式切换、第三方网关接入、MCP 工具集成、记忆系统,每一项配置都是把你和 AI 的协作打磨得更顺滑的杠杆。如果你觉得手动编辑 TOML 仍然繁琐,可以试试作者推荐的可视化 Codex 配置网站(https://codexapp.cc ),一键下载规范配置文件,直接拿到 ~/.codex/ 目录就能用。
~/.codex/