Appearance
config.toml 是 Codex 的主配置文件,定义模型选择、沙箱策略、MCP 服务器等运行时参数。
为什么需要 Config.toml
Codex 的行为需要根据使用场景灵活调整——不同的项目需要不同的沙箱策略、不同的团队需要不同的 MCP 工具集、不同的用户偏好不同的模型。config.toml 提供了声明式的配置方式,同时支持全局配置(~/.config/codex/)和项目级配置(.codex/),实现配置的分层管理。
核心原理
- TOML 格式:使用 TOML 作为配置语言,简洁且人类可读,支持嵌套结构(如
[mcp_servers.xxx]) - 分层合并:配置值按 CLI 覆盖 > Cloud 配置 > 项目配置 > 全局配置 > 默认值 的优先级合并
- 来源追踪:
ConfigLayerSource记录每个配置值的最终来源,便于调试和诊断 - 热更新:
MtimeConfigReloader监控配置文件变更,运行时自动重新加载(无需重启)
在源码中的实现
codex-rs/config/src/config_toml.rs— TOML 文件解析和类型映射codex-rs/config/src/loader.rs— 多源配置加载和合并(LoaderOverrides)codex-rs/config/src/constraint.rs—Constrained<T>配置约束验证codex-rs/config/src/diagnostics.rs— 配置错误诊断信息codex-rs/config/src/cloud_config_bundle.rs— 云端配置加载