跳到正文
FunCoding

搜索

搜索文档、智能体、博客、Skill 和 MCP

配置基础

Codex 的 config.toml 在哪里、配置优先级、常用选项(模型、审批、沙箱、网络搜索、推理强度、个性、快捷键、环境变量策略、日志)和特性开关。

Codex 从多个位置读取配置。你个人的默认值放在 ~/.codex/config.toml,也可以用 .codex/config.toml 文件添加项目覆盖。出于安全考虑,Codex 只在你信任项目时才加载项目的 .codex/ 层。CLI 和 IDE 扩展共享同样的配置层,你可以用它们设置默认模型和提供方、配置审批策略和沙箱设置、配置 MCP 服务器。在 IDE 扩展里选右上角的齿轮图标,再选 Codex Settings > Open config.toml 可以打开配置文件。要把设置限定到某个项目或子文件夹,在仓库里添加 .codex/config.toml。

配置优先级

Codex 按这个顺序解析值(优先级从高到低):

  1. CLI 标志和 --config 覆盖
  2. 项目配置文件 .codex/config.toml,从项目根到当前工作目录依次排列(最近的优先;仅受信任的项目)
  3. 用 --profile profile-name 选定的 profile 文件(~/.codex/profile-name.config.toml)
  4. 用户配置 ~/.codex/config.toml
  5. 云端托管的 config.toml 默认值(为已登录工作区下发时)
  6. 系统配置(如果存在):Unix 上是 /etc/codex/config.toml
  7. 内置默认值

用这个优先级把共享默认值放在 config.toml 里,让 profile 文件只保留有差异的值。如果你把项目标记为不受信任,Codex 会跳过项目范围的 .codex/ 层,包括项目本地的配置、hooks 和规则;用户和系统配置仍会加载,包括用户/全局的 hooks 和规则。一次性覆盖用 -c/--config(含 TOML 引号规则见官方「高级配置」)。在受管机器上,你的组织还可能通过 requirements.toml 强制约束(例如不允许 approval_policy = "never" 或 sandbox_mode = "danger-full-access")。

常用配置选项

默认模型:选择 Codex 在 CLI 和 IDE 里默认使用的模型(model = "<model-name>",名称以你账号可用的为准)。

审批提示:控制 Codex 在运行生成的命令前何时暂停询问:

approval_policy = "on-request"

沙箱级别:调整 Codex 执行命令时拥有的文件系统和网络访问:

sandbox_mode = "workspace-write"

权限档案:Codex 也支持命名的权限档案,用于可复用的文件系统和网络策略。内置档案是 :read-only、:workspace 和 :danger-full-access;自定义档案用 [permissions.<name>] 表和匹配的 default_permissions 值。

Windows 沙箱模式:在 Windows 上原生运行 Codex 时,在 windows 表里设置 sandbox = "elevated"(推荐),没有管理员权限或提权设置失败时才用 "unelevated"。

网络搜索模式:Codex 默认为本地对话启用网络搜索,并从网络搜索缓存里提供结果。缓存是 OpenAI 维护的网页结果索引,缓存模式返回预先索引的结果而不是抓取实时页面,这降低了来自任意实时内容的提示词注入风险;要把网络结果当作不受信任的。选项:"cached"(默认)从缓存提供结果;"indexed" 只在搜索索引把关请求时才允许外部网络访问;"live" 获取网络上最新的数据(等同 --search);"disabled" 关闭网络搜索工具。

web_search = "cached"

推理强度:model_reasoning_effort = "medium"(在受支持时调节模型的推理强度)。

沟通风格:personality = "friendly"(或 "pragmatic"、"none"),可在会话里用 /personality 覆盖。

TUI 键位:在 tui.keymap 下自定义终端快捷键;部分输入框动作回退到匹配的 tui.keymap.global 绑定,上下文特定的绑定优先,空列表表示取消绑定:

[tui.keymap.composer]
submit = ["enter", "ctrl-m"]
[tui.keymap.chat]
interrupt_turn = "f12"

命令环境:控制 Codex 转发给所生成命令的环境变量。用带键的过滤器只保留你需要的变量:

[shell_environment_policy]
ignore_default_excludes = false
[shell_environment_policy.filters]
"PATH" = "include"
"HOME" = "include"

ignore_default_excludes 默认为 true,即跳过对名字含 KEY、SECRET 或 TOKEN 的变量的自动过滤;想要自动过滤时设为 false。

日志目录:用 log_dir 覆盖 Codex 写本地日志文件的位置;显式设置它也会在该目录里启用可选的纯文本 TUI 日志 codex-tui.log。一次性运行可以用 codex -c log_dir=./.codex-log。

特性开关

在 config.toml 的 [features] 表里切换可选和实验性的功能。常见的开关(默认值、成熟度):

键默认成熟度说明
appstrueStable启用应用(连接器)集成
goalstrueStable启用持久化目标和自动继续
hookstrueStable启用来自 hooks.json 或内联 [hooks] 的生命周期 hooks
fast_modetrueStable启用 Fast 模式选择和 service_tier = "fast" 路径
memoriesfalseExperimental启用 Memories
multi_agenttrueStable启用子智能体协作工具
personalitytrueStable启用个性选择控制
shell_snapshottrueStable快照你的 shell 环境以加速重复命令
shell_tooltrueStable启用默认的 shell 工具
unified_execWindows 以外 trueStable使用统一的、基于 PTY 的 exec 工具
web_search、web_search_cached、web_search_request—Deprecated旧版开关,改用顶层 web_search 设置

这个表列的是常见的面向用户的开关,不是所有内部或开发中的功能。省略特性键就保持其默认值。启用:在 config.toml 里 [features] 下加 feature_name = true;或从 CLI 运行 codex --enable feature_name(启用多个就重复 --enable);禁用就在 config.toml 里把键设为 false。完整的配置键列表见官方配置参考页。