给 Claude Code 一键接国产模型的懒人方案

2026-06-17

很多人知道 Claude Code 能接国产模型,但每次都要手动改一长串环境变量、记不住端点、切回官方又得改回来——这篇就是把”切换”这件事压缩成一行命令。原理和手动接入完全一样,只是用脚本、别名(alias)把繁琐步骤封装起来,让你像换挡一样在 DeepSeek、Kimi、GLM、官方之间秒切。想先搞懂底层接入机制,可以先看 Claude Code 接入国产模型完整教程,本文默认你已经能手动跑通。

原理:一键的本质还是”换后端”

所谓”一键接国产模型”,本质没有魔法,就是把 Claude Code 指向的模型后端从官方换成一个兼容 Anthropic 协议的国产中转地址。

Claude Code 读两个关键环境变量决定”找谁要答案”:

  • ANTHROPIC_BASE_URL——请求发往哪个 API 端点;
  • ANTHROPIC_AUTH_TOKEN(或对应的 key 变量)——用哪个密钥鉴权。

手动接入时,你每次都在终端里 export 这两个值。一键方案做的事只有一件:把这组 export 预先写好,封装成一个名字,敲那个名字就等于一次性把变量全设对。所以无论用脚本、alias 还是中转服务,机制不变——变的只是”谁来帮你打这串字”

机制不变这点很重要:国产模型的具体端点 URL、模型名、是否需要协议转换会随官方调整,这些参数一律以官方文档为准,但”换后端”这个套路是长青的,配置框架可以一直复用。

懒人方案三选一

方案 A:shell alias 一行切换(最轻)

把每个模型写成一个别名,加进 ~/.bashrc~/.zshrc

# 切到 DeepSeek
alias cc-ds='export ANTHROPIC_BASE_URL="<DeepSeek兼容端点,以官方为准>" && export ANTHROPIC_AUTH_TOKEN="<你的key>" && claude'

# 切到 Kimi
alias cc-kimi='export ANTHROPIC_BASE_URL="<Kimi兼容端点,以官方为准>" && export ANTHROPIC_AUTH_TOKEN="<你的key>" && claude'

# 切回官方
alias cc-official='unset ANTHROPIC_BASE_URL && claude'

改完执行 source ~/.zshrc 生效。以后想用 DeepSeek 就敲 cc-ds,想用 Kimicc-kimi优点是零依赖、改一个文件搞定;缺点是 key 明文写在配置里,多人共用机器要注意权限。

Windows 用户怎么写这套 alias:bash 的 exportalias 在 PowerShell 里没有,得换成函数:

function cc-ds {
    $env:ANTHROPIC_BASE_URL = "<DeepSeek兼容端点,以官方为准>"
    $env:ANTHROPIC_AUTH_TOKEN = "<你的key>"
    claude
}

把它写进 PowerShell Profile(不知道路径就先跑 $PROFILE 看输出),保存后 . $PROFILE 重新加载。要注意两点:一是 $env: 设置只对当前会话生效,关掉终端窗口就没了,所以必须写进 Profile 而不是临时在命令行敲;二是如果你同时用 WSL 里的 bash 和 Windows 原生 PowerShell 跑 Claude Code,两边的环境变量是完全隔离的,alias 要各写一份,别以为配一边两边都能用

方案 B:切换脚本(适合管多套配置)

写一个小脚本 ccswitch.sh,把各家配置存成函数,按参数切:

#!/usr/bin/env bash
case "$1" in
  ds)   export ANTHROPIC_BASE_URL="<DeepSeek端点>";  export ANTHROPIC_AUTH_TOKEN="$DS_KEY" ;;
  kimi) export ANTHROPIC_BASE_URL="<Kimi端点>";      export ANTHROPIC_AUTH_TOKEN="$KIMI_KEY" ;;
  glm)  export ANTHROPIC_BASE_URL="<GLM端点>";       export ANTHROPIC_AUTH_TOKEN="$GLM_KEY" ;;
  off)  unset ANTHROPIC_BASE_URL ;;
  *)    echo "用法: source ccswitch.sh [ds|kimi|glm|off]"; return 1 ;;
esac
echo "已切换到: ${1}"

source ccswitch.sh ds 调用。把 key 放进单独的环境文件(如 ~/.cc_keys,权限设 600)再 source 进来,脚本本身就不含密钥,能安全地丢进 dotfiles 仓库。

方案 C:第三方中转封装(最省心)

如果你连端点都不想记,可以用社区的中转/代理工具,它在本地起一个统一入口,把 Anthropic 协议的请求按你的选择转发到不同国产模型。Claude Code 只认一个固定的本地 BASE_URL,模型在中转那头切

这类工具优点是切换有界面、还能做用量统计;缺点是多了一层依赖,请求要经过它,对稳定性和数据流向敏感的团队需自行评估。具体工具名和配置方式以其官方文档为准,本文不展开推荐。

各模型一套配置:怎么管才不乱

接多家时,最容易乱的是 key 和端点对不上。给一个清晰的归类表:

你想要的效果推荐方案key 放哪
偶尔切,机器自己用alias(方案 A)直接写进 rc 文件
常切、多套环境、要进 git脚本(方案 B)单独 env 文件,权限 600
想要界面/统计,不想记端点中转(方案 C)中转工具的配置里

无论哪种,坚持三条原则就不乱:

  1. 一个模型一组变量BASE_URLAUTH_TOKEN 永远成对出现,切换时一起改,避免新端点配旧 key。
  2. key 与脚本分离:密钥单独存、设最小权限,脚本/alias 只引用变量名。
  3. 留一个”切回官方”的开关unset ANTHROPIC_BASE_URL 即可回官方,排查问题时能快速对照。

进阶:不同项目自动绑定不同模型

真到多项目并行的阶段,光靠手动敲命令会漏切——你在 A 项目里习惯用便宜的模型跑体力活,切到 B 项目忘了切回官方,结果拿国产模型去啃一个复杂重构,工具调用频繁失败还不知道哪出的问题。这时候更省心的做法是让环境变量跟着目录自动生效,而不是跟着你的记性。

具体用 direnv 就能做到:在项目根目录建一个 .envrc 文件,写上这个项目要用的模型配置:

# 项目根目录/.envrc
export ANTHROPIC_BASE_URL="<该项目常用的端点,以官方为准>"
export ANTHROPIC_AUTH_TOKEN="$DS_KEY"

第一次进这个目录,终端会提示 direnv: error .envrc is blocked,执行一次 direnv allow 授权即可。之后每次 cd 进这个目录,变量自动加载;cd 出去,变量自动失效(回到你 shell 里默认的官方配置或空值)。这比 alias 更进一步的地方在于:你不需要记得切,目录本身就是开关,尤其适合”这个项目固定用 DeepSeek 图便宜,那个项目固定用官方保质量”的场景。唯一要注意的是 .envrc 里含 key,务必加进 .gitignore,别跟着项目一起提交上仓库。

怎么验证切换成功

配完别急着干活,先确认真的换到了国产后端:

  • 看变量echo $ANTHROPIC_BASE_URL,输出是国产端点而非空(空=走官方)。
  • 发一句测试:让它做个简单任务,回复正常且无鉴权报错,说明端点+key 都对。
  • 故意切回再对比:用 cc-official 切回官方跑同一句,能明显感到模型行为差异,就证明切换真生效了。

常见坑与排查

报错/现象可能原因解法
401 / invalid api keykey 与端点不匹配,或 key 变量名写错确认该端点用的是对应家的 key;检查是 ANTHROPIC_AUTH_TOKEN 还是 ANTHROPIC_API_KEY,以官方为准
改了 alias 不生效没重新 sourcesource ~/.zshrc,或开新终端
切了还是走官方BASE_URL 没 export 成功,或脚本用了 bash 执行而非 source切换脚本必须 source 运行,子进程 export 不影响当前 shell
404 / 协议不兼容该模型未走 Anthropic 兼容端点用官方提供的”Anthropic 兼容”地址,或加一层协议转换,以官方文档为准
工具调用/长上下文异常国产模型对 Claude Code 的工具协议支持程度不一换支持度更好的模型,或退回官方处理复杂任务
PowerShell 里配了没生效用了临时命令行 $env: 而不是写进 Profile,或者 WSL 和 Windows 原生终端环境变量不通确认改的是 $PROFILE 对应文件;WSL 和 Windows 原生各自要单独配一份
direnv 提示 .envrc is blocked首次进目录或 .envrc 内容改过,direnv 出于安全没有自动信任执行一次 direnv allow
换了模型后回复变得啰嗦或跑题不是配置问题,是模型本身风格/能力差异这属于模型选择而非接入问题,按任务复杂度换模型,别在配置上排查

常见问题

问:一键方案和手动接入有区别吗,会更快或更省钱吗? 答:没有性能或费用区别。它只是把手动 export 的步骤封装成一个命令,省的是你敲字和记忆的时间,请求路径和计费跟手动完全一样。

问:alias 和脚本,新手该选哪个? 答:只接一两家、自己一台机器,用 alias 最省事。要管三家以上、配置想同步到多台机器或进 git,用脚本配单独的 key 文件更安全。

问:把 key 写进 alias 安全吗? 答:自用机器可以接受,但别把含 key 的 rc 文件提交到公开仓库。更稳妥的做法是 key 单独存一个权限 600 的文件,脚本只引用变量名。

问:切到国产模型后 Claude Code 的功能会缩水吗? 答:基础对话和代码编辑通常没问题,但工具调用、超长上下文等高级能力,各家国产模型支持程度不一。建议把复杂工程任务留给官方或支持度好的模型,简单任务用国产省成本。

问:端点和模型名我从哪查?为什么本文不直接给? 答:这些参数会随官方调整,写死容易过期误导。一律去对应模型的官方文档查”Anthropic 兼容接入”一节,本文只保证”换后端”这套框架长期有效。

问:多个项目同时开着终端,会不会互相串了模型? 答:如果你用的是方案 A/B 那种手动 export,同一个终端会话里最后一次切换会覆盖前一次,容易串。用不同终端标签页各自切换、互不影响;真怕串就上 direnv,让配置跟目录绑定,进哪个项目自动用哪套,不依赖你记得切没切。

问:要不要给团队每个人都配一份一键脚本? 答:值得,但 key 别写进共享脚本里。做法是脚本本身(选择逻辑)进 git 共享,key 各自存在自己机器上权限 600 的独立文件里,脚本运行时读取本地文件而不是硬编码,这样脚本可以放心公开评审、迭代,密钥不会跟着扩散。

👉 看看我们的 AI 编程实战体系课,或逛 AI 编程教程大全 把基本功打扎实。

想系统学会用 AI?报名体系课或加入会员,照着学、照着用。