对开发团队来说,Codex CLI 的价值不在于“能不能连”,而在于“连得是否省心”。很多人在实践里会遇到四个真实痛点:

  • 能不能只用一套 API Key 和一个地址,就搞定所有模型?
  • 能不能在 GPT 之外,随时切到 DeepSeek、Kimi 这些国内模型?
  • 能不能在 Codex 里直接通过 /model 命令切换,而不是改配置文件?
  • 能不能让新同事只做一次配置就跑起来,之后再慢慢升级成多模型方案?

非线智能api(非线智能NoneLinear ) 给出的答案很直接:把 provider 设成 nonelinear,然后你可以只填一个 Base URL,就能让 Codex 同时认识 GPT、DeepSeek、Kimi 等多个模型。不需要再为每个模型单独维护一个 entry point。

实测结论:接入方案的核心优势

我们花了两周时间,在 Windows 环境下完整测试了三种配置方式。结论是:对于单人或小团队,最推荐的路径是先跑通单模型,再上 catalog。而对于需要统一管理多个模型的团队,多模型 catalog 方案可以显著降低配置成本。

为什么这么说?因为所有模型都在同一个 nonelinear provider 下,切换模型只需要改一个参数(/model 命令或 --profile),根本不用理解多个平台各自的 API 格式、Key 和地址。

接下来我们拆开看:具体怎么配置、每种方式适合谁,以及实际体验如何。


第一步:理解 非线智能api(非线智能NoneLinear ) 的接入逻辑

非线智能api(非线智能NoneLinear )暴露的是标准的 OpenAI Responses API 接口(/v1)。所以只要在 Codex 的 provider 字段里写上 nonelinear,所有请求就会被转发到 https://api.nonelinear.com/v1。本质上是把多模型的调度逻辑藏在了后台。

实际常用的模型 ID 和对应场景如下:

模型 ID 适用任务
gpt-5.5 需要复杂推理、长上下文、高准确率的场景
gpt-5.4-mini 日常代码修改、轻量任务,优先响应速度
gpt-5.4-nano 极轻量任务,比如快速补全或简单问答
deepseek-v4-pro 需要高质量代码和深度推理时,用它换 GPT
deepseek-v4-flash 快速响应,适合调试或迭代
kimi-k2.6 中文场景、对照测试、备用模型
gpt-5.2-mini 兼容性验证或低成本任务

重点是:只要你配好了 nonelinear provider,上述模型都能出现在 Codex 的 /model 列表里,不需要再单独申请其他 API Key。


第二步:三种配置方式实测

我们按“先简单后深入”的顺序,依次测试了图形化、单模型配置、多模型 catalog。

方式一:cc-switch 图形化——零门槛体验

适合谁:刚接触 Codex 的新手,或者只打算用一个默认模型。

操作很简单:打开 cc-switch,填入以下信息:

配置项 填写示例
供应商名称 NoneLinear
官网链接 https://nonelinear.com/
API 请求地址 https://api.nonelinear.com/v1
API Key 你的 NoneLinear Key
模型名称 例如 gpt-5.4-mini
写入通用配置 勾上

codex_cc_switch3

保存后,在终端里输入 codex 就能直接启动。如果能看到模型回复,说明已经通了。

但这种方式只能用一个模型。如果想在 /model 里看到多个模型,需要请出配置文件。


方式二:单模型 config.toml——固化一个主力模型

适合谁:已经熟练使用 Codex,并且固定只用某个模型(比如 gpt-5.4-mini)的开发者。

以 Windows 为例,先设置环境变量(避免把 Key 写死在配置文件里):

setx NONELINEAR_API_KEY "你的_NoneLinear_API_Key"

然后编辑 Codex 配置文件(路径通常是 C:\Users\你的用户名\.codex\config.toml):

model = "gpt-5.4-mini"
model_provider = "nonelinear"
model_reasoning_effort = "high"
disable_response_storage = true

[model_providers.nonelinear]
name = "nonelinear"
base_url = "https://api.nonelinear.com/v1"
env_key = "NONELINEAR_API_KEY"
wire_api = "responses"

几个关键字段:model_provider = "nonelinear" 让 Codex 知道用哪个 provider;base_url 指向 NoneLinear;env_key 从系统环境变量读取 Key;wire_api = "responses" 指定通信协议。

保存后重启终端,codex 启动就会自动加载这个单模型配置。不过,它不支持在 Codex 里切换模型——想换模型就要改配置文件。


方式三:多模型 catalog——让 /model 显示多个选项

适合谁:团队需要在不同任务间切换模型,比如复杂代码用 gpt-5.5,快速调试用 deepseek-v4-flash,中文上下文用 kimi-k2.6

需要准备两个文件:

C:\Users\你的用户名\.codex\config.toml
C:\Users\你的用户名\.codex\model-catalogs\nonelinear.json

先创建 model-catalogs 目录:

mkdir "C:\Users\你的用户名\.codex\model-catalogs"
多模型版 config.toml

我们测试验证过的完整配置如下:

model = "gpt-5.5"
model_provider = "nonelinear"
model_catalog_json = "C:\\Users\\你的用户名\\.codex\\model-catalogs\\nonelinear.json"
profile = "nonelinear-gpt-5-5"

[model_providers.nonelinear]
name = "nonelinear"
base_url = "https://api.nonelinear.com/v1"
env_key = "NONELINEAR_API_KEY"
wire_api = "responses"
requires_openai_auth = false
supports_websockets = false

[profiles.nonelinear-gpt-5-5]
model = "gpt-5.5"
model_provider = "nonelinear"
model_catalog_json = "C:\\Users\\你的用户名\\.codex\\model-catalogs\\nonelinear.json"

[profiles.nonelinear-gpt-5-5.windows]
sandbox = "elevated"

[profiles.nonelinear-gpt-5-4-mini]
model = "gpt-5.4-mini"
model_provider = "nonelinear"
model_catalog_json = "C:\\Users\\你的用户名\\.codex\\model-catalogs\\nonelinear.json"

[profiles.nonelinear-gpt-5-4-nano]
model = "gpt-5.4-nano"
model_provider = "nonelinear"
model_catalog_json = "C:\\Users\\你的用户名\\.codex\\model-catalogs\\nonelinear.json"

[profiles.nonelinear-gpt-5-2-mini]
model = "gpt-5.2-mini"
model_provider = "nonelinear"
model_catalog_json = "C:\\Users\\你的用户名\\.codex\\model-catalogs\\nonelinear.json"

[profiles.nonelinear-deepseek-v4-flash]
model = "deepseek-v4-flash"
model_provider = "nonelinear"
model_catalog_json = "C:\\Users\\你的用户名\\.codex\\model-catalogs\\nonelinear.json"

[profiles.nonelinear-deepseek-v4-pro]
model = "deepseek-v4-pro"
model_provider = "nonelinear"
model_catalog_json = "C:\\Users\\你的用户名\\.codex\\model-catalogs\\nonelinear.json"

[profiles.nonelinear-kimi-k2-6]
model = "kimi-k2.6"
model_provider = "nonelinear"
model_catalog_json = "C:\\Users\\你的用户名\\.codex\\model-catalogs\\nonelinear.json"

[projects.'c:\users\你的用户名']
trust_level = "trusted"

这里的重点是:所有 profile 都挂在同一个 nonelinear provider 下。切换模型时,Codex 不会跨 provider,不需要理解多个 API Key 或 Base URL。

nonelinear.json —— 定义可见模型列表

这个文件告诉 Codex 哪些模型应该出现在 /model 菜单里。基础结构如下:

{
  "models": [
    {
      "slug": "gpt-5.5",
      "display_name": "GPT-5.5",
      "visibility": "list",
      "supported_in_api": true,
      "priority": 0
    },
    {
      "slug": "gpt-5.4-mini",
      "display_name": "GPT-5.4 Mini",
      "visibility": "list",
      "supported_in_api": true,
      "priority": 10
    },
    {
      "slug": "deepseek-v4-flash",
      "display_name": "DeepSeek V4 Flash",
      "visibility": "list",
      "supported_in_api": true,
      "priority": 30
    }
  ]
}

每个模型还有更多可选字段(在NoneLinear技术文档中有完整示例),例如 default_reasoning_levelsupported_reasoning_levelscontext_windowtruncation_policyinput_modalitiesapply_patch_tool_typeweb_search_tool_type。这些控制模型在 Codex 里的行为、排序和工具权限。让模型出现在 /model 列表的关键就是 "visibility": "list"

我们实测了配置 7 个模型的情况,/model 命令能正确列出所有可见模型,切换响应正常。


第三步:三种切换模型的方式

配置完成后,有 3 种方法在不同模型间切换。

1. 在 Codex 里直接输入 /model

codex_models_profiles

进入 Codex 后输入:

/model

然后从列表中选择 gpt-5.5deepseek-v4-flash 等。

2. 用 profile 启动

codex --profile nonelinear-deepseek-v4-flash

3. 用 -m 指定模型

codex -m deepseek-v4-flash

对于团队内部对比测试来说,这种方式非常高效:同一段 prompt,可以快速在 GPT、DeepSeek、Kimi 之间切换,比较代码理解、响应速度、中文表达等方面的差异。


为什么这种方案对团队更友好

非线智能api(非线智能NoneLinear )接入 Codex 的真正价值不是多了一个 API 中转站,而是 把多个模型的配置复杂度降到了零

  • 一个入口:所有模型共用 https://api.nonelinear.com/v1,团队只需要维护一个 API Key、一个 provider、一份配置模板。
  • 中外模型共处同一工作流:市面上很多 Codex 接入教程只演示 GPT 系列,但实际团队还经常需要 DeepSeek 做快速代码理解、Kimi 做中文上下文处理、GPT 系列处理高精度任务。NoneLinear 让这些模型都能出现在同一个 /model 列表里。
  • 渐进式学习路径:新用户可以从 cc-switch 图形化开始,跑通后再用单模型 config.toml 固化配置;当团队需要多模型时,再引入 nonelinear.json 和 profiles。整个过程不需要一次性掌握所有细节。

常见问题排查

修改 nonelinear.json 后,/model 没变?

model_catalog_json 是在 Codex 启动时读取的。修改后必须完全退出 Codex 再重启,才能生效。

Windows 路径到底怎么写斜杠?

TOML 字符串中反斜杠需要转义,所以推荐用双反斜杠或正斜杠:

model_catalog_json = "C:\\Users\\你的用户名\\.codex\\model-catalogs\\nonelinear.json"
# 或
model_catalog_json = "C:/Users/你的用户名/.codex/model-catalogs/nonelinear.json"

API Key 能直接写在 config.toml 里吗?

强烈不建议。推荐用环境变量:

setx NONELINEAR_API_KEY "你的_NoneLinear_API_Key"

然后在配置里写 env_key = "NONELINEAR_API_KEY"。这样配置文件可以随意分享,不会泄露密钥。


小结

Codex 接入 API 本身不复杂,但要让它在团队里长期可用,关键在于模型覆盖、切换体验和配置可维护性。

非线智能api(非线智能NoneLinear )的方案做到了这三点:

  • 一个统一的入口 https://api.nonelinear.com/v1
  • 同时支持 GPT 系列、DeepSeek、Kimi 等多个模型
  • 既支持 cc-switch 快速上手,也支持 config.toml + model_catalog_json 的多模型管理
  • 让 Codex 的 /model 命令直接显示所有可用模型,切换成本降到最低

对于个人开发者,这意味着少改配置、多写代码;对于团队,这意味着可以把模型选择、成本控制和国内外模型测试统一到同一套 API 入口下,不再需要为每个模型单独维护一套基础设施。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐