Claude Code 接入第三方模型指南
[注:本文由AI根据实际操作流程整理并生成,作者人工审核修改后发布]
Claude Code 是 Anthropic 推出的命令行 AI 编程助手,默认使用 Claude 系列模型。但通过其环境变量配置,我们可以将它接入任何兼容 Anthropic Messages API 的第三方模型。本文介绍完整的配置流程。
原理
Claude Code 启动时会读取 ~/.claude/settings.json 中的 env 字段,将其作为环境变量注入运行时。我们只需修改 ANTHROPIC_BASE_URL 和 ANTHROPIC_AUTH_TOKEN,就能把请求指向第三方 API。
核心是 Anthropic Messages API 兼容协议——DeepSeek、阿里云百炼等平台都提供了兼容该协议的端点,Claude Code 无需修改即可直接对接。
关键环境变量
| 变量 | 说明 |
|---|---|
ANTHROPIC_BASE_URL |
API 端点地址,改为第三方服务地址 |
ANTHROPIC_AUTH_TOKEN |
API Key / Token |
ANTHROPIC_MODEL |
默认使用的模型名称 |
ANTHROPIC_DEFAULT_OPUS_MODEL |
Opus 级别模型 |
ANTHROPIC_DEFAULT_SONNET_MODEL |
Sonnet 级别模型 |
ANTHROPIC_DEFAULT_HAIKU_MODEL |
Haiku 级别模型 |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC |
设为 1 禁用非必要网络请求(建议开启) |
Claude Code 区分三个模型级别(Opus > Sonnet > Haiku),Fast/Think 模式走 Opus,普通模式走 Sonnet,轻量任务走 Haiku。如果第三方只提供一个模型,把三个值设成同一个即可。
绕过登录验证(必须)
Claude Code 启动时会检查你是否完成了 Anthropic 官方的登录引导,未完成则强制进入登录流程。使用第三方 API 时,需要手动跳过此检查。
编辑 ~/.claude.json(Windows 路径:C:\Users\<用户名>\.claude.json),添加或修改:
{
"hasCompletedOnboarding": true
}
如果该文件已有其他内容,只需确保 hasCompletedOnboarding 字段存在且为 true,不要覆盖其他字段。
做完这一步,Claude Code 就不会再要求登录 Anthropic 账号了。
接入 DeepSeek
DeepSeek 提供了原生的 Anthropic 兼容端点。
在 ~/.claude/settings.json 中配置:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "sk-你的DeepSeek-API-Key",
"ANTHROPIC_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash[1m]",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
}
}
获取 API Key:platform.deepseek.com
接入千问(阿里云百炼)
通过阿里云百炼平台的模型服务接入千问模型。
{
"env": {
"ANTHROPIC_BASE_URL": "https://token-plan.cn-beijing.maas.aliyuncs.com/apps/anthropic",
"ANTHROPIC_AUTH_TOKEN": "sk-你的千问Token",
"ANTHROPIC_MODEL": "qwen3.6-plus",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen3.6-plus",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen3.6-plus",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen3.6-plus"
}
}
获取 Token:阿里云百炼控制台 → 模型服务 → Anthropic 兼容接口。
多环境管理:cenv
如果你和我一样同时用多个模型,手动改 JSON 很烦。我写了一个小脚本 cenv,两步切换环境。
安装
第一步:创建脚本文件
touch ~/.claude/cenv
chmod +x ~/.claude/cenv
第二步:复制以下代码到 ~/.claude/cenv
#!/usr/bin/env bash
set -euo pipefail
CLAUDE_DIR="$HOME/.claude"
SETTINGS_FILE="$CLAUDE_DIR/settings.json"
list_envs() {
local current=""
if [[ -L "$SETTINGS_FILE" ]]; then
current=$(basename "$(readlink "$SETTINGS_FILE")")
fi
echo "可用环境:"
for f in "$CLAUDE_DIR"/claude-settings-*.json; do
[[ -f "$f" ]] || continue
local filename=$(basename "$f")
local name="${filename#claude-settings-}"
name="${name%.json}"
local marker=" "
[[ "$filename" == "$current" ]] && marker="* "
echo "${marker}${name}"
done
echo ""
echo "当前: ${current:-未设置}"
}
switch_env() {
local name="$1"
local target="$CLAUDE_DIR/claude-settings-${name}.json"
if [[ ! -f "$target" ]]; then
echo "错误: 环境 '$name' 不存在"
exit 1
fi
rm -f "$SETTINGS_FILE"
ln -s "$target" "$SETTINGS_FILE"
echo "已切换到: $name"
}
case "${1:-}" in
ls|list) list_envs ;;
use) switch_env "${2:?请指定环境名称}" ;;
*) echo "用法: cenv <ls|use <name>>" ;;
esac
第三步:将 ~/.claude 加入 PATH
在 ~/.zshrc 末尾添加(bash 用户改 ~/.bashrc):
export PATH="$HOME/.claude:$PATH"
**第四步:让zshrc生效
source ~/.zshrc`
目录结构示意
以上步骤完成后,你的 ~/.claude 目录应类似:
~/.claude/
├── cenv # 切换脚本
├── settings.json # 软链接 → 指向当前激活的配置
├── claude-settings-ds.json # DeepSeek 配置
├── claude-settings-qw.json # 千问配置
└── claude-settings-xxx.json # 未来新增的任何配置
# 还有一些别的自动生成的配置,不重要
使用
只有两条命令:
cenv ls # 列出所有环境,* 标注当前激活
cenv use qw # 切换到千问
切换后直接 claude 启动即可,不需要重启终端。
原理
cenv 做的事情非常简单:cenv use qw 执行时,它删除 settings.json,然后创建一个同名的软链接指向 claude-settings-qw.json。Claude Code 启动时无感读取,始终只认 settings.json,实际内容由软链接决定。
命名约定: cenv use xx 中的 xx 必须对应 claude-settings-xx.json 的文件名。例如:
cenv use ds → claude-settings-ds.json
cenv use qw → claude-settings-qw.json
cenv use qianfan → claude-settings-qianfan.json
cenv ls 会自动扫描 ~/.claude/ 下所有 claude-settings-*.json 文件并提取名称,所以新增模型配置时只需按 claude-settings-<名称>.json 命名放进去,脚本不用改。
注意事项
第三方 API 支持程度不一
不同厂商的 Anthropic 兼容实现深度不同,实际体验可能有差异。建议所有模型级别(Opus/Sonnet/Haiku)都指向同一个模型,避免行为不一致。
Token 消耗
Claude Code 是对话密集型工具,token 消耗较大。使用第三方模型前,确认账户额度充足。
非必要流量
建议开启 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: 1,避免 Claude Code 向 Anthropic 服务器发送遥测数据(在非官方 API 下这些请求会失败并产生错误日志)。
浙公网安备 33010602011771号