☰
9Router 集成 Claude Code CLI:用 ANTHROPIC_BASE_URL 路由 Anthropic 请求的完整实战指南
2026/10/3 12:04:04 网站建设 项目流程

9Router 集成 Claude Code CLI:用 ANTHROPIC_BASE_URL 路由 Anthropic 请求的完整实战指南

【免费下载链接】9routerUnlimited FREE AI coding. Connect Claude Code, Codex, Cursor, Cline, Copilot, Antigravity to FREE Claude/GPT/Gemini via 40+ providers. Auto-fallback, RTK -40% tokens, never hit limits.项目地址: https://gitcode.com/GitHub_Trending/9r/9router

导读

本文讲解如何将 9Router 与 Claude Code CLI 集成,把 Claude Code 默认发往 Anthropic 官方 API 的请求,通过环境变量指向 9Router 的本地(或云端)智能路由网关,从而复用 9Router 的 40+ 上游 Provider 接入、自动故障转移(Combo)、配额追踪与令牌压缩(RTK)能力。读完本文,你将掌握 ANTHROPIC_BASE_URL 与三大模型别名环境变量的配置方法、claude --model的别名与全名用法、~/.claude/settings.json的手动配置方式,以及连接异常时的排查路径。


一、集成原理:Claude Code 如何"拐弯"到 9Router

Claude Code 原生的 Anthropic API 请求目标是https://api.anthropic.com/v1/messages,而 9Router 在本地暴露了一个兼容 Anthropic 消息接口的网关端点。集成后,Claude Code 的所有请求都会先到达 9Router,再由 9Router 的路由引擎按已配置的 Provider 与 Combo 策略分发到上游。

从源码结构看,这一"拐弯"能力由两层支撑:

  • 网关层:9Router 在默认端口 20128 提供 API 服务,该端口在 src/shared/constants/config.js 中定义为appPort: 20128;请求统一走/v1/*前缀(Next.js 重写规则映射到src/app/api/v1/路由树),其中包含messages、chat/completions、responses、models、embeddings、images/generations、audio/speech等一组 OpenAI 兼容接口。
  • Provider 注册层:Claude(Claude Code)作为上游 Provider 在 open-sse/providers/registry/claude.js 中注册,其alias: "cc"正是集成文档中模型名前缀cc/的来源;该注册表同时声明了上游真实地址https://api.anthropic.com/v1/messages、format: "claude"请求格式以及 OAuth 认证(org:create_api_key等 scope)与令牌刷新配置。

因此,Claude Code 侧看到的"模型"是 9Router 体系内的模型 ID(如cc/claude-opus-4-5-20251101),而 9Router 侧负责把 Anthropic 格式的请求翻译成对应上游 Provider 的格式并回传流式响应。


二、前提条件

在开始集成之前,请确认以下三项已就绪:

  1. Claude Code CLI 已安装:确保终端里可以直接执行claude命令。
  2. 9Router 已运行:本地运行(9router命令启动,见本地部署指南)或已配置云端端点。
  3. 9Router API 密钥:从 9Router 仪表盘(Dashboard)获取。默认情况下 9Router 会自动生成 API 密钥,仪表盘默认地址为http://localhost:20128,默认密码为123456(登录后请立即修改,详见快速入门)。

提示:启动 9Router 后,建议先在仪表盘的 Providers 页面连接一个可用的上游 Provider(例如 Claude Code 订阅账号 OAuth 登录,或 API Key / 免费 Provider),确保网关侧有可路由的真实模型,否则 Claude Code 侧即使连接成功也会在后续请求时报 "model not found"。


三、设置步骤:环境变量配置

集成核心是让 Claude Code 读取 9Router 的端点与默认模型,全部通过环境变量完成。

1. 设置环境变量

在 shell 配置文件(~/.bashrc、~/.zshrc或~/.bash_profile)中追加以下内容:

# 9Router 的 Base URL(Anthropic 兼容端点) export ANTHROPIC_BASE_URL="http://localhost:20128/v1" # 可选:为别名设置默认模型(cc/ 前缀来自 9Router 的 Claude Code Provider 别名) export ANTHROPIC_DEFAULT_OPUS_MODEL="cc/claude-opus-4-5-20251101" export ANTHROPIC_DEFAULT_SONNET_MODEL="cc/claude-sonnet-4-5-20250929" export ANTHROPIC_DEFAULT_HAIKU_MODEL="cc/claude-haiku-4-5-20251001"

参数说明:

环境变量作用说明
ANTHROPIC_BASE_URL覆盖 Claude Code 的 API 端点必须指向 9Router 的/v1路径,本地默认端口 20128
ANTHROPIC_DEFAULT_OPUS_MODELopus别名映射的模型默认cc/claude-opus-4-5-20251101
ANTHROPIC_DEFAULT_SONNET_MODELsonnet别名映射的模型默认cc/claude-sonnet-4-5-20250929
ANTHROPIC_DEFAULT_HAIKU_MODELhaiku别名映射的模型默认cc/claude-haiku-4-5-20251001

这里的模型 ID 是 9Router 体系内的"路由标识",cc/前缀对应 open-sse/providers/registry/claude.js 中注册的 Claude Code Provider 别名,实际请求将由 9Router 按该 Provider 的订阅/配额策略发往上游。

2. 重新加载 shell 配置

source ~/.zshrc # 或 source ~/.bashrc

3. 验证配置

echo $ANTHROPIC_BASE_URL # 期望输出: http://localhost:20128/v1

同时可用echo $ANTHROPIC_DEFAULT_SONNET_MODEL逐一确认其余变量。


四、模型别名映射

Claude Code 内置opus/sonnet/haiku三个快捷别名,9Router 通过环境变量把这三个别名映射到 9Router 模型:

别名模型环境变量
opusClaude Opus 4.5ANTHROPIC_DEFAULT_OPUS_MODEL
sonnetClaude Sonnet 4.5ANTHROPIC_DEFAULT_SONNET_MODEL
haikuClaude Haiku 4.5ANTHROPIC_DEFAULT_HAIKU_MODEL

在 9Router 体系中,cc/前缀下的可用模型还包括这些默认别名之外的型号,例如cc/claude-haiku-4-5-20251001等;完整的可用模型清单以 9Router 仪表盘 Providers 页面中该连接实际加载的模型列表为准(与上游订阅账号的权限有关)。相关模型命名与配额策略可参考快速入门中的订阅模型一节。


五、使用示例

1. 使用模型别名

# 使用 Opus 模型 claude --model opus "Explain quantum computing" # 使用 Sonnet 模型 claude --model sonnet "Write a Python function" # 使用 Haiku 模型 claude --model haiku "Quick code review"

2. 使用完整模型名

不依赖别名时,可直接指定 9Router 完整模型 ID:

claude --model cc/claude-opus-4-5-20251101 "Your prompt here"

两种方式最终都会把请求发往ANTHROPIC_BASE_URL(即 9Router 网关)。由于 9Router 暴露的是兼容端点,claude的交互模式、--continue会话续接等常规能力均可照常使用;请求进入网关后,请求流转链路为/v1/*路由 →src/sse/handlers/chat.js(解析、Combo 展开、账号选择)→open-sse/handlers/chatCore.js(格式检测、翻译、执行器分发、重试/刷新)→ 对应 executor → 翻译器 → SSE 流式回传。


六、配置文件(可选)

除环境变量外,Claude Code 会把配置持久化在~/.claude/settings.json。当需要固定端点与默认模型、且不想依赖 shell 环境时,可手动编辑:

{ "baseUrl": "http://localhost:20128/v1", "defaultModel": "sonnet" }

字段说明:

  • baseUrl:等价于ANTHROPIC_BASE_URL,指向 9Router 的/v1端点;
  • defaultModel:默认模型别名,可选opus/sonnet/haiku(对应第四节的环境变量映射),也可直接填写完整模型 ID。

修改后重启claude会话生效。两种配置方式(环境变量与 settings.json)选其一即可,同时存在时以 Claude Code 实际的配置优先级为准。


七、故障排查

1. 连接问题

若出现连接错误,按顺序检查:

# 1. 确认 9Router 正在运行(健康检查) curl http://localhost:20128/health # 2. 确认环境变量已正确设置 echo $ANTHROPIC_BASE_URL # 3. 确认防火墙未阻断 20128 端口(macOS/Linux) lsof -i :20128

如果curl无法连通,先回到本地部署指南确认9router进程状态与数据目录(默认~/.9router)是否正常;端口 20128 被占用时,参考该文档的端口排查章节处理。

2. "model not found" 错误

如果提示模型不存在:

  1. 核对模型名与 9Router 配置中的模型 ID 完全一致(注意cc/前缀与日期后缀,如cc/claude-sonnet-4-5-20250929);
  2. 在 9Router 仪表盘确认对应 Provider 连接处于激活状态;
  3. 确认该模型在当前连接的上游账号/订阅中确实可用(订阅权限不足时模型列表会缩水)。

3. 配额与限流

9Router 的配额追踪与自动故障转移(Combo)设计下,若上游 Provider 配额耗尽,网关可能自动切换备用模型(前提是在仪表盘配置了 Combo)。若无需自动切换、希望始终命中指定模型,请确认没有为该模型绑定会触发降级的 Combo 策略。


八、切换到云端端点

不想在本地跑 9Router 时,可将 Base URL 指向 9Router 云端:

export ANTHROPIC_BASE_URL="https://9router.com"

使用云端端点时:

  • 必须在 9Router 云端仪表盘中配置 API 密钥,并通过ANTHROPIC_API_KEY或 Claude Code 的登录凭据使请求通过鉴权;
  • 云端与本地端点共用同一套模型 ID 体系(如cc/claude-opus-4-5-20251101),切换端点无需修改--model参数;
  • 注意确认云端账号已连接你计划使用的上游 Provider,否则同样会得到 "model not found"。

九、进阶:从源码看请求如何被路由

把集成文档的结论落到仓库源码上,可以更清楚地理解整条链路:

  1. 端点层:ANTHROPIC_BASE_URL指向的/v1/messages对应 src/app/api/v1/messages/route.js,该路由树同时提供chat/completions、responses、models等接口,说明 Claude Code 走的是 Anthropic 兼容入口,其他工具则可走 OpenAI 兼容入口——两者共用同一套路由引擎。
  2. Provider 层:Claude Code 订阅账号以 OAuth 方式接入 9Router,其凭据管理、令牌刷新与配额查询配置全部声明在 open-sse/providers/registry/claude.js 中(OAuth scope、refreshLeadMs、usage 端点等)。
  3. 模型层:cc/前缀由该注册表的alias字段派生,模型 ID 由 9Router 统一编号,因此 Claude Code 侧只需通过环境变量指向 9Router,即可在完全不感知上游变化的情况下使用路由后的模型。

理解了这三层,遇到"环境变量没错但请求异常"时,就能沿着"Claude Code → 9Router 网关 → Provider 注册表 → 上游账号"的链路快速定位问题出在哪一段。


总结

通过ANTHROPIC_BASE_URL与三个ANTHROPIC_DEFAULT_*_MODEL环境变量(或~/.claude/settings.json),Claude Code 可以在几分钟内接入 9Router 的智能路由网关,获得统一模型命名、多 Provider 接入、配额追踪与自动故障转移能力。集成后日常使用方式不变:claude --model opus|sonnet|haiku或直接指定cc/前缀完整模型 ID。如需更完整的模型清单、Combo 配置与配额策略,可继续阅读快速入门与本地部署。

【免费下载链接】9routerUnlimited FREE AI coding. Connect Claude Code, Codex, Cursor, Cline, Copilot, Antigravity to FREE Claude/GPT/Gemini via 40+ providers. Auto-fallback, RTK -40% tokens, never hit limits.项目地址: https://gitcode.com/GitHub_Trending/9r/9router

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询