在 Claude Code 中使用 BigModel.io
用 ANTHROPIC_BASE_URL 和 ANTHROPIC_AUTH_TOKEN 把 Claude Code 接到 BigModel.io 的 Anthropic 兼容接口,选择 GLM、Kimi、DeepSeek、MiniMax 等模型,并排查常见报错。
Claude Code 使用 Anthropic Messages 协议。BigModel.io 在 https://bigmodel.io/v1/messages 提供该接口,所以只需填写网关根地址,Claude Code 会自己拼上 /v1/messages。OpenAI 协议的代码则使用 https://bigmodel.io/v1。
| 配置项 | 值 |
|---|---|
ANTHROPIC_BASE_URL |
https://bigmodel.io(不要带 /v1) |
ANTHROPIC_AUTH_TOKEN |
你的 BigModel.io API Key(sk-...),以 Authorization: Bearer 发送 |
ANTHROPIC_MODEL |
模型目录中的模型 ID |
ANTHROPIC_DEFAULT_HAIKU_MODEL |
给后台任务用的便宜模型 |
Anthropic 明确表示:通过网关使用非 Claude 模型不在 Claude Code 的官方支持范围内。GLM、Kimi、DeepSeek、MiniMax 经 BigModel.io 可以正常使用,但这些模型特有的问题 Anthropic 不负责,长任务效果也因模型而异。
#开始之前
- 安装 Claude Code,确认
claude --version可以运行。 - 在 API Keys 创建 Key。Key 所在分组决定能调用哪些模型和端点。
- 确认分组提供 Messages 端点。GLM、DeepSeek 这类"仅 Chat Completions"分组访问
/v1/messages会返回 404,这种 Key 请改用 OpenCode、Cline 等 OpenAI 协议工具。
下面的请求应返回一句简短回复。把 glm-5.3 换成你打算使用的模型:
curl https://bigmodel.io/v1/messages \
-H "Authorization: Bearer $BIGMODEL_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{"model":"glm-5.3","max_tokens":64,"messages":[{"role":"user","content":"ping"}]}'#用环境变量配置
只对当前终端生效:
export ANTHROPIC_BASE_URL="https://bigmodel.io"
export ANTHROPIC_AUTH_TOKEN="${BIGMODEL_API_KEY:?请先设置 BIGMODEL_API_KEY}"
export ANTHROPIC_MODEL="glm-5.3"
# Claude Code 还会运行一些后台小任务,也要指向你能调用的模型。
export ANTHROPIC_DEFAULT_HAIKU_MODEL="glm-5.3-flash"
claude请使用 ANTHROPIC_AUTH_TOKEN,不要用 ANTHROPIC_API_KEY。后者以 x-api-key 发送,交互模式下还要手动批准一次;两者同时存在时 Claude Code 会提示认证冲突,执行 unset ANTHROPIC_API_KEY 即可。
#在 settings.json 中配置
想长期生效,可以在 ~/.claude/settings.json(所有项目)或 .claude/settings.local.json(单个项目,不提交到仓库)中加入 env:
{
"env": {
"ANTHROPIC_BASE_URL": "https://bigmodel.io",
"ANTHROPIC_AUTH_TOKEN": "sk-your-bigmodel-key",
"ANTHROPIC_MODEL": "glm-5.3",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-5.3",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-5.3",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-5.3-flash"
}
}不要把 Key 写进会提交的 .claude/settings.json。配置文件里的值优先于终端里的 export。/model 中的 opus、sonnet、haiku 别名分别对应三个 ANTHROPIC_DEFAULT_*_MODEL,haiku 槽位还用于后台任务,所以三个都要设成你能调用的模型。ANTHROPIC_SMALL_FAST_MODEL 已弃用。
#VS Code 扩展
VS Code 里的 Claude Code 扩展读不到你在终端 export 的变量。可以任选一种:
- 把上面的
env写进~/.claude/settings.json,扩展和 CLI 共用这份配置(推荐); - 在 VS Code 设置的
claudeCode.environmentVariables中添加这些变量。
同时勾选 Disable Login Prompt(claudeCode.disableLoginPrompt),避免扩展要求登录 claude.ai。
Claude Desktop 会忽略 ANTHROPIC_BASE_URL,无法用这种方式接入 BigModel.io。
#选择模型
模型 ID 全小写并保留小数点(deepseek-v4-pro,不是 DeepSeek-V4-Pro)。请从模型页复制 ID;能否调用取决于 Key 所在分组。
| 系列 | ANTHROPIC_MODEL 示例 |
说明 |
|---|---|---|
| GLM(智谱) | glm-5.3 |
glm-5.3-flash 适合 haiku 槽位 |
| Kimi(月之暗面) | kimi-k3 |
|
| DeepSeek | deepseek-v4-pro |
deepseek-v4-flash 更便宜、更快 |
| MiniMax | minimax-m3 |
会话内用 /model glm-5.3 切换,或启动时用 claude --model kimi-k3。正式跑长任务前先用小任务试一下。
#非 Claude 模型的上下文窗口
Claude Code 不认识这些模型 ID,会提示模型 "isn't recognized",并按 200k token 上下文处理。请把 CLAUDE_CODE_MAX_CONTEXT_TOKENS 设为模型页上的真实上下文窗口,让自动压缩在正确的时机触发:
export CLAUDE_CODE_MAX_CONTEXT_TOKENS=128000 # 换成该模型的上下文窗口不要开启 CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY:它只保留 ID 中含 claude 或 anthropic 的模型,BigModel.io 的模型不会出现。请用 ANTHROPIC_MODEL 和别名变量指定模型。
#其他常用变量
| 变量 | 什么时候设置 |
|---|---|
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 |
出现 400 "Extra inputs are not permitted" 或 anthropic-beta 请求头被拒 |
API_TIMEOUT_MS |
长请求超时;默认 600000(10 分钟) |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 |
可选,关闭发往 Anthropic 的非必要流量 |
#验证配置
在 Claude Code 中运行 /status,应显示 Anthropic base URL 为 https://bigmodel.io,并有一行来自环境变量或配置文件的 auth token。再发一个提示词,在用量页确认出现这条请求。只看到模型回复并不能证明走的是正确地址。
#常见问题排查
403 permission_error:This group does not allow /v1/messages dispatch。 Key 所在分组没有开放 Anthropic Messages 接口。请换一个支持该接口的分组的 Key,或者改用 OpenAI 兼容接口接入(OpenCode、Cline)。不确定用哪个分组可以联系支持。
404 not_found_error:... platform only supports /v1/chat/completions; /v1/messages is not available。 Key 属于仅 Chat Completions 的分组(GLM 或 DeepSeek 平台)。换一个支持 Messages 的分组的 Key,或改用 OpenAI 协议工具。
所有请求都返回 404。 检查 ANTHROPIC_BASE_URL。填成 https://bigmodel.io/v1 时,客户端会请求 /v1/v1/messages,去掉 /v1 即可。
401 INVALID_API_KEY 或 API_KEY_REQUIRED。 token 缺失或填错,或 Claude Code 仍在使用 claude.ai 登录。用 /status 检查,确认启动 claude 的环境里有 ANTHROPIC_AUTH_TOKEN,并删除 ANTHROPIC_API_KEY。
503 api_error:No available accounts: no available accounts supporting model: ...。 模型 ID 拼错,或 Key 所在分组不提供该模型。用 curl https://bigmodel.io/v1/models -H "Authorization: Bearer $BIGMODEL_API_KEY" 查看这个 Key 能调用的模型。
400 "Extra inputs are not permitted"。 Claude Code 发送了该模型链路不接受的 beta 字段或 anthropic-beta 请求头。设置 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 后重启。
提示 "isn't recognized · context assumed to be 200k tokens"。 非 Claude 模型都会这样,按上文设置 CLAUDE_CODE_MAX_CONTEXT_TOKENS。
主对话正常,但标题、摘要或子代理失败。 后台任务使用 haiku 槽位,把 ANTHROPIC_DEFAULT_HAIKU_MODEL 设为你能调用的模型。
403 INSUFFICIENT_BALANCE 或 429 API_KEY_QUOTA_EXHAUSTED。 到充值页充值,或在 API Keys 提高 Key 额度。429 rate_limit_exceeded 且提示类似"api key 5小时限额已用完",说明 Key 的消费窗口已用完,窗口结束后自动恢复。
409 malformed_session_state。 对话历史里有模型无法接受的思考块或工具 ID,常见于会话中途切换模型。用 /clear 开一个新会话。
配置好像没生效。 配置文件优先于终端 export,项目里的 .claude/settings.json 或 .claude/settings.local.json 也可能覆盖用户级配置。运行 env | grep ANTHROPIC,检查项目配置文件,修改后重启 Claude Code。
#相关文档
更新于 · 以 Markdown 查看