Skip to content
FunCoding

Search

Search docs, Skills and MCP

托管配置与优先级

区分强制约束、普通默认值和 managed_config.toml,并核对云策略加载与 MDM。

This page has not been translated into English yet. The original Chinese version is shown below.

选择配置机制前,先区分“用户开始时用什么值”和“用户可以选择什么值”。只有 requirements 提供管理员强制约束;默认值本身不是权限边界。

三种机制

机制行为
requirements.toml限定支持的安全设置;用户配置不能突破
系统或 Cloud config.toml 默认值按普通配置优先级提供可覆盖的起点
Legacy managed_config.toml启动时覆盖本地 config 和 CLI --config;运行中仍可修改,下次启动重新应用

用户配置与 requirements 冲突时,支持的客户端会选择兼容值并通知用户。默认值也必须满足 requirements,否则运行时会拒绝不允许的值。

本地 requirements 的来源

从低到高依次为:

  1. 系统文件:Unix 的 /etc/codex/requirements.toml,Windows 的 %ProgramData%\OpenAI\Codex\requirements.toml。
  2. Agent Security 通过 cloud config bundle 下发的 requirements。
  3. 客户端从 legacy managed_config.toml 重新解释得到的兼容 requirements。
  4. macOS MDM 的 com.openai.codex:requirements_toml_base64。

普通标量与列表由高优先级值覆盖,表按键合并。Rules、Hooks、文件系统限制有各自的组合规则,不能对所有字段套用同一合并算法。

Agent Security 同一策略中,OS 专属环境覆盖高于所有 OS 的环境覆盖,再高于 Global;不同策略之间仍由策略优先级决定,低优先级策略不会因更具体而胜出。

云策略加载

支持的本地客户端先查与当前身份匹配的有效缓存;没有时重试获取适用 bundle,成功后保存签名缓存。无法获取且没有有效缓存时返回错误,不会静默跳过云策略。

后台刷新可更新后续启动使用的缓存,但不替换当前进程已加载的 requirements。更改策略后,应在重新启动的客户端核实有效值。这个本地加载规则不能用于推断已经运行的云编排任务何时更新。

Legacy defaults 与 MDM

managed_config.toml 位于 Linux/macOS 的 /etc/codex/managed_config.toml,Windows/非 Unix 的 ~/.codex/managed_config.toml。缺失时跳过该层。

macOS MDM 使用 preference domain com.openai.codex:config_toml_base64 提供 legacy managed defaults,requirements_toml_base64 提供强制约束。将 TOML 编成不换行的 base64,通过 MDM 分发后重启支持的客户端并核对启动配置。策略文件不适合嵌入秘密或高频变化的值。

本地、Codex Cloud 与 Work Cloud 的执行要求各有范围,不应假设设备配置会自动约束所有云端能力。