标题卡显示 Claude Code 和 Codex 中的 Kimi K3.1 Pro,副标题为配置、静默失败,另有三个统计标签:Messages API、Responses API 和 1M context。
Guides & Insights

在 Claude Code 和 Codex 中运行 Kimi K3.1 Pro:配置、静默失败,以及一行切换

作者

Rowan Sterling

发布日期

最新模型 · 20查看全部模型 →
基准测试:Artificial Analysis · 每日更新
返回全部文章

Kimi K3.1 Pro 支持三种协议:OpenAI Chat Completions、OpenAI Responses 和 Anthropic Messages。这正是它无需翻译代理就能接入 Claude Code 和 Codex 的全部原因——每个工具本就支持这三种协议中的一种,而 Moonshot 原生提供该协议。配置在一个场景中是若干个环境变量,在另一个场景中则是一段五行的 TOML 配置块。真正让人耗掉一下午的不是配置本身,而是失败模式。Claude Code 会针对不同任务使用四个不同的模型层级,而任何未设置的层级都会静默失败,而不是大声报错。

本指南依据 Moonshot 自家的集成文档编写,核查日期为 2026 年 10 月 24 日,并纳入了文档中一带而过的注意事项。当把同一批工具指向路由网关而非直接指向 Moonshot 时,如果某个值有所不同,则会特别说明。

为什么不需要代理

Claude Code talks to Anthropic's Messages API; Codex talks to the Responses API. Moonshot exposes both. Its Anthropic-compatible surface lives at https://api.moonshot.ai/anthropic and its Responses API at https://api.moonshot.ai/v1, and the model id is kimi-k3.1-pro on both. Nothing in either client needs to know it is not talking to the vendor it was built for.

在配置之前,有一项后果值得说明:模型始终会进行推理。没有思考开关,推理深度由顶层 reasoning_effort字段设置,该字段接受 low、high 和 max,默认值为 max。采样参数是固定的——temperature 为 1.0、top-p 为 0.95、n 为 1——传入其他值会返回错误。如果你之前的设置调整过 temperature,那么该调整在切换后不会保留。

Claude Code:环境块

Setup card headed One model, three protocols with four rows: Claude Code uses the Anthropic Messages API, Codex uses the OpenAI Responses API, the model id is kimi-k3.1-pro, and the key variable is ANTHROPIC_AUTH_TOKEN

Claude Code 从 env 块读取其配置,该块位于 ~/.claude/settings.json。写入其中的变量会覆盖你在 shell 中导出的同名变量,这既是特性也是陷阱:如果文件里写的是别的内容,终端里一个过时的导出并不会救你。

• ANTHROPIC_BASE_URL — the Kimi endpoint root. Set it to https://api.moonshot.ai/anthropic. If you leave it unset, requests go to Anthropic and fail authentication.

• ANTHROPIC_AUTH_TOKEN — 你的 Kimi API 密钥。这个变量才是 Claude Code 实际用于承载令牌(bearer token)的变量;如果改为把 API 密钥放进 ANTHROPIC_API_KEY,正是配置看起来正确却返回 401 的最常见原因。

• ANTHROPIC_MODEL — 主对话模型:kimi-k3.1-pro。

• ANTHROPIC_DEFAULT_OPUS_MODEL、ANTHROPIC_DEFAULT_SONNET_MODEL、ANTHROPIC_DEFAULT_HAIKU_MODEL、ANTHROPIC_DEFAULT_FABLE_MODEL —— 每个层级各一个。至少设置前三个,并将 HAIKU 指向一个便宜且快速的模型,而不是旗舰模型;Moonshot 自己的示例就把该层级映射到其编程模型。

• CLAUDE_CODE_SUBAGENT_MODEL — 子代理所使用的模型。若未设置,子代理的工作会降级或失败。

• CLAUDE_CODE_AUTO_COMPACT_WINDOW — 设置为 1000000,与上下文窗口一致。太小会过早压缩并丢弃上下文;太大会产生上下文长度错误。

• CLAUDE_CODE_EFFORT_LEVEL — Moonshot 的指南将其设为 max,这也是该模型的默认值。降低该值会降低复杂任务的质量,而在会话中途更改它会使前缀缓存命中失效。

四个无声失败的层级

这正是值得提前防范的故障。Claude Code 会为主对话、后台摘要、子代理和小型实用调用使用不同的模型。只配置 ANTHROPIC_MODEL,其他路径不会报错——它们会悄无声息地什么都不做,或者以让工具显得像是坏掉的方式回退,却不说明原因。Moonshot 的参考表明确指出,每个未设置的层级都会导致相应任务失败,而这些症状看起来像是代理变慢或混乱,而不是配置错误。

实用检查清单是:在一次编辑中设置全部四个层级变量以及子代理变量,重启 Claude Code,然后在会话中确认子代理确实运行了。如果它卡住了,首先要检查的是层级,而不是模型。

Codex:一个 TOML 块

Codex reads ~/.codex/config.toml (on Windows, %USERPROFILE%\.codex\config.toml). The connection is defined by four values in a provider block: the model id kimi-k3.1-pro, a provider named kimi, base_url pointing at https://api.moonshot.ai/v1, the environment-variable name that holds the key, and — the setting that makes the direct connection work — wire_api = "responses". Set model_context_window to 1048576 as well; without it Codex falls back to default model metadata, which degrades behaviour on long inputs.

密钥本身应放在环境变量中,而不是文件中。Codex 会从 env_key 指定的变量中读取它,因此请让 config.toml 不含机密,并在你的 shell 配置文件或系统环境中设置该变量。

提交 bug 之前,有两个限制需要了解。Codex CLI 不接受视频作为输入,尽管模型本身支持——这是 Codex 输入层的限制,因此视频相关的工作必须直接通过 API 进行。此外,Codex 自身的上下文管理依然适用:1M token 的窗口并不意味着每个会话都应该用满。

改为让这两个工具都指向同一个网关

Moonshot's Kimi platform documentation page titled Use Kimi in Claude Code, describing the Anthropic-compatible Messages API integration, with install commands for macOS, Linux, PowerShell and npmOrcaRouter's Kimi K3.1 Pro model page showing the identifier kimi/kimi-k3.1-pro, the three supported endpoints for chat completions, responses and messages, a 1M-token context window, 943K maximum output and $2.00 input and $10.00 output per million tokens

如果你将 Moonshot 的基础 URL 替换为网关的 URL,上述所有内容都无需改动即可正常工作;当同一套代码库还要调用其他厂商的模型时,这很有用。OrcaRouter 为 Kimi K3.1 Pro 提供全部三种接口——/v1/chat/completions、/v1/responses 和 /v1/messages——并以如下 id 发布该模型:kimi/kimi-k3.1-pro。

For Claude Code, that means ANTHROPIC_BASE_URL set to the gateway root (https://api.orcarouter.ai) with the provider-prefixed model id in the four tier variables. For Codex, the same TOML block with the base URL pointing at https://api.orcarouter.ai/v1 and the model id kimi/kimi-k3.1-pro. The key variable stays the same shape; it just holds a gateway key instead of a vendor key.

作为替代方案,你获得的是目录中每个模型的一份凭证,以及一套可在供应商之间迁移请求而无需更改应用代码的路由策略——正是它让回退方案成为可能,即使新模型在发布周遭遇端点限流。你放弃的是供应商自己的控制台以及任何供应商特定的测试版功能面。价格按提供商的标价透传:Kimi K3.1 Pro 为每百万输入 token 2.00 美元、每百万输出 token 10.00 美元,不额外加价。

五分钟的验证

• 在接触客户端之前,先直接请求端点:向 Messages 或 Chat Completions 路由发送一个仅含单个 token 的 POST 请求应返回 JSON,而 401 表示密钥有误或属于另一个平台。

• 在 Claude Code 中,提出一个会强制触发子代理的问题——跨多个文件进行搜索——然后观察它是否完成。这是对层级配置最快的测试。

• 在 Codex 中,在一个小型仓库上启动会话,并检查模型是否报告 1M 窗口;如果它报告的是更小的默认值,model_context_window 未生效。

• 在会话开始时,有意识地一次性设定 effort:困难调试用 max,普通编辑用 high,提取和格式化用 low。默认值是 max,而在本模型上,这是代价高昂的选择。