Claude Code 走 Anthropic Messages API。接自定义网关时,用 settings.json 的 env 块覆盖 endpoint 和模型。
1. 配置文件在哪
用户配置默认在 ~/.claude/settings.json(Windows 为 %USERPROFILE%\.claude\settings.json)。
配置作用域(高 → 低):
- Managed(企业下发,不可覆盖)
- 命令行参数(单次会话)
- Local:
.claude/settings.local.json(仅当前项目,建议放密钥) - Project:
.claude/settings.json(团队共享,可提交 git) - User:
~/.claude/settings.json(全局个人配置)
MCP Server 写在 ~/.claude.json 或项目 .mcp.json,与 settings.json 分开管理。
2. 接入网关
| 变量 | 作用 |
|---|---|
ANTHROPIC_BASE_URL | 网关地址,替换默认 api.anthropic.com |
ANTHROPIC_AUTH_TOKEN | Bearer Token(Claude Code 会自动加 Bearer 前缀) |
ANTHROPIC_MODEL | 默认模型 ID |
直连 Anthropic 时用 ANTHROPIC_API_KEY;接自定义网关时用 ANTHROPIC_AUTH_TOKEN。
2.1 最小配置
| |
重启 Claude Code,用 /status 确认 base URL 和认证来源。
2.2 密钥放哪
env 块写在 settings.json 里最省事,但 Token 会明文落盘。博文示例中的 api.xxx.com、your-token 均为占位符,请替换为自己的值,切勿将真实 Token 提交到公开仓库。
更稳妥的做法:
- 全局:shell 里
export ANTHROPIC_AUTH_TOKEN=your-token,settings.json只写 URL 和模型 - 项目:
.claude/settings.local.json(Claude Code 创建时会加入 gitignore)
同一变量在 settings.json 和 shell 里都有时,以 settings 文件为准。
2.3 网关注意事项
- 网关必须兼容 Anthropic Messages API
ANTHROPIC_BASE_URL指向非api.anthropic.com时,MCP tool search 默认关闭;代理支持tool_reference时可设ENABLE_TOOL_SEARCH=true- 模型 ID 以网关文档为准
3. 多模型配置
Claude Code 多模型靠 Sonnet / Haiku / Opus 三档映射到网关上的不同模型 ID。
3.1 按档位映射
| |
| 档位 | 模型 | 用途 |
|---|---|---|
| Sonnet(默认) | GLM 5.2 | 日常使用 |
| Haiku | DeepSeek V4 Flash | 后台轻量任务,自动走这档 |
| Opus | DeepSeek V4 Pro | 重度编码,在 /model 手动切换 |
"model": "sonnet" 确保启动走 Sonnet 档,避免误用 Haiku。
3.2 会话内切换
| |
交互模式里用 /model 在已配置的档位间切换。
4. 权限配置
本地开发若信任当前环境,可跳过部分确认(仅在隔离环境使用):
| |
5. 使用技巧
5.1 日常开发
- 日常默认 GLM 5.2,编码吃力时在
/model切 Opus(Pro) - Flash 走 Haiku 档,后台任务自动用,不必手动切换
5.2 排错 checklist
| 现象 | 常见原因 |
|---|---|
| 启动仍要求登录 | Token 未在首次运行前写入 settings 或 shell |
| 404 / 空响应 | 网关不兼容 Anthropic Messages API |
| 模型 ID 无效 | 模型名与网关侧不一致 |
| 启动走了 Flash | "model" 设成了 "haiku",改回 "sonnet" |
| 改配置不生效 | 未重启 Claude Code |
6. 完整示例
| |
| |
