目录前言1. Claude Code 的模型调用机制1.1 三个环境变量决定一切1.2 模型槽位映射Opus / Sonnet / Haiku1.3 协议兼容性是关键2. 官方支持 Anthropic 兼容协议的国产大模型2.1 DeepSeek2.2 智谱 GLM2.3 阿里通义千问2.4 月之暗面 Kimi2.5 模型能力对比参考 SWE-Bench Verified 2026/07 数据3. 三种主流接入方式3.1 方式一环境变量直连最轻量3.2 方式二Shell 函数/别名轻量级切换3.3 方式三路由工具重量级 多协议支持4. 配置时的常见问题与排查4.1 配置改了但没生效4.2 连接被拒绝 / 401 错误4.3 Sub-agent 用了错误的模型4.4 切完模型后 Claude Code 失忆5. 选型维度用什么判断该接哪个模型5.1 维度一任务类型5.2 维度二成本结构5.3 维度三协议兼容性5.4 维度四上下文窗口结语参考资料前言前面三篇我们聊了 Vibe Coding 范式、Claude Code 背后的 Agent 机制、以及 Spec-Driven Development 的实践方法。Claude Code 本身是一个闭源的终端编程 Agent原生只连接 Anthropic 官方的 Claude 模型。但很多开发者在实际使用时会发现Claude Code 不仅能跑 Claude还能跑 OpenAI、DeepSeek、Qwen、GLM、Kimi 等一系列第三方模型——而要做到这一点并不需要改 Claude Code 的源码。这一篇是系列里我们要回答五个问题Claude Code 是怎么选择调用哪个模型的自定义端点的核心机制是什么目前有哪些大模型支持 Anthropic Messages 兼容协议三种主流接入方式怎么选配置时最容易踩的坑是什么1. Claude Code 的模型调用机制要把 Claude Code 接到别的模型上首先要理解它是怎么选模型的。这一节我们讲透三个核心机制。1.1 三个环境变量决定一切Claude Code 启动时会从环境变量里读取三个关键配置ANTHROPIC_BASE_URLAPI 请求的目标地址。默认是https://api.anthropic.com改成别的就等于换了一个目的地。ANTHROPIC_AUTH_TOKENAPI 密钥。Claude Code 把所有出站请求的认证信息都从这一项读。ANTHROPIC_MODEL默认模型名。决定 Claude Code 默认调用哪个模型。只要这三个变量被改写Claude Code 就以为自己还是连着 Anthropic但实际请求已经被路由到了第三方服务的 API。1.2 模型槽位映射Opus / Sonnet / HaikuClaude Code 内部把模型分成了三个槽位——Opus旗舰、Sonnet主力、Haiku轻量。对应到 Anthropic 模型家族就是 Claude Opus、Sonnet、Haiku 系列。当 Claude Code 内部某个功能比如子代理、Sub-agent需要调用轻量模型时它读的是ANTHROPIC_DEFAULT_HAIKU_MODEL需要主力模型时读ANTHROPIC_DEFAULT_SONNET_MODEL需要旗舰时读ANTHROPIC_DEFAULT_OPUS_MODEL。这给了用户一个能力可以让 Claude Code 在不同任务下调用不同的第三方模型——比如主力用 DeepSeek V4 ProSub-agent 用 DeepSeek V4 Flash更便宜。1.3 协议兼容性是关键注意不是所有第三方服务都能直接接入。Claude Code 用的是 Anthropic 官方的Messages API协议/v1/messages端点。一个第三方服务要无缝兼容 Claude Code它必须实现两件事提供 Anthropic Messages API 兼容端点——接受/v1/messages路径的请求并按 Anthropic 的 JSON 格式返回响应。提供模型名映射策略——让 Claude Code 发出的claude-opus-4-8等模型名能正确路由到第三方自己的模型。目前提供这种兼容端点的服务主要是两类国产大模型厂商DeepSeek、智谱 GLM、阿里通义千问、月之暗面 Kimi和OpenAI 兼容协议的厂商如通义千问、Stepfun 等。2. 官方支持 Anthropic 兼容协议的国产大模型截至 2026 年 7 月已经有至少四家国产大模型厂商为 Claude Code 提供了官方的 Anthropic Messages API 兼容端点。本节客观介绍每家厂商提供的模型、协议端点和官方文档来源不做商业推荐。2.1 DeepSeek官方接入文档https://api-docs.deepseek.com/zh-cn/quick_start/agent_integrations/claude_code兼容端点https://api.deepseek.com/anthropic提供模型deepseek-v4-pro[1m]主力1M 上下文、deepseek-v4-flash轻量更快更便宜协议支持原生 Anthropic Messages API 兼容无需额外转换价格按 Token 计费1M tokens输入 ¥0.5输出 ¥2具体见官方定价页官方接入示例来源DeepSeek 官方文档exportANTHROPIC_BASE_URLhttps://api.deepseek.com/anthropicexportANTHROPIC_AUTH_TOKEN你的 DeepSeek API KeyexportANTHROPIC_MODELdeepseek-v4-pro[1m]exportANTHROPIC_DEFAULT_OPUS_MODELdeepseek-v4-pro[1m]exportANTHROPIC_DEFAULT_SONNET_MODELdeepseek-v4-pro[1m]exportANTHROPIC_DEFAULT_HAIKU_MODELdeepseek-v4-flashexportCLAUDE_CODE_SUBAGENT_MODELdeepseek-v4-flash2.2 智谱 GLM官方接入文档https://docs.bigmodel.cn/cn/guide/coding/claude_code兼容端点https://open.bigmodel.cn/api/anthropic提供模型glm-4-7日常编码主力、glm-4-5-air轻量协议支持原生 Anthropic Messages API 兼容提供三个模型槽位的自动映射价格按 Token 计费为主也有编程套餐类订阅模式具体见官方定价页官方接入示例exportANTHROPIC_BASE_URLhttps://open.bigmodel.cn/api/anthropicexportANTHROPIC_AUTH_TOKEN你的 GLM API KeyexportANTHROPIC_MODELglm-4-7exportANTHROPIC_DEFAULT_SONNET_MODELglm-4-7exportANTHROPIC_DEFAULT_OPUS_MODELglm-4-72.3 阿里通义千问官方接入文档https://help.aliyun.com/zh/model-studio/developer-reference/claude-code端点形式OpenAI 兼容端点https://dashscope.aliyuncs.com/compatible-mode/v1——不是 Anthropic 兼容需要额外配置提供模型qwen3-coder-plus、qwen3-7-plus、qwen-coder等价格按 Token 计费1M tokens 输入 ¥2.4 / 输出 ¥9.6具体见阿里云百炼定价页官方接入示例exportANTHROPIC_BASE_URLhttps://dashscope.aliyuncs.com/compatible-mode/v1exportANTHROPIC_AUTH_TOKEN你的 DashScope API KeyexportANTHROPIC_MODELqwen3-coder-plus注意通义千问只提供 OpenAI 兼容协议因此接入 Claude Code 时需要额外配置一层协议转换通常通过 claude-code-router 等路由工具见 §3.2。其他三家提供的是 Anthropic 原生兼容无需转换。2.4 月之暗面 Kimi官方接入文档https://platform.moonshot.cn/docs/guide/agent-support兼容端点https://api.moonshot.cn/anthropic提供模型kimi-k2-thinking-turbo256K 上下文、kimi-k2-thinking协议支持原生 Anthropic Messages API 兼容价格按 Token 计费具体见月之暗面定价页特点长上下文场景表现突出2.5 模型能力对比参考 SWE-Bench Verified 2026/07 数据模型厂商SWE-Bench Verified上下文协议价格档位Claude Opus 4.8Anthropic88.6200KAnthropic 原生高闭源旗舰Claude Sonnet 5Anthropic85.2200KAnthropic 原生中高DeepSeek V4 ProDeepSeek80.61MAnthropic 兼容低DeepSeek V4 FlashDeepSeek79.01MAnthropic 兼容极低Qwen3-Coder-480B阿里开源 SOTA1MOpenAI 兼容中GLM-5.2智谱~75128KAnthropic 兼容中Kimi K2.6月之暗面~702MAnthropic 兼容中注SWE-Bench Verified 是衡量模型解决真实 GitHub Issue 能力的开源基准。闭源旗舰虽然分数高但价格通常是开源/国产模型的 5-10 倍。表格数据为 2026 年 7 月公开发布的实测结果会随版本更新变动。3. 三种主流接入方式理解了原理和协议后我们来看三种具体的接入方式按上手难度从低到高排列。3.1 方式一环境变量直连最轻量原理直接修改 shell 环境变量重启终端运行claude。适用场景只用一种模型没有频繁切换需求。步骤以 macOS/Linux 为例# 1. 编辑 shell 配置文件vim~/.zshrc# 或 ~/.bashrc# 2. 末尾追加环境变量以 DeepSeek 为例exportANTHROPIC_BASE_URLhttps://api.deepseek.com/anthropicexportANTHROPIC_AUTH_TOKENsk-xxxxxxxxxxxxxxexportANTHROPIC_MODELdeepseek-v4-pro[1m]exportANTHROPIC_DEFAULT_HAIKU_MODELdeepseek-v4-flash# 3. 让配置生效source~/.zshrc# 4. 验证env|grepANTHROPIC优点零依赖、纯 shell、随时生效。缺点每次换模型要改环境变量、重新 source、可能忘记当前用的是哪个。3.2 方式二Shell 函数/别名轻量级切换原理把切换模型封装成 shell 函数需要哪个敲哪个。官方推荐做法来源腾讯云开发者社区 2026/02 实践# 在 ~/.zshrc 中定义多个切换函数kimi(){exportANTHROPIC_BASE_URLhttps://api.moonshot.cn/anthropicexportANTHROPIC_AUTH_TOKENsk-你的Kimi KeyexportANTHROPIC_MODELkimi-k2-thinking-turboexportANTHROPIC_DEFAULT_SONNET_MODELkimi-k2-thinkingexportANTHROPIC_DEFAULT_OPUS_MODELkimi-k2-thinkingecho✓ 已切换到 Kimi K2 Thinking}glm(){exportANTHROPIC_BASE_URLhttps://open.bigmodel.cn/api/anthropicexportANTHROPIC_AUTH_TOKENsk-你的GLM KeyexportANTHROPIC_MODELglm-4-7exportANTHROPIC_DEFAULT_SONNET_MODELglm-4-7exportANTHROPIC_DEFAULT_OPUS_MODELglm-4-7echo✓ 已切换到 GLM-4.7}ds(){exportANTHROPIC_BASE_URLhttps://api.deepseek.com/anthropicexportANTHROPIC_AUTH_TOKENsk-你的DeepSeek KeyexportANTHROPIC_MODELdeepseek-v4-pro[1m]exportANTHROPIC_DEFAULT_HAIKU_MODELdeepseek-v4-flashecho✓ 已切换到 DeepSeek V4 Pro}使用方法每次开新终端先敲ds或glm或kimi再运行claude。关键细节函数名本身不会启动 Claude Code它只是修改了当前 shell 的环境变量。要让它生效你必须在同一个终端窗口里继续运行claude。切换后重启终端或重开标签页是不必要的但新建窗口就要重新选一次。3.3 方式三路由工具重量级 多协议支持当接入OpenAI 兼容协议的服务如通义千问 DashScope时环境变量法就不够用了——因为 Claude Code 默认走 Anthropic 协议而 DashScope 提供的是 OpenAI 协议。这种情况需要一层协议转换器。社区提供了两个成熟的开源项目claude-code-routerGitHub:musistudio/claude-code-router—— 配置文件驱动可以同时挂载多个不同协议的端点claude-code-switchGitHub:foreveryh/claude-code-switch—— 命令行工具可以一键切换已配置好的路由以claude-code-router为例配置文件~/.claude-code-router/config.json看起来像这样{providers:{kimi:{baseURL:https://api.moonshot.cn/anthropic,model:kimi-k2-thinking-turbo},glm:{baseURL:https://open.bigmodel.cn/api/anthropic,model:glm-4-7},qwen:{baseURL:https://dashscope.aliyuncs.com/compatible-mode/v1,model:qwen3-coder-plus,transformer:openai-to-anthropic}}}使用时通过命令行参数指定 providerccr kimi# 启动 Claude Code路由到 Kimiccr glm# 启动 Claude Code路由到 GLMccr qwen# 启动 Claude Code路由到 Qwen自动做 OpenAI→Anthropic 协议转换优点支持 OpenAI 兼容协议的厂商、配置集中管理、切换方便。缺点多一层依赖、配置出错排查更难、协议转换可能有功能缺失。4. 配置时的常见问题与排查接入过程中最容易踩的坑按出现频率排序。4.1 配置改了但没生效症状改了~/.zshrc运行claude还是连着旧模型。原因终端没 source编辑完~/.zshrc后必须执行source ~/.zshrc或者重开终端。环境变量被覆盖某些 shell 主题如 oh-my-zsh 的 git 插件会重写PATH但不会影响 ANTHROPIC_*。如果你用 IDE如 VSCode的集成终端来跑claudeIDE 可能在启动时复用了不同的环境变量。Claude Code 配置目录Claude Code 还会在~/.claude/settings.json里存配置。环境变量优先级高于这个文件但如果文件里有显式的apiKey字段行为可能异常。排查命令# 1. 检查环境变量是否设置成功echo$ANTHROPIC_BASE_URLecho$ANTHROPIC_MODEL# 2. 完整列出所有 ANTHROPIC_ 开头的变量env|grep^ANTHROPIC_# 3. 查看 Claude Code 自身认为的配置cat~/.claude/settings.json4.2 连接被拒绝 / 401 错误症状运行claude报401 Unauthorized或Connection refused。原因与解决API Key 错误检查ANTHROPIC_AUTH_TOKEN是否和厂商控制台显示的一致注意不要把sk-前缀漏掉或多打。端点错误确认ANTHROPIC_BASE_URL是厂商提供的官方文档里的端点不是从第三方网站抄的旧版本。协议不匹配如果你试图用环境变量直连一个只支持 OpenAI 兼容的厂商Claude Code 发出的 Anthropic 协议请求会被对方拒绝。需要用 §3.3 的路由工具做协议转换。4.3 Sub-agent 用了错误的模型症状主对话用的是 DeepSeek V4 Pro但子代理莫名其妙用了别的模型。原因Claude Code 的 Sub-agent 会单独读ANTHROPIC_DEFAULT_HAIKU_MODEL或CLAUDE_CODE_SUBAGENT_MODEL。你只设置了ANTHROPIC_MODEL没设置子代理模型子代理就可能 fallback 到默认仍然是 Claude 原版。解决把 HAIKU 模型也显式设成你希望它用的比如deepseek-v4-flashexportANTHROPIC_DEFAULT_HAIKU_MODELdeepseek-v4-flashexportCLAUDE_CODE_SUBAGENT_MODELdeepseek-v4-flash4.4 切完模型后 Claude Code “失忆”症状切到新模型后Claude Code 似乎不记得之前的对话了。原因这不是 bug是设计。Anthropic 原版 Claude 与第三方模型之间不共享对话历史——因为对话状态存在客户端Claude Code 本地但每次新请求都会带上完整对话历史给模型。如果切换了模型新模型自然不知道之前发生了什么。解决如果需要跨模型保持上下文可以在切换前用/export命令把当前对话导出为 Markdown切换后用/import导入如果目标模型支持。5. 选型维度用什么判断该接哪个模型接入技术解决了但用哪个模型是另一个问题。这里给出四个客观维度不推荐具体厂商帮你建立自己的判断框架。5.1 维度一任务类型任务类型关键能力适合的模型特征日常 CRUD 编码代码补全、单元测试轻量、快、便宜复杂架构设计长推理、多步规划旗舰模型、长上下文中文文档生成中文润色中文优化深大型代码库重构100K 上下文1M 上下文窗口离线/隐私完全本地开源可自部署5.2 维度二成本结构各厂商定价模式不同大致分三类按 Token 计费用多少付多少学生党轻负载每月 ¥5-30。包月套餐固定月费、无限调用但通常有速率限制。免费额度新用户通常有首次赠送额度适合试用。建议学生党初次接触优先用按 Token 计费的厂商先小金额试水、确认体验符合预期再考虑包月套餐。5.3 维度三协议兼容性如果你的目标是用 Claude Code 跑国产模型先查厂商是否提供官方 Anthropic 兼容端点——只有兼容了§3.1 和 §3.2 的方法才能直接用。如果厂商只提供 OpenAI 兼容协议如 DashScope则需要 §3.3 的路由工具配置稍复杂。5.4 维度四上下文窗口场景建议上下文单文件改 Bug、补全32K-128K 够用整个项目级重构200K喂整个代码库 文档1M当前主流国产模型的上下文窗口都已经超过 128K1M 也已成为头部标配。上下文不是越大越好——窗口越大单次请求费用越高对短任务反而是浪费。结语这一篇是整个系列最技术向的一篇。我们讲了三件事机制层Claude Code 通过ANTHROPIC_BASE_URL/ANTHROPIC_AUTH_TOKEN/ANTHROPIC_MODEL三个环境变量决定调谁通过模型槽位机制决定哪种任务用哪种模型。协议层要无缝接入第三方厂商必须实现Anthropic Messages API 兼容端点。目前 DeepSeek、GLM、Kimi 都已经原生支持通义千问只支持 OpenAI 兼容需要路由工具做协议转换。实践层从轻量的环境变量法、到 Shell 函数切换、到路由工具三种方式覆盖从单模型用户到多协议多模型重度用户的不同需求。贯穿整个系列我们其实只讲了一件事AI 编程不是用工具而是建工作流。从 Vibe Coding 到 Agentic Engineering 到 SDD是范式的升级从直连 Anthropic 到接入国产模型到多模型组合是基础设施的选择。这两件事叠加起来才是你真正的AI 编程能力。参考资料Claude Code 官方文档https://docs.anthropic.com/en/docs/claude-codeDeepSeek 接入 Claude Code 官方文档https://api-docs.deepseek.com/zh-cn/quick_start/agent_integrations/claude_code智谱 GLM 接入 Claude Code 官方文档https://docs.bigmodel.cn/cn/guide/coding/claude_code月之暗面 Kimi 接入文档https://platform.moonshot.cn/docs/guide/agent-support阿里通义千问 DashScope 文档https://help.aliyun.com/zh/model-studioClaude Code 自定义端点配置实践腾讯云开发者社区 2026/02https://cloud.tencent.com/developer/article/2659150Custom API Endpoints for Claude Code, Cursor, Cline More (2026)https://ofox.ai/blog/cursor-claude-code-cline-custom-api-setup-2026Claude Code 兼容模型参考仓库https://github.com/Alorse/cc-compatible-modelsSWE-Bench Verified 代码能力评测榜单https://www.datalearner.com/leaderboards/category/codeClaude Code Router 开源项目https://github.com/musistudio/claude-code-router