第190期 claude-code 如何配置Kimi k2 LLM接口?(实战经验) 1. 为什么要在 claude-code 里接 Kimi k2 这类第三方 LLM 接口claude-code 是 Anthropic 推出的命令行编码助手默认只连自家的 Claude 模型。但很多人手头有 Kimi k2、DeepSeek、Qwen 这些模型的额度或者想按任务类型切换不同模型来省成本于是「claude-code 如何配置 Kimi k2 LLM 接口」就成了一个高频检索问题。核心结论先放这里claude-code 从 1.0.61 版本开始支持--settings参数配合~/.claude/目录下的多个 settings.json 文件就能实现原生多模型供应商配置不需要改源码也不需要装额外插件。Kimi k2 是月之暗面推出的 MoE 架构模型在代码生成和长上下文任务上表现不错尤其是 128K 甚至更长的输出窗口对 claude-code 这种需要读大文件、写长函数的场景很友好。claude-code 本身是一个 Agent 形态的工具它会自动读文件、跑命令、改代码所以对模型的指令遵循能力和工具调用稳定性要求比较高。Kimi k2 在这两点上实测下来是能扛住的尤其是 turbo 版本响应速度更快适合日常编码。适合谁看这篇三类人一是已经在用 claude-code 但想换更便宜或更顺手的模型的开发者二是手里有多个模型额度、想按项目切换供应商的人三是本地开发环境里想统一管理 API Key 和 Base URL 的团队。这篇会交付可复制的 settings 配置片段、把 Base URL 改到 TaoToken 的步骤、一次对话请求的验证动作以及常见报错排查清单。全程按「能跟着做」的标准写命令和参数都给你备好。需要提前说明一点claude-code 的配置本质是环境变量注入它读的是ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN、ANTHROPIC_MODEL这几个键。只要你的接口兼容 Anthropic 的 Messages API 格式就能接进来。Kimi k2 官方提供了 Anthropic 兼容端点TaoToken 也提供了统一的 Anthropic 兼容入口所以两条路都走得通。下面先从环境准备讲起。2. TaoToken 前置准备拿 Key、认端点、装 claude-code在动手改配置之前先把三件事做完确认 claude-code 版本、拿到可用的 API Key、确认 Base URL 该填什么。这三件事没做完就改 settings.json大概率会卡在 401 或连接失败上。2.1 确认 claude-code 版本 ≥ 1.0.61--settings参数是 1.0.61 才加的版本低了会直接报 unknown option。先查版本claude --version如果低于 1.0.61用 npm 升级npm install -g anthropic-ai/claude-codelatest升级完再跑一次claude --version确认。这一步别省我见过有人配置写得完全正确结果卡在版本上折腾半小时。2.2 在 TaoToken 拿 API Key打开 TaoToken 官网https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content注册登录后进控制台在 API Keys 页面创建一个新 Key。创建时建议按用途命名比如claude-code-kimi方便后面多 Key 管理。Key 只在创建时完整显示一次复制下来存到密码管理器里。TaoToken 的 Anthropic 兼容端点是https://taotoken.net/api注意这个地址不带 UTM 参数配置里填的就是它。如果你要直接连 Kimi 官方端点则是https://api.moonshot.cn/anthropic两者格式一致区别只在 Key 和模型名。这篇以 TaoToken 为主因为它能统一管理多个模型供应商切换时只改模型名就行。2.3 确认模型 IDKimi k2 在 TaoToken 上的模型 ID 通常是kimi-k2-turbo-preview或kimi-k2-0711-preview具体以控制台模型列表为准。claude-code 需要三个模型槽位主模型ANTHROPIC_MODEL、快速模型ANTHROPIC_SMALL_FAST_MODEL旧版叫ANTHROPIC_DEFAULT_HAIKU_MODEL以及可选的 Sonnet/Opus 映射。Kimi k2 场景下主模型和快速模型都填同一个 ID 即可因为 k2 本身速度够快没必要再分一个小模型。提示如果你在 TaoToken 控制台看到模型名带日期后缀直接复制那个完整 ID不要自己拼。2.4 目录结构确认claude-code 的配置目录在用户主目录下的.claude/ls -la ~/.claude/如果目录不存在就手动建mkdir -p ~/.claude后面所有的 settings 文件都放这里。多模型切换的思路就是一个模型一个 settings 文件用--settings指定加载哪个。3. 可复制配置settings-kimi.json 与 Base URL 改到 TaoToken这一节是全文的核心直接给可复制的 JSON 片段。路径统一为~/.claude/settings-kimi.json你可以照抄后只改 Key。3.1 完整 settings-kimi.json{ $schema: https://json.schemastore.org/claude-code-settings.json, env: { ANTHROPIC_AUTH_TOKEN: sk-你的TaoToken密钥, ANTHROPIC_BASE_URL: https://taotoken.net/api, API_TIMEOUT_MS: 600000, ANTHROPIC_MODEL: kimi-k2-turbo-preview, ANTHROPIC_SMALL_FAST_MODEL: kimi-k2-turbo-preview, ANTHROPIC_DEFAULT_HAIKU_MODEL: kimi-k2-turbo-preview, ANTHROPIC_DEFAULT_SONNET_MODEL: kimi-k2-turbo-preview, ANTHROPIC_DEFAULT_OPUS_MODEL: kimi-k2-turbo-preview, CLAUDE_CODE_MAX_OUTPUT_TOKENS: 128000 }, feedbackSurveyState: { lastShownTime: 1754086366207 } }几个关键点解释一下。ANTHROPIC_AUTH_TOKEN填 TaoToken 的 Key不是 Kimi 官方的 Key因为 Base URL 指向 TaoToken。ANTHROPIC_BASE_URL填https://taotoken.net/api这是 Anthropic 兼容入口claude-code 会把/v1/messages拼在后面。API_TIMEOUT_MS设 600000 即 10 分钟因为 k2 处理大文件时首 token 可能慢超时设短了会中途断。CLAUDE_CODE_MAX_OUTPUT_TOKENS设 128000 是吃满 k2 的长输出能力写大函数时不容易被截断。feedbackSurveyState这个字段是 claude-code 自己写的保留即可不影响功能。3.2 三件套对照表配置里最核心的就是 Base URL、Key、Model ID 三件套对照如下配置项值说明Base URLhttps://taotoken.net/apiAnthropic 兼容端点不带 UTMAPI Keysk-开头TaoToken 控制台创建Model IDkimi-k2-turbo-preview以控制台为准如果你要直连 Kimi 官方把 Base URL 换成https://api.moonshot.cn/anthropicKey 换成 Moonshot 的 KeyModel ID 不变。两种方式 settings 结构完全一样只是值不同。3.3 多模型切换短命令方案一个 settings 文件只能对应一套配置。想切 DeepSeek、Qwen、Kimi就复制多份比如settings-deepseek.json、settings-qwen.json、settings-kimi.json。启动时用claude --settings $HOME/.claude/settings-kimi.json每次敲这么长确实烦。在~/.zshrcbash 用户改~/.bashrc里加短命令function claude-kimi { claude --settings $HOME/.claude/settings-kimi.json $ } function claude-deepseek { claude --settings $HOME/.claude/settings-deepseek.json $ } function claude-qwen { claude --settings $HOME/.claude/settings-qwen.json $ }保存后source ~/.zshrc之后直接敲claude-kimi就进 Kimi k2 环境claude-deepseek进 DeepSeek 环境。$是为了把额外参数透传进去比如claude-kimi --help。3.4 用 CC Switch 管理多配置如果你不想手写短命令可以用 CC Switch 这类配置切换工具。它的原理也是读写~/.claude/下的 settings 文件只是给了个图形界面。用 CC Switch 时同样要填全三件套Base URL 填https://taotoken.net/apiKey 填 TaoToken 的 KeyModel ID 填kimi-k2-turbo-preview。三件套缺一个都会连不上这是最常见的配置错误。注意CC Switch 只是帮你切换文件不改变 claude-code 读取配置的逻辑。所以文件路径和字段名必须和上面一致否则切了也没用。4. 验证请求一次对话确认 Kimi k2 真的接上了配置写完不算完得验证。验证分两步先确认 claude-code 读到了配置再发一次真实对话看返回。4.1 确认配置被加载启动时加--debug能看到环境变量注入情况claude-kimi --debug在输出里找ANTHROPIC_BASE_URL和ANTHROPIC_MODEL确认值是你填的。如果显示的是默认的api.anthropic.com说明 settings 没被读到检查路径和文件名。4.2 发一次对话请求进入交互界面后直接输入一个简单任务帮我写一个 Python 函数读取 CSV 并返回每列的非空计数如果配置正确claude-code 会把请求发到https://taotoken.net/api/v1/messagesKimi k2 返回代码。你会看到它先输出思考过程再给代码块。实测下来首 token 延迟在 1-3 秒完整响应 5-15 秒取决于输出长度。也可以用非交互模式一次性验证claude-kimi -p 用一句话说明什么是快速排序-p是 print 模式直接输出结果后退出适合脚本化验证。如果这条命令能正常返回中文回答说明 Base URL、Key、Model ID 三件套全部生效。4.3 看返回里的模型标识有些兼容端点会在响应里带模型名。如果返回正常但你想确认走的是 k2可以在 TaoToken 控制台的调用日志里看那里会记录每次请求的模型 ID 和 token 消耗。这是最可靠的确认方式比猜响应内容准。4.4 验证成功的结果长什么样成功的标志有三个命令不报错、返回内容是代码或合理回答、控制台日志有对应记录。三个都满足就说明接入完成。如果只满足前两个但日志没有记录可能是请求发到了别处检查 Base URL 有没有拼错。5. 常见报错排查清单401、local proxy failed、reading choices、OAuth配置过程中最容易撞的就是这几类报错。下面按报错原文对照排查每条都给原因和修法。5.1 401 Unauthorized报错原文通常是API Error: 401 {error:{message:Invalid API key}}原因Key 填错、Key 过期、或者 Key 和 Base URL 不匹配。比如你填了 TaoToken 的 Base URL 却用了 Moonshot 的 Key就会 401。修法确认ANTHROPIC_AUTH_TOKEN和ANTHROPIC_BASE_URL来自同一家。TaoToken 的 Key 配https://taotoken.net/apiMoonshot 的 Key 配https://api.moonshot.cn/anthropic。另外检查 Key 有没有多余空格复制时容易带上换行。5.2 local proxy failed / connection refused报错原文Error: connect ECONNREFUSED 127.0.0.1:xxxx或者local proxy failed。原因settings 里 Base URL 填成了本地地址或者系统里设了 HTTP_PROXY 环境变量指向一个没启动的本地端口。修法检查ANTHROPIC_BASE_URL是不是https://taotoken.net/api别填成http://localhost:xxxx。再检查 shell 里有没有export HTTP_PROXY...有就 unset 掉。claude-code 不需要本地代理直连即可。5.3 reading choices of undefined报错原文TypeError: Cannot read properties of undefined (reading choices)原因这个报错通常出现在接口返回格式不是 Anthropic Messages 格式时。claude-code 期望的响应结构里有content数组如果端点返回的是 OpenAI 格式的choices解析就会失败。修法确认 Base URL 指向的是 Anthropic 兼容端点而不是 OpenAI 兼容端点。TaoToken 的https://taotoken.net/api是 Anthropic 兼容的如果你误填了 OpenAI 端点就会出这个错。检查路径里有没有多写/v1claude-code 会自己拼/v1/messages你填到/api就行。5.4 OAuth 相关报错报错原文可能包含OAuth token expired或Please run claude login。原因claude-code 默认走 Anthropic 官方 OAuth 登录当你用第三方端点时它可能还在尝试刷新官方 token。修法确保 settings 里设了ANTHROPIC_AUTH_TOKEN这个字段会覆盖 OAuth 流程。如果还报删掉~/.claude/下的凭据缓存文件通常是credentials.json重启 claude-code。注意别删 settings 文件。5.5 模型不存在 / model not found报错原文API Error: 404 {error:{message:model not found}}原因Model ID 拼错或者该模型在你的账号下没开通。修法去 TaoToken 控制台复制准确的模型 ID别手打。Kimi k2 的 ID 带-preview后缀漏了就 404。5.6 超时 / 响应中断报错原文API Error: Request timed out原因API_TIMEOUT_MS设太短或者网络抖动。修法设成60000010 分钟。如果还断检查是不是输出 token 超了CLAUDE_CODE_MAX_OUTPUT_TOKENS把它设到 128000。5.7 排查顺序建议撞到报错别乱改按这个顺序来先看报错原文属于哪类对照上面定位再确认三件套Base URL、Key、Model ID是否一致最后看版本和网络。80% 的问题出在三件套不匹配上。6. 长期编码与 Agent 场景的配置建议如果你只是偶尔用 claude-code 跑个脚本上面的配置够了。但如果你打算把它当日常编码助手或者跑 Agent 任务有几个点值得再调。第一把API_TIMEOUT_MS和CLAUDE_CODE_MAX_OUTPUT_TOKENS都拉满。Agent 任务会连续读多个文件、跑多条命令中间任何一次超时都会打断整个流程。10 分钟超时和 128K 输出是保底配置。第二多模型分工。Kimi k2 适合长上下文和代码生成DeepSeek 适合推理密集型任务Qwen 适合中文场景。用短命令切换按任务类型选模型比死磕一个模型划算。TaoToken 的好处是这些模型走同一个 Base URL 和同一套 Key 管理切换时只改 Model ID。第三Key 轮换和额度监控。TaoToken 控制台能看到每个 Key 的调用量和余额设个告警阈值避免跑 Agent 跑到一半欠费。生产环境别把 Key 硬编码在 settings 里提交到 git用环境变量注入或者本地文件加.gitignore。第四如果你要跑 Coding Plan 类的长期任务建议单独建一个 settings 文件把模型固定成 k2避免中途被其他配置覆盖。Coding Plan 的入口在 TaoToken 控制台里能找到适合需要连续多轮编码的场景。最后说个实际经验claude-code 的配置改动后已经启动的会话不会热加载必须退出重进。改完 settings 记得重启不然你会以为配置没生效其实是旧进程还在用旧环境变量。这个坑我踩过排查了半天才发现是没重启。配置文件和短命令都就位后日常使用就是敲claude-kimi进环境敲claude-deepseek换模型剩下的交给 claude-code 自己跑。Kimi k2 的长输出能力在写大模块时确实省心一次能吐完整文件不用反复续写。