Please enable Javascript to view the contents

Claude Code 自定义模型配置与使用技巧

 ·  ☕ 3 分钟

参考:Claude Code 配置环境变量接入 LLM 网关

Claude Code 走 Anthropic Messages API。接自定义网关时,用 settings.jsonenv 块覆盖 endpoint 和模型。

1. 配置文件在哪

用户配置默认在 ~/.claude/settings.json(Windows 为 %USERPROFILE%\.claude\settings.json)。

配置作用域(高 → 低):

  1. Managed(企业下发,不可覆盖)
  2. 命令行参数(单次会话)
  3. Local:.claude/settings.local.json(仅当前项目,建议放密钥)
  4. Project:.claude/settings.json(团队共享,可提交 git)
  5. User:~/.claude/settings.json(全局个人配置)

MCP Server 写在 ~/.claude.json 或项目 .mcp.json,与 settings.json 分开管理。

2. 接入网关

变量作用
ANTHROPIC_BASE_URL网关地址,替换默认 api.anthropic.com
ANTHROPIC_AUTH_TOKENBearer Token(Claude Code 会自动加 Bearer 前缀)
ANTHROPIC_MODEL默认模型 ID

直连 Anthropic 时用 ANTHROPIC_API_KEY;接自定义网关时用 ANTHROPIC_AUTH_TOKEN

2.1 最小配置

1
2
3
4
5
6
7
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.xxx.com/v1",
    "ANTHROPIC_AUTH_TOKEN": "your-token",
    "ANTHROPIC_MODEL": "zhipu/glm5.2"
  }
}

重启 Claude Code,用 /status 确认 base URL 和认证来源。

2.2 密钥放哪

env 块写在 settings.json 里最省事,但 Token 会明文落盘。博文示例中的 api.xxx.comyour-token 均为占位符,请替换为自己的值,切勿将真实 Token 提交到公开仓库

更稳妥的做法:

  • 全局:shell 里 export ANTHROPIC_AUTH_TOKEN=your-tokensettings.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 按档位映射

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.xxx.com/v1",
    "ANTHROPIC_AUTH_TOKEN": "your-token",
    "ANTHROPIC_MODEL": "zhipu/glm5.2",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "zhipu/glm5.2",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek/deepseek-v4-flash",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek/deepseek-v4-pro",
    "ANTHROPIC_DEFAULT_SONNET_MODEL_NAME": "GLM 5.2",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME": "DeepSeek V4 Flash",
    "ANTHROPIC_DEFAULT_OPUS_MODEL_NAME": "DeepSeek V4 Pro"
  },
  "model": "sonnet"
}
档位模型用途
Sonnet(默认)GLM 5.2日常使用
HaikuDeepSeek V4 Flash后台轻量任务,自动走这档
OpusDeepSeek V4 Pro重度编码,在 /model 手动切换

"model": "sonnet" 确保启动走 Sonnet 档,避免误用 Haiku。

3.2 会话内切换

1
2
claude --model deepseek/deepseek-v4-pro
claude -p "review this diff"

交互模式里用 /model 在已配置的档位间切换。

4. 权限配置

本地开发若信任当前环境,可跳过部分确认(仅在隔离环境使用):

1
2
3
4
{
  "skipAutoPermissionPrompt": true,
  "skipDangerousModePermissionPrompt": true
}

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. 完整示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.xxx.com/v1",
    "ANTHROPIC_AUTH_TOKEN": "your-token",
    "ANTHROPIC_MODEL": "zhipu/glm5.2",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "zhipu/glm5.2",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek/deepseek-v4-flash",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek/deepseek-v4-pro",
    "ANTHROPIC_DEFAULT_SONNET_MODEL_NAME": "GLM 5.2",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME": "DeepSeek V4 Flash",
    "ANTHROPIC_DEFAULT_OPUS_MODEL_NAME": "DeepSeek V4 Pro"
  },
  "model": "sonnet",
  "skipAutoPermissionPrompt": true,
  "skipDangerousModePermissionPrompt": true
}
1
2
3
claude            # 默认 GLM 5.2
claude /model     # 切换 GLM / Flash / Pro
claude /status    # 确认网关

微信公众号
作者
微信公众号