ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Claude Code 接入第三方模型省钱实战:从 DeepSeek 到 Qwen 配置指南

Claude Code 接入第三方模型省钱实战:从 DeepSeek 到 Qwen 配置指南 先交代一下背景我用 Claude Code 当日常编程助手有一阵子了默认官方配置确实聪明代码理解、多文件重构、终端命令执行都很顺手。但月底一看 API 账单肉疼。后来我把模型配置从只用官方模型改成了按任务混搭第三方模型实测下来日常编码体验没有明显滑坡成本直接降了一个数量级。这篇文章就是把我的完整配置方案、切换工具、实测数据和踩坑记录整理出来给同样在用 Claude Code、想控制成本又不想牺牲太多智能度的朋友作参考。1. 先算一笔账Claude Code 的聪明和贵是两码事1.1 默认配置的钱到底花在哪了Claude Code 本质上是一个跑在终端里的 AI 编程代理它的大脑中枢来自 Anthropic 的模型默认走的是 Claude 官方 API 或订阅额度。对于重度使用者来说钱主要烧在三个地方。第一是上下文成本。Claude Code 的会话往往会携带大量上下文每次改动都可能把整个文件甚至整个项目结构重新发给模型。上下文越长token 消耗越大哪怕你只改了一行代码也可能触发几万 token 的输入。第二是多轮工具调用。它要自己读文件、搜索代码、执行终端命令这些操作背后全是模型调用一次任务可能要来回十几轮。第三是输出长度。生成 diff、写测试、重构代码时输出 token 常常比输入更贵而 Claude 系列的输出单价本来就高。我举个实际例子。有一次我让它把一个 Python 项目的命令行参数解析从 argparse 迁到 click项目不算大但涉及 8 个模块的引用关系。Claude Code 总共跑了 26 次模型调用累计消耗了约 46 万输入 token 和 7 万输出 token。按当时 Sonnet 的官方价格粗算单次任务大概花了 1.5 美元左右。这种事一个月来个几十回账单很难看。1.2 聪明又省钱的配置思路是什么我的核心思路不是抛弃 Anthropic而是做任务分流。复杂架构设计、跨文件重构、模糊需求理解这些重活还是用官方模型因为它的工具调用成功率和指令遵循能力确实最稳。但日常答疑、代码解释、生成单文件脚本、写注释、做简单修改这类轻活完全可以交给第三方模型。现在的 DeepSeek、Qwen、GLM 这些模型在代码生成和中文理解上已经相当能打而价格往往只有官方模型的十分之一甚至更低。把它们通过 Anthropic 兼容的 API 接进 Claude Code等于把贵但万能的模型降级成便宜但够用的模型。这套配置的核心就是两句话用环境变量指定 API 地址和密钥用配置工具实现不同模型之间的快速切换。想读懂后面的实操你先记住一个结论Claude Code 对模型来源并不敏感它只认两样东西——API 地址和认证 token。谁来响应你的请求取决于你把地址指向谁。2. 为什么第三方模型能直接替换官方模型接入原理2.1 两个环境变量搞定了所有事Claude Code 在启动时会读取环境变量来定位 API 服务。最关键的是ANTHROPIC_BASE_URL它决定请求发往哪里以及ANTHROPIC_AUTH_TOKEN它决定请求的身份凭证。默认情况下前者指向 Anthropic 官方 API后者用的是你的 Claude 账号 key 或订阅 token。但你完全可以把它改成任何第三方模型的地址和 key。改完之后 Claude Code 不会在意响应你的是谁家的模型它只按照 Anthropic 的消息格式发请求、收响应。在 bash 或 zsh 里设置也很简单export ANTHROPIC_BASE_URLhttps://你的第三方API地址 export ANTHROPIC_AUTH_TOKEN你的第三方API密钥我一般还会加上ANTHROPIC_MODEL来指定模型名比如export ANTHROPIC_MODELdeepseek-chat这样设置之后你在终端里正常敲claudeClaude Code 的交互界面、文件读写、终端执行能力都还在只是背后的模型换掉了。2.2 兼容端点与工具调用支持是个关键门槛不过有个地方必须注意不是所有模型都能直接替换。Claude Code 依赖模型具备工具调用能力。它要让模型决定我先读哪个文件我要不要执行这个命令该给用户展示哪些信息这些决策是通过 Anthropic 的 tool use 格式来完成的。如果第三方模型提供的 API 只是 OpenAI 兼容格式而没有 Anthropic 兼容的端点Claude Code 就没法和它对话。所以你在选择第三方服务时第一件事不是看模型多强而是看它有没有提供 Anthropic 兼容的接入方式。实测下来DeepSeek 官方的 Anthropic 兼容端点、Qwen 系列通过兼容网关、GLM 的服务基本都能在 Claude Code 里跑通工具调用。LM Studio 这类本地推理工具也能通过兼容模式模拟 Anthropic 端点后面我会单独讲。3. 实操把 DeepSeek、Qwen、GLM 接进 Claude Code3.1 最直接的临时方案环境变量裸配如果你只想先试水最快的方式就是临时设置环境变量后启动 Claude Code。以 DeepSeek 为例流程是这样的。先确认你有对应的 API key。然后在终端里执行export ANTHROPIC_BASE_URLhttps://api.deepseek.com/anthropic export ANTHROPIC_AUTH_TOKENsk-你的key export ANTHROPIC_MODELdeepseek-chat claude如果你用的是 zsh可以把这三行加到~/.zshrc里用 bash 的话就加到~/.bashrc。但我不建议把密钥直接写进 shell 配置文件更稳妥的做法是用 direnv 之类工具按目录加载环境变量或者直接把密钥放在密钥管理服务里引用。如果你在用 VSCode 的 Claude Code 插件本质上也是改环境变量。你可以在 VSCode 的终端里执行同样的 export 命令或者通过插件设置项配置环境变量。IDEA 也一样在运行配置里追加环境变量即可。核心逻辑不变Claude Code 的每个运行环境读到的都是同一组环境变量。3.2 cc switch让多套模型配置随手切换裸配的问题在于你只有一套环境变量切换模型要反复改配置、重开终端非常烦人。我实测下来真正好用的是cc switch这个社区配置工具它把多套模型供应商配置做成可切换的 profile类似于 Node 版本管理器的体验。cc switch 的核心逻辑很简单它会替你管理环境变量配置。你预先定义好几个 profile比如official官方、deepseek、qwen、glm然后执行切换命令它自动把对应的环境变量导出或写入配置文件你再启动 Claude Code 时就是目标模型了。安装方式因系统而异macOS 和 Linux 上有对应的包管理安装方式Windows 下也有可用的发行版。装好后核心操作一般是通过交互界面配置 providers。不同版本的功能入口略有差异但大体操作逻辑是新增 provider填 API 地址、密钥和模型名然后激活。以我常用的配置为例{ providers: [ { name: deepseek, api_base: https://api.deepseek.com/anthropic, api_key: sk-your-deepseek-key, model: deepseek-chat }, { name: qwen, api_base: https://dashscope.aliyuncs.com/api/v2/apps/claude-code-proxy, api_key: sk-your-dashscope-key, model: qwen-plus }, { name: glm, api_base: https://open.bigmodel.cn/api/anthropic, api_key: your-zi-api-key, model: glm-4.6 } ] }需要说明的是各家供应商的兼容端点地址会更新这里只是我当时的实际配置示例你接入时以服务商最新文档为准。切换的时候我习惯开一个独立的配置后重启终端里的 Claude Code 进程避免旧会话还挂着之前的模型状态。3.3 配合 IDE 时的注意事项VSCode 里跑 Claude Code 有个坑插件可能和终端的 shell 环境不是同一套。有时候你在终端~/.zshrc里 export 好了VSCode 里的插件却没有读到。这不是配置错了而是 VSCode 的 GUI 应用和终端进程的环境变量加载时机不同。我的建议是优先在 Claude Code 插件自己的设置项里配置环境变量或者在启动 IDE 之前先确认终端里echo $ANTHROPIC_BASE_URL已经输出正确值再从这个终端启动 IDE。IDEA 里配置同理在运行配置的 Environment variables 里添加那三个变量比依赖 shell 配置要可靠得多。4. 我用下来的实际表现每个模型适合什么样的活4.1 不同模型的实测感受我连续两周在真实项目里混用多个模型主要测了三类任务写单文件脚本、改跨模块代码、解释别人写的老项目。下面是我的主观体验不代表绝对排名只代表使用感受。DeepSeek 给我的印象是性价比标杆。代码生成速度快单文件脚本、单元测试、小工具函数这些任务基本不需要返工。它的 diff 生成在 Claude Code 里兼容得比较好改动能直接应用。但在非常复杂的多文件重构场景它的判断偶尔会局限于局部忘记全局约束需要我提示一下上下文。Qwen 系列的长上下文表现让我比较放心。处理一个大仓库里的跨文件查询时它能记住前面讨论过的模块关系而不跑偏。中文注释和文档生成的质量是我测的几个模型里最好的适合做代码解释和需求分析。不足之处是某些边缘 case 的 tool call 决策比较保守明明可以直接执行的终端命令它会先问一句。GLM 在逻辑推理类任务上有惊喜。让它从日志里定位 bug 原因、推演执行顺序、分析条件判断分支效果不错。响应速度和价格也都很友好。不过在生成很长代码块时偶尔会出现格式上的小瑕疵比如缩进或者括号不完整需要我手动修正。4.2 我的贵贱搭配组合策略用的时间长了我总结出一套比较稳定的分配逻辑。简单查询、代码解释、格式调整、生成测试数据、写注释、按模板生成配置全走 DeepSeek 或 Qwen成本可以忽略不计。涉及业务逻辑修改、API 调用链路调整、需要同时读懂多个文件的场景优先试 Qwen它的长上下文优势会减少来回传文件的次数。架构设计、大规模重构、移植项目、需求极其模糊需要反复澄清的任务切回官方模型。这类任务一次做对比多次返工省钱得多。实际跑下来我每个月的模型账单里第三方模型贡献了约 90% 的调用量但费用占比只有总成本的两三成。省下来的预算换来的是官方模型只在真正需要时才动用。5. 本地模型介入LM Studio / Ollama 能做些什么5.1 LM Studio 接入 Claude Code 的姿势热搜里有人问 Claude Code 怎么调用 LM Studio 的本地模型我实测过确实可行。LM Studio 内置了一个本地 HTTP 服务可以模拟 Anthropic 兼容的响应格式。你只要在 LM Studio 里加载好模型打开 Local Server确认端口号然后在终端里配置export ANTHROPIC_BASE_URLhttp://localhost:1234 # 以你 LM Studio 实际端口为准 export ANTHROPIC_AUTH_TOKENlm-studio # 本地服务通常不校验 token export ANTHROPIC_MODELyour-local-model-name claude这里要注意的是Claude Code 依赖工具调用而本地小模型对 tool use 格式的支持参差不齐。模型过小或者不支持 Anthropic 工具调用格式的时候Claude Code 可能陷入报错→重试→再报错的循环。至于 Ollama它本身提供的是 OpenAI 兼容接口不能直接被 Claude Code 识别通常需要一个转换层把请求转成 Anthropic 格式才能接进来。如果你想折腾本地模型我反而建议优先用 LM Studio因为它对 Anthropic 兼容的支持更直接。5.2 本地模型的价值边界什么时候该用什么时候别用本地模型最大的优势是免费和私密。代码不离开本机没有 token 费用适合处理敏感项目里的简单问答、代码解释、日志分析。网络断了也能用适合在无法访问外部 API 的环境里做轻量辅助。但它的边界也很明显。上下文窗口有限处理大文件时经常截断我试过让它分析一个超过上下文长度的模块它做到一半就忘了前面的内容。推理速度受本地硬件限制中大型模型在 CPU 或低端 GPU 上跑一次响应要等几十秒交互体验远不如云端 API。更重要的是本地模型的 tool call 能力普遍弱于云端模型复杂任务失败率偏高。所以我的结论是本地模型适合做兜底工具和隐私保护工具不适合当主力。日常主力还是云端第三方 API性价比最高。6. 接入后我踩过的坑和完整排查链路6.1 常见错误清单配置第三方模型这条路我走的坑不少先列几个最容易遇到的。401 认证失败是最常见的通常不是密钥错了而是ANTHROPIC_AUTH_TOKEN被设置成了错误的变量名或者供应商要求 token 带特定前缀。很多服务商的密钥带sk-前缀有些又要去掉前缀只保留明文这个必须以供应商文档为准。模型不存在model not found一般是ANTHROPIC_MODEL填写的模型名和供应商实际提供的名字不一致。比如同一个大版本下有 chat 和 reasoner 两个名字填错一个就无法启动。响应超时或连接错误优先查ANTHROPIC_BASE_URL是否可访问。多数情况是供应商限流或服务区延迟但也有小概率是兼容端点的路径写错了多加了一个斜杠都可能出问题。工具调用失败的表现很有意思模型能回答你但在 Claude Code 里表现为卡住或者每轮都只给出文本建议而不采取行动。这通常代表这个模型对 Anthropic 工具调用格式的兼容层做得不够好。遇到这种情况换模型比换配置更快。6.2 我的三步排查法我把排查链路压缩成三步遇到问题照着走基本能定位到根因。第一步用 curl 直接测 API。不通过 Claude Code先验证地址、密钥、模型名是否有效curl -X POST 你的BASE_URL/v1/messages \ -H x-api-key: 你的KEY \ -H content-type: application/json \ -H anthropic-version: 2023-06-01 \ -d {model:你的模型名,max_tokens:64,messages:[{role:user,content:ping}]}这一步通了说明 API 本身没问题问题在 Claude Code 的配置层。不通就检查密钥、模型名、路径。第二步核对环境变量是否真的生效。在启动 Claude Code 的同一个终端里执行echo $ANTHROPIC_BASE_URL echo $ANTHROPIC_MODEL如果你设了但没输出说明 export 写错了位置或者这个终端不是配置所在的 shell。第三步最小化启动测试。用一个已经验证过能用的最简配置启动 Claude Code比如 DeepSeek 的默认模型排除是模型兼容问题还是工具配置问题。如果最简配置能用再逐步切到你怀疑的目标模型看哪一步触发报错。这个链路我用了很多次能解决九成以上的配置问题。剩下的一成是人际关系问题了——不对是供应商自身的服务变动等官方公告就行。最后分享一个小技巧我在切换 profile 之后习惯先让 Claude Code 跑一条简单的命令验证链路比如git status。如果它能正常执行并返回结果说明模型、工具调用、终端权限全链路都通了这时候再开始正式任务免得白烧 token。这套先验证再干活的习惯帮我省过不少冤枉钱你也可以试试。
返回列表