跳到主要内容
NexoToken
← 返回指南中心

NexoToken 技术指南中心

Codex config.toml 与自定义模型

理清 model、model_provider、base_url 与环境变量之间的关系,避免配置被其他层覆盖。

Codex 的 config.toml 应把模型选择与 provider 定义分开:顶层指定模型和 provider,provider 再声明 Base URL 与读取凭证的环境变量名。不要把真实 Key 写进 TOML,也不要覆盖客户端保留的内置 provider 名称;修改后用配置来源和最小任务双重验证。

适用范围

适用于使用 config.toml 长期保存 Codex 自定义 provider、模型选择和项目级覆盖规则的本地开发环境。

最后核验

操作步骤

  1. 定位用户级与项目级配置文件,记录加载优先级。

  2. 使用独立 provider ID,并把模型名与 provider 名明确分开。

  3. 需要指定思考等级时,在 config.toml 顶层、所有 [表名] 之前添加 model_reasoning_effort = "high"。单次覆盖可用 codex -c 'model_reasoning_effort="high"';CI 用 codex exec -c 'model_reasoning_effort="high"' "解释项目结构,不修改文件"。

  4. 只写环境变量名称,不把真实凭证写入 TOML。

  5. 检查项目配置是否覆盖用户配置。

  6. 重启客户端后运行最小任务并核对实际模型。

安全示例

model = "YOUR_MODEL_ID"
model_provider = "custom_api"
model_reasoning_effort = "high"

[model_providers.custom_api]
name = "Custom API"
wire_api = "responses"
base_url = "https://your-api.example.com/v1"
env_key = "OPENAI_API_KEY"

常见错误与排查顺序

  1. 配置不生效:检查项目级文件是否覆盖用户级文件。
  2. provider 冲突:改用独立 ID,不覆盖内置名称。
  3. 读取不到 Key:确认 env_key 写的是变量名而不是变量值。
  4. 模型错误:从当前模型页复制完整 ID 后重新验证。

完成检查清单

  • TOML 可以被解析且没有重复表。
  • 真实凭证不在配置文件中。
  • 加载优先级已经记录。
  • 实际请求模型与配置一致。

限制与边界

  • 示例字段需按当前 Codex 版本核对,旧版本文章不能替代客户端文档。
  • 项目级配置只应在可信仓库中启用,不能依赖它保存个人凭证。
  • 常用思考等级为 low(较快)、medium(均衡)、high(更深入);xhigh 及其他等级须由具体模型与客户端支持。不要给 GPT-4o 或图片模型套用推理参数。不传时平台不设置统一等级,客户端也可能自行发送默认值。原生请求保留该参数,但部分兼容路径会将 minimal 转为 none;特定 GPT-5.6 上下文压缩请求会将 max 转为 xhigh。跨协议转换不保证等价保留思考设置。参数被接收不代表所有模型都支持或实际采用该等级。