Codex 接入 Kimi、GLM 等兼容 API 模型怎么配

2026-06-17

Codex 自定义模型,指的是不走默认官方模型,而是在 Codex 的配置文件里加一个自定义 provider(指向第三方的 base_url 和 API key),让 Codex 改用 Kimi、GLM 等任意”兼容 OpenAI API”的模型来干活。 只要对方提供的是 OpenAI 格式的接口,Codex 就能接上。这篇带你搞懂原理、给出配置步骤,并把常见的连不上问题一次讲清。

为什么要折腾这件事?三个现实痛点:省钱(国产模型单价通常更友好)、长上下文(Kimi 的长上下文适合啃大文件、整仓库阅读)、性价比与可用性(GLM 主打性价比,国内访问稳定不绕路)。如果你已经在用 Codex 教程 跑过默认流程,这篇就是下一步:把”用谁的模型”换成你说了算。

原理:Codex 为什么能换模型

Codex 本身是一个命令行编程代理,它负责”理解任务、读写文件、跑命令、规划多步操作”。真正生成代码和决策的,是它背后调用的大模型。Codex 与模型之间通过一套标准的 API 协议对话——主流是 OpenAI 的 chat/completions 格式。

关键机制只有一句话:只要某个模型服务对外暴露的是”兼容 OpenAI 的接口”,Codex 就能把请求发给它,而不必发给官方。 Kimi、GLM、DeepSeek 这些国产模型,绝大多数都提供了 OpenAI 兼容端点,这就是接入能成立的根基。

所以”换模型”本质上是改三样东西:

  • base_url:把请求地址从官方换成第三方的兼容端点。
  • api_key:换成你在第三方平台申请的密钥。
  • 模型标识(model):填第三方规定的模型名字符串。

机制不变,会变的只是各家的具体地址和模型名——所以这篇讲方法,具体端点和模型名一律以官方文档为准

这里有个细节容易被忽略:wire_api 不是随便填的摆设,它决定 Codex 用哪套协议格式打包请求。目前主流兼容端点分两种风格——老一点的 chat(对应 chat/completions)和更新的 responses(对应 responses 接口)。绝大多数国产模型的兼容层只实现了 chat 这一种,所以本文默认都用 chat。如果你接的服务商在文档里明确说支持 responses,才考虑切过去,否则贸然改成 responses 只会收到一堆 400 或者字段不认的报错——先按 chat 跑通,再折腾风格切换,别本末倒置。

通用配置三步

Codex 的配置集中在用户目录下的配置文件里(通常是 ~/.codex/config.toml具体文件名与路径以官方文档为准)。核心是定义一个自定义 provider,再让 Codex 指向它。

第一步:定义一个自定义 provider。 在配置文件里加一段,告诉 Codex 第三方服务的地址和接口风格:

[model_providers.kimi]
name = "Kimi (Moonshot)"
base_url = "https://以官方文档为准/v1"
env_key = "KIMI_API_KEY"
wire_api = "chat"
  • base_url:填第三方的 OpenAI 兼容端点,结尾是否带 /v1 以官方为准
  • env_key:指定从哪个环境变量读取 API key(推荐用环境变量,别把密钥硬写进配置)。
  • wire_api:声明走哪种接口风格(chatchat/completions),字段名以官方为准

第二步:把密钥放进环境变量。

export KIMI_API_KEY="你在平台申请的key"

Windows 用 setx 或在系统环境变量里加。密钥不要提交进 git

第三步:让 Codex 用这个 provider 和对应模型。 可以在配置文件里设默认,也可以在启动时用命令行参数临时指定:

model_provider = "kimi"
model = "以官方文档为准的模型标识"

model 必须填第三方规定的精确模型名(比如 Kimi、GLM 各自的型号字符串),填错会直接报”模型不存在”。

进阶一步:用 profile 管理多套配置,不用来回改文件。 如果你会在 Kimi、GLM、官方模型之间频繁切换(比如平时用便宜模型写活儿,遇到难啃的 bug 再切一个能力更强的),别每次都手动改 model_provider。Codex 支持在配置文件里定义多个 profiles,每个 profile 绑定一套 provider + model + 参数组合,启动时用命令行参数指定用哪个 profile 即可,一条命令切换,不用改文件也不怕手滑改错:

[profiles.kimi-daily]
model_provider = "kimi"
model = "以官方文档为准的模型标识"

[profiles.glm-cheap]
model_provider = "glm"
model = "以官方文档为准的模型标识"

具体的 profile 字段名和调用参数以 Codex 官方文档为准,但思路是通用的:把”选哪个模型”这件事从”改配置文件”降级为”敲一个参数”,团队协作时也方便统一分发同一份配置文件、各自用不同 profile。

各家差别:Kimi 与 GLM 怎么填

接法相同,差别只在 base_url、模型标识和定位。下面这张表帮你对号入座(具体地址/型号以各家官方文档为准):

模型适合场景base_url模型标识
Kimi长上下文、读大文件/整仓库、长文档理解以官方为准以官方为准
GLM性价比优先、日常编码、国内访问稳定以官方为准以官方为准
DeepSeek推理与代码能力强、单价友好以官方为准以官方为准

选型建议直给:

  • 要啃大文件、做整仓库级理解 → 选 Kimi,它的长上下文是核心优势,想深入了解可看 Kimi 工具页
  • 图省钱、日常小步快跑写代码 → 选 GLM,性价比定位明确。
  • 看重推理深度和代码质量 → 试 DeepSeek,参考 Codex 接入 DeepSeek(规划中)的配置细节。

三者都是 OpenAI 兼容接入,配置结构一模一样,换的只是那几行参数。

费用与效果的取舍,说句实在话: 别迷信”越贵越好”,也别为了省钱一味压低模型档位。我自己的经验是分场景用不同档:写常规 CRUD、改小 bug、跑重复性的脚手架代码,用便宜档模型就够了,跑得快、成本低,出错了重跑一次也不心疼;但遇到复杂重构、跨文件的架构调整、或者需要模型”理解意图”而不是”照葫芦画瓢”的活儿,该上贵一档的模型就上,省下来的钱远不如省下来的返工时间划算。具体到 Kimi 和 GLM,二者单价都比官方模型友好,但别只看单价数字——还要看实际跑一个任务要吃掉的 token 数量:便宜但啰嗦的模型,跑同一个任务可能比贵但精炼的模型花更多总成本,这个只能自己拿真实任务跑几次、看账单对比,别信一次性的宣传数字。

怎么验证接入成功

配置完别急着干大活,先做最小验证:

  1. 跑一个最简单的任务,比如让 Codex 在一个空目录里”创建一个 hello world 脚本”。能正常生成 = 链路通了。
  2. 观察是否真的用了新模型:看 Codex 启动时打印的 provider/model 信息,或在响应里确认没有回退到默认。
  3. 试一个稍长的任务(读一个几百行的文件并总结),确认长上下文模型确实吃下了内容、没被截断。

只要这三步都过,说明 base_url、key、模型标识三者都对上了。

常见坑与排查

把报错按”现象 → 原因 → 解法”列清,照着对就行:

现象可能原因解法
401 / 认证失败API key 错、环境变量没生效重开终端让 export 生效;核对 key 没多空格;确认 env_key 名字和环境变量一致
404 / 模型不存在模型标识填错用官方文档里的精确型号字符串,区分大小写
连接超时 / 拒绝base_url 写错、漏/多了 /v1对照官方端点,确认协议头和路径;用 curl 直接打这个端点验证网络可达
回答异常短或截断上下文/输出长度受限确认选的是长上下文型号(如 Kimi);检查是否有 max_tokens 类限制
Codex 仍用默认模型provider/model 没指定到确认 model_providermodel 都已设;命令行临时参数会覆盖配置
400 / 参数不被支持某些 OpenAI 字段第三方不认减少非必要参数;wire_api 风格选对(chat);以第三方兼容范围为准

排查口诀:先证网络(curl 打端点)→ 再证密钥(401 看 key)→ 再证模型名(404 看型号)→ 最后看 Codex 有没有真用上它。 四步定位,基本逃不掉。

常见问题

Codex 能接 Kimi 和 GLM 吗? 能。只要这些模型提供 OpenAI 兼容接口(Kimi、GLM 都有),在 Codex 配置里加一个自定义 provider 指过去即可,接法完全一样。

接国产模型主要为了省钱吗? 省钱是一方面,但不止。Kimi 的长上下文适合处理大文件和整仓库,GLM 主打性价比,国内访问还更稳定、不用绕路——按你的活儿选,不只看价格。

配置文件在哪、叫什么? 通常在用户目录下的 ~/.codex/ 里(如 config.toml),但确切路径和字段名以官方文档为准,不同版本可能有差异,别照搬别人的旧配置。

为什么 base_url 配了还是连不上? 最常见是 /v1 路径多了或少了,其次是密钥环境变量没生效(改完没重开终端)。先用 curl 直接打那个端点确认网络和地址对,再回头查 key。

换了模型,Codex 的能力会变差吗? 代理能力(读写文件、跑命令、多步规划)是 Codex 自己的,不随模型变;变的是”写代码和决策的脑子”。模型越强、上下文越长,复杂任务表现越好,所以按任务难度选型即可。

👉 看看我们的 AI 编程实战体系课,或逛 AI 编程教程大全 把基本功打扎实。

想系统学会用 AI?报名体系课或加入会员,照着学、照着用。