更新于 2026-04-14
ANTHROPIC_BASE_URL 配置与排错
ANTHROPIC_BASE_URL 是 Anthropic 官方 SDK 与 Claude Code 共享的「上游地址」环境变量。本文讲它是什么、各系统怎么设、哪些错误值会导致 404/ETIMEDOUT。
这个变量是什么
Anthropic Python SDK、Node SDK、Claude Code CLI 默认都向 https://api.anthropic.com 发请求。把 ANTHROPIC_BASE_URL 设为别的值,它们就会改向那个 URL 发,**不需要改任何代码**。这是 SDK 官方支持的覆盖机制,用于第三方代理、Azure 镜像、企业网关。
正确的值长什么样
指向 ModelServer 的标准写法:
正确
ANTHROPIC_BASE_URL=https://modelserver.dev只需要协议 + 域名,**不要加任何路径**。SDK 会自己拼 /v1/messages。
最常见的错误:末尾加了 /v1
如果写成
https://modelserver.dev/v1,SDK 会拼成 /v1/v1/messages,nginx 直接 404。去掉尾巴的 /v1 即可。macOS / Linux 配置
写入 shell 配置文件(zsh 用 ~/.zshrc、bash 用 ~/.bashrc):
bash / zsh
echo 'export ANTHROPIC_BASE_URL="https://modelserver.dev"' >> ~/.zshrc
echo 'export ANTHROPIC_AUTH_TOKEN="sk-你的key"' >> ~/.zshrc
source ~/.zshrc
echo $ANTHROPIC_BASE_URL # 验证Windows 配置
推荐走用户级环境变量(永久):
PowerShell (管理员模式)
[System.Environment]::SetEnvironmentVariable('ANTHROPIC_BASE_URL','https://modelserver.dev','User')
[System.Environment]::SetEnvironmentVariable('ANTHROPIC_AUTH_TOKEN','sk-你的key','User')
# 关闭所有终端窗口后重开,然后:
echo $env:ANTHROPIC_BASE_URLWindows 必须关掉所有旧终端
环境变量不会注入到已打开的窗口。PowerShell / CMD / Windows Terminal 全部关掉再开一个新的,才能读到新值。
验证是否生效
通用诊断
# 1. 打印值
echo $ANTHROPIC_BASE_URL
# 2. 测试联通(应该返回 401 认证失败,说明到达服务器)
curl -i "$ANTHROPIC_BASE_URL/v1/messages" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-4-6","max_tokens":10,"messages":[{"role":"user","content":"hi"}]}'返回 401/403 正常 — 说明 URL 通了,只是 key 未带。返回 404 就是路径错(多半是尾巴多了 /v1)。超时/ETIMEDOUT 就是网络不通或域名错。
常见错误值
| 错误写法 | 现象 |
|---|---|
https://modelserver.dev/v1 | 404 (路径 /v1/v1/messages) |
https://modelserver.dev/ | 一般 OK 但有些 SDK 会拼错 |
modelserver.dev | 缺协议,SDK 直接报错 |
http://modelserver.dev | 应该用 https |
https://api.modelserver.dev | 子域不存在,DNS 解析失败 |
与 ANTHROPIC_AUTH_TOKEN / ANTHROPIC_API_KEY 的关系
这三个是一组,配合使用:
ANTHROPIC_BASE_URL— 上游地址ANTHROPIC_AUTH_TOKEN— **第三方代理专用**的认证 tokenANTHROPIC_API_KEY— Anthropic 官方密钥专用,会触发 OAuth 校验
接 ModelServer 必须用 ANTHROPIC_AUTH_TOKEN。如果同时设了两个,Claude Code 会报 "Auth conflict"。详见 Claude Code 中国使用指南。