我把 Codex 默认模型换成了 Kimi K3:真香,但这 3 个坑必须提前避开

一句话结论:Codex 桌面端可以直连 Kimi K3,1M 上下文 + 原生多模态,能用且效果不错;但桌面端多模型切换有 bug,配置前建议先看完第 3 节。
老张最近折腾了一下,把天天在用的 Codex 默认模型切到了 Kimi K3。K3 最近确实火:2.8 万亿参数、1M 上下文、原生多模态,Kimi Code 套餐价格也香。整个过程踩了几个坑,全部记录在这篇里,给想上车的运维和开发朋友做个参考。
| 项目 | 说明 |
|---|---|
| 目标 | Codex 默认模型切换为 Kimi K3 |
| 前提 | Kimi Code 会员(Allegretto 及以上)+ Kimi Code API Key |
| 难度 | ⭐⭐(改两个配置文件) |
| 耗时 | 顺利的话 10 分钟 |
| 最大坑点 | 桌面端模型与 provider 不同步 |
一、最终效果
配置完成后:
- Codex 直接走 Kimi K3,原生支持 Responses API,不需要 CC Switch 之类的本地代理;
- 1M 上下文,整个代码仓库丢进去不担心截断;
- 多模态能力配合截图排障很实用;
- 提供
k3(1M)和k3-256k(256K)两个模型可选,日常任务用 256K 版本省一半配额。
二、前置准备
- Codex 桌面应用(macOS 或 Windows 都行)
- Kimi Code 会员:Allegretto 及以上档位才能用 K3 的 1M 上下文
- Kimi Code API Key:在 Kimi Code 控制台新建
⚠️ 注意:Kimi Code 的 API Key 和 Kimi 开放平台的通用 Key 不是一回事,要用专门的 Kimi Code Key。这是本文第 2 个坑,后面细说。
三、操作步骤(四步搞定)
第一步:获取 API Key
登录 Kimi Code 控制台,进入「API Keys」页面,新建一个 API Key,复制保存好。
第二步:创建模型目录文件
Codex 需要一个 models.json 文件来识别第三方模型的元数据(上下文大小、是否支持图片、推理档位等)。
打开终端:
mkdir -p ~/.codex
然后在 ~/.codex/models.json 里写入 K3 系列模型的定义:
{
"models": [
{
"slug": "k3",
"display_name": "Kimi K3",
"description": "Kimi K3,1M 上下文,原生多模态",
"default_reasoning_level": "high",
"supported_reasoning_levels": [
{ "effort": "low", "description": "Light reasoning" },
{ "effort": "high", "description": "Enhanced reasoning" },
{ "effort": "max", "description": "Deep reasoning" }
],
"shell_type": "shell_command",
"visibility": "list",
"supported_in_api": true,
"priority": 0,
"base_instructions": "",
"supports_reasoning_summaries": true,
"default_reasoning_summary": "none",
"support_verbosity": false,
"truncation_policy": { "mode": "bytes", "limit": 10000 },
"context_window": 1048576,
"max_context_window": 1048576,
"effective_context_window_percent": 95,
"supports_parallel_tool_calls": true,
"experimental_supported_tools": [],
"input_modalities": ["text", "image"]
},
{
"slug": "k3-256k",
"display_name": "Kimi K3 256K",
"description": "Kimi K3 256K 上下文,日常代码任务更省配额",
"default_reasoning_level": "high",
"supported_reasoning_levels": [
{ "effort": "low", "description": "Light reasoning" },
{ "effort": "high", "description": "Enhanced reasoning" },
{ "effort": "max", "description": "Deep reasoning" }
],
"shell_type": "shell_command",
"visibility": "list",
"supported_in_api": true,
"priority": 1,
"base_instructions": "",
"supports_reasoning_summaries": true,
"default_reasoning_summary": "none",
"support_verbosity": false,
"truncation_policy": { "mode": "bytes", "limit": 10000 },
"context_window": 262144,
"max_context_window": 262144,
"effective_context_window_percent": 95,
"supports_parallel_tool_calls": true,
"experimental_supported_tools": [],
"input_modalities": ["text", "image"]
}
]
}
两个模型的区别:
- k3:1M 上下文,适合大项目、长文档
- k3-256k:256K 上下文,效果一样,消耗只有 k3 的一半,日常开发更省
第三步:修改 Codex 主配置
编辑 ~/.codex/config.toml:
model = "k3"
model_provider = "kimi"
model_reasoning_effort = "high"
disable_response_storage = true
model_catalog_json = "/Users/<你的用户名>/.codex/models.json"
[model_providers]
[model_providers.kimi]
name = "Kimi"
base_url = "https://api.kimi.com/coding/v1"
experimental_bearer_token = "<KimiCodeAPIKey>"
wire_api = "responses"
[desktop]
enabled-reasoning-efforts = ["low", "high", "max"]
三个重点,错一个就连不上:
wire_api必须是"responses",不能写成"chat"base_url是https://api.kimi.com/coding/v1,不是开放平台的地址experimental_bearer_token填 Kimi Code API Key(明文存储,注意别泄露配置文件)
第四步:重启验证
完全关闭 Codex 再打开,新开一个对话输入:
你好,请确认你当前使用的模型是什么?
回复里提到 Kimi ,就说明成功了。

四、老张踩的 2 个坑
坑 1:桌面端模型和 Provider 不同步(最大的坑)
现象:老张配置了 GLM 和 Kimi 两个模型,桌面端选择器里都能看到。切到 Kimi K3 后,左下角还显示 "ZAI"(智谱的 provider 名),发消息直接报 modelCode:不存在。
原因:Codex 桌面端的模型选择器只切模型名,不切 provider。选了 Kimi K3,请求却还是发到智谱的服务器,智谱不认识 k3 这个模型名,自然报错。
解决办法:
- 桌面端只保留一个模型,别搞多模型切换
- 需要多模型就用 CLI + Profiles,
--profile参数会同时切换 model 和 provider - 或者等官方修复(目前是已知问题)

坑 2:环境变量读不到
配置里用 env_key 方式(从环境变量读 Key),macOS 桌面端死活读不到。
原因:从 Dock 启动的 GUI 应用读不到终端里的环境变量。
解决办法:
- 用
launchctl setenv注入用户会话(重启后失效,不推荐) - 直接用
experimental_bearer_token写进配置文件(简单粗暴,推荐,一劳永逸)
五、实际体验
用了几天,说几个直观感受。
优点:
- 1M 上下文真的大,整个仓库丢进去不慌
- 多模态实用,截图丢进去分析 bug 很方便
- 中文理解好,写中文文档、做中文项目更顺手
不足:
- 桌面端多模型切换 bug 影响体验
- 工具调用稳定性偶尔抽风,需要重试
- 推理速度比轻量模型稍慢(毕竟参数多)
老张的用法:
| 场景 | 模型 |
|---|---|
| 日常写代码、改 bug | Kimi K3 256K(省配额) |
| 大项目、长文档 | Kimi K3(1M 上下文) |
| Hermes agent | GLM-5.3-Flash、DeepSeek |
🎯 老张建议
- 桌面端只留一个模型:多模型切换 bug 没修之前,桌面端单模型 + CLI 多 profile 是最稳的组合;
- 日常任务用 k3-256k:效果一样、配额减半,1M 留给真正需要的大上下文场景;
- 有 Kimi Code 会员的都建议试试:额度用不完也是浪费,多一个模型就多一个选择,别把鸡蛋放一个篮子里。
💬 互动话题
- 你现在 Codex 默认用的是什么模型?体验如何?
- 你在配置第三方模型时踩过什么坑?
- Kimi K3、GLM、DeepSeek,你日常主力是哪个?为什么?
🔗 关注老张
公众号:老张聊运维 小程序:观简国学 个人博客:https://www.shanwaiyun.top/