Skip to content

config.toml 是 Codex 的主配置文件,定义模型选择、沙箱策略、MCP 服务器等运行时参数。

为什么需要 Config.toml

Codex 的行为需要根据使用场景灵活调整——不同的项目需要不同的沙箱策略、不同的团队需要不同的 MCP 工具集、不同的用户偏好不同的模型。config.toml 提供了声明式的配置方式,同时支持全局配置(~/.config/codex/)和项目级配置(.codex/),实现配置的分层管理。

核心原理

  1. TOML 格式:使用 TOML 作为配置语言,简洁且人类可读,支持嵌套结构(如 [mcp_servers.xxx]
  2. 分层合并:配置值按 CLI 覆盖 > Cloud 配置 > 项目配置 > 全局配置 > 默认值 的优先级合并
  3. 来源追踪ConfigLayerSource 记录每个配置值的最终来源,便于调试和诊断
  4. 热更新MtimeConfigReloader 监控配置文件变更,运行时自动重新加载(无需重启)

在源码中的实现

  • codex-rs/config/src/config_toml.rs — TOML 文件解析和类型映射
  • codex-rs/config/src/loader.rs — 多源配置加载和合并(LoaderOverrides
  • codex-rs/config/src/constraint.rsConstrained<T> 配置约束验证
  • codex-rs/config/src/diagnostics.rs — 配置错误诊断信息
  • codex-rs/config/src/cloud_config_bundle.rs — 云端配置加载

相关概念