尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

9Router 集成 Claude Code:用 ANTHROPIC_BASE_URL 与模型别名把 Claude Code 接入智能路由

9Router 集成 Claude Code:用 ANTHROPIC_BASE_URL 与模型别名把 Claude Code 接入智能路由 9Router 集成 Claude Code用 ANTHROPIC_BASE_URL 与模型别名把 Claude Code 接入智能路由【免费下载链接】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本指南讲解如何将 Anthropic 官方 Claude Code CLI 接入 9Router 的智能路由系统通过环境变量与~/.claude/settings.json配置文件把 Claude Code 的 API 请求指向 9Router再借助cc/命名空间的模型别名与自动回退Auto-fallback机制把 Claude Code 的流量分发到 40 上游提供商。读完本文你将掌握从环境变量配置、模型别名映射到故障排查的完整落地流程并理解仪表盘一键配置背后的实现原理。集成原理Claude Code 如何被路由到 9RouterClaude Code 客户端本身只认 Anthropic 兼容的 API 地址。9Router 对外暴露 Anthropic 兼容端点本地默认http://localhost:20128/v1Claude Code 的所有请求都发往该端点由 9Router 完成协议翻译、提供商选择与模型路由。从源码可以印证这套机制的两个关键点/v1/messages路径即 Claude 协议信号在 open-sse/translator/formats.js 中只要请求路径包含/v1/messages即判定为FORMATS.CLAUDE按 Claude 消息格式处理cc是 Claude Code 的提供商命名空间在 open-sse/providers/registry/claude.js 中Claude Code 对应 provider 的id为claude、alias为cc这也是下文所有cc/...模型 ID 前缀的来源。因此集成工作本质上只有一件事让 Claude Code 把 9Router 当作它的 Anthropic API 服务端其余的路由、降级、限额管理全部由 9Router 接管。前置条件开始配置前请确认以下三项就绪Claude Code CLI 已安装可通过npm install -g anthropic-ai/claude-code安装macOS / Linux / Windows 通用安装后执行claude验证可用9Router 正在运行或已配置云端端点本地运行默认监听20128端口或使用云端端点见文末云端端点一节拥有 9Router 的 API Key从 9Router 仪表盘Dashboard获取用于在请求中标识你的账户与配额。核心配置设置环境变量Claude Code 通过环境变量感知 API 地址与默认模型。在你的 shell 配置文件中~/.bashrc、~/.zshrc或~/.bash_profile按你使用的 shell 选择追加以下内容# 9Router 的 Base URL export ANTHROPIC_BASE_URLhttp://localhost:20128/v1 # 可选为别名设置默认模型 export ANTHROPIC_DEFAULT_OPUS_MODELcc/claude-opus-4-5-20251101 export ANTHROPIC_DEFAULT_SONNET_MODELcc/claude-sonnet-4-5-20250929 export ANTHROPIC_DEFAULT_HAIKU_MODELcc/claude-haiku-4-5-20251001配置完成后重载 shell 配置source ~/.zshrc # 或 source ~/.bashrc最后验证变量是否生效echo $ANTHROPIC_BASE_URL # 预期输出http://localhost:20128/v1关于 Base URL 与/v1后缀ANTHROPIC_BASE_URL必须带/v1后缀Claude Code 才会拼接出/v1/messages路径。9Router 的 Web 端在写入配置时会主动做这个归一化在 src/app/api/cli-tools/claude-settings/route.js 中若用户填写的地址不以/v1结尾服务端会自动补上避免因手写遗漏导致路由失败。模型别名与默认模型映射Claude Code 支持将opus、sonnet、haiku等别名映射到 9Router 的具体模型 ID。映射关系由下表的环境变量控制别名对应模型环境变量opusClaude Opus 4.5ANTHROPIC_DEFAULT_OPUS_MODELsonnetClaude Sonnet 4.5ANTHROPIC_DEFAULT_SONNET_MODELhaikuClaude Haiku 4.5ANTHROPIC_DEFAULT_HAIKU_MODEL除了表格中的三个9Router 对 Claude Code 还登记了更完整的别名体系。在 src/shared/constants/cliTools.js 中可以看到 Claude Code 的全部别名default、sonnet、opus、fable、haiku、opusplan并定义了以下默认映射别名默认模型defaultValue环境变量opuscc/claude-opus-5ANTHROPIC_DEFAULT_OPUS_MODELsonnetcc/claude-sonnet-5ANTHROPIC_DEFAULT_SONNET_MODELhaikucc/claude-haiku-4-5-20251001ANTHROPIC_DEFAULT_HAIKU_MODELfablecc/claude-fable-5ANTHROPIC_DEFAULT_FABLE_MODEL而在 9Router 的 TUI 客户端cli/src/cli/menus/cliTools.js中Claude 模型类型的默认值与 Web 端保持一致例如sonnet默认cc/claude-sonnet-4-5-20250929、opus默认cc/claude-opus-4-5-20251101、haiku默认cc/claude-haiku-4-5-20251001。你可以按实际使用的上游提供商与模型随时改写这些变量。理解cc/前缀的模型 IDcc/claude-opus-4-5-20251101这类 ID 的格式是提供商命名空间/模型 ID。其中cc即 Claude Code 命名空间见 open-sse/providers/registry/claude.js。除cc外9Router 还维护gemini/、glm/、if/、cx/等多个命名空间分别对应 Gemini、GLM、iFlow、Codex 等提供商。更灵活的是模型 ID 位置也可以填Combo 名称。9Router 支持在仪表盘创建自定义回退链Combo例如Combo 名称: premium-coding Models: 1. cc/claude-opus-4-5-20251101 (优先尝试) 2. glm/glm-4.7 (配额耗尽时回退) 3. minimax/MiniMax-M2.1 (再耗尽时继续回退)随后在ANTHROPIC_DEFAULT_SONNET_MODEL中填premium-coding即可让 Claude Code 的 sonnet 别名走这条自动回退链详见 gitbook/content/en/features/combos.md。这正是 9Router 集成方案相对直连 Anthropic 的核心价值单个别名背后可以挂一整条永不中断的提供商链。使用示例通过别名调用模型# 使用 Opus 模型 claude --model opus Explain quantum computing # 使用 Sonnet 模型 claude --model sonnet Write a Python function # 使用 Haiku 模型 claude --model haiku Quick code review使用完整模型名claude --model cc/claude-opus-4-5-20251101 Your prompt here两种写法等价别名会被环境变量展开为对应的完整模型 ID最终都解析为cc/...形式的 9Router 模型。配置文件方式编辑~/.claude/settings.json环境变量并非唯一途径。Claude Code 的配置集中在~/.claude/settings.json你可以手动编辑{ baseUrl: http://localhost:20128/v1, defaultModel: sonnet }从 9Router 的实现看settings.json实际使用的是env字段结构。Web 端写入配置时生成的完整内容形如见 src/app/(dashboard)/dashboard/cli-tools/components/ClaudeToolCard.js/dashboard/cli-tools/components/ClaudeToolCard.js#L236-L255) 中getManualConfigs的逻辑{ hasCompletedOnboarding: true, env: { ANTHROPIC_BASE_URL: http://localhost:20128/v1, ANTHROPIC_AUTH_TOKEN: sk_9router, ANTHROPIC_DEFAULT_OPUS_MODEL: cc/claude-opus-5, ANTHROPIC_DEFAULT_SONNET_MODEL: cc/claude-sonnet-5, ANTHROPIC_DEFAULT_HAIKU_MODEL: cc/claude-haiku-4-5-20251001 } }除上述变量外后端还会维护几个对 Claude Code 有用的键见 src/app/api/cli-tools/claude-settings/route.js 的 Reset 键清单ANTHROPIC_AUTH_TOKEN9Router 的 API Key本地部署时默认为sk_9routerAPI_TIMEOUT_MS请求超时时间毫秒CLAUDE_CODE_MAX_CONTEXT_TOKENS上下文窗口上限。其中CLAUDE_CODE_MAX_CONTEXT_TOKENS在仪表盘里以Context window下拉框提供预设值ClaudeToolCard.js/dashboard/cli-tools/components/ClaudeToolCard.js#L14-L20)Default不写入沿用模型原生窗口、200K、300K、500K、1M。注意 UI 显示的是取整数字实际写入值会被下调 2K如 200K 写为198000目的是安全地保持在模型上下文硬上限之下。两个文件的分工settings.json与~/.claude.json一个容易踩坑的细节Claude Code 的环境变量配置在~/.claude/settings.json而MCP 服务器配置在~/.claude.json位于主目录注意没有.claude目录前缀。9Router 在注入 Exa MCP为路由后的非 Claude 模型提供联网搜索能力时就是写入~/.claude.json的mcpServers字段见 src/app/api/cli-tools/claude-settings/route.js。若你手动配置时把 MCP 写错了文件Claude Code 不会读取且该文件还可能因为 JSON 末尾逗号等问题解析失败——9Router 在读取时专门做了容错处理去除尾随逗号、解析失败视为无配置。仪表盘一键配置CLI Tools除手工编辑外9Router Web 仪表盘的CLI Tools页面提供针对 Claude Code 的可视化配置对应 ClaudeToolCard.js/dashboard/cli-tools/components/ClaudeToolCard.js)。核心能力包括Select Endpoint选择本地、Tunnel 公网地址、Tailscale 或云端端点API Key从账户已保存的 Key 中选取本地部署无 Key 时自动回退sk_9routerModel Mappings分别为 opus / sonnet / haiku / fable 别名选择目标模型可手动输入provider/model-id或从模型选择弹窗挑选Context window预设 200K / 300K / 500K / 1M或保持 DefaultFilter naming拦截 Claude Code 的对话主题命名请求并在本地返回假响应节省 API Token对应ccFilterNaming设置项Exa MCP向~/.claude.json注入 Exa MCP使路由到的非 Claude 模型也具备联网搜索能力开启后需重启 Claude CodeApply / Reset / Manual Config一键写入配置、一键清除 9Router 注入的环境变量、或复制手动配置 JSON。后端对应的 API 在 src/app/api/cli-tools/claude-settings/route.js其GET会检测 Claude CLI 是否安装which claude/where claude并读取当前配置POST负责合并写入env并归一化/v1后缀DELETE则按RESET_ENV_KEYS清单清除 9Router 注入的变量。9Router 自带的 TUI 客户端同样提供这套配置入口见 cli/src/cli/menus/cliTools.js方便纯终端环境下完成配置。常见问题排查连接异常Connection Issues若出现连接错误按顺序排查确认 9Router 正在运行curl http://localhost:20128/health能返回健康响应说明服务正常检查环境变量是否配置正确echo $ANTHROPIC_BASE_URL确认值以/v1结尾确认防火墙未拦截20128端口本地回环地址一般无碍但若 9Router 部署在远端服务器需放行对应端口。模型不存在Model Not Found如果出现 model not found 错误核对模型名称与 9Router 配置一致cc/...前缀与模型 ID 必须与 9Router 注册的命名空间匹配可参考 src/shared/constants/cliTools.js 的默认值检查仪表盘中提供商连接是否为活跃状态只有isActive且测试状态为active/success的连接才会参与模型映射见 cliTools.js 的getProviderModelsForMapping确认模型在已连接的上游提供商中真实可用若上游未开通或已下线该模型9Router 无法代为提供。协议层面的提示从源码结构看cc命名空间对应的 provider 注册项带有deprecated: true与风险提示标记open-sse/providers/registry/claude.js说明官方 Claude 直连通道存在风险提示建议优先使用仪表盘中状态正常的活跃提供商来承接路由流量。使用云端端点若不想在本地运行 9Router可直接使用云端端点export ANTHROPIC_BASE_URLhttps://9router.com使用前需在 9Router 云端仪表盘完成两件事生成并配置 API Key云端模式下ANTHROPIC_AUTH_TOKEN必须使用仪表盘签发的真实 Key本地模式的sk_9router仅限本机回环使用确认云端账户已连接可用的上游提供商路由依赖的是云端侧维护的提供商连接。配置完成后同一套claude --model sonnet ...命令即可在云端路由下工作无需任何客户端改动。总结把 Claude Code 接入 9Router 的本质是把ANTHROPIC_BASE_URL指向 9Router 的 Anthropic 兼容端点并用ANTHROPIC_DEFAULT_*_MODEL系列变量把opus/sonnet/haiku别名映射到cc/命名空间下的模型 ID 或 Combo 回退链。无论你选择 shell 环境变量、手动编辑~/.claude/settings.json还是直接使用 9Router 仪表盘的 CLI Tools 一键配置最终生效的都是同一套环境变量体系配合cc/前缀的多提供商路由、Combo 自动回退与上下文窗口调优即可在保留 Claude Code 原生日志、工具调用与终端交互体验的同时获得更灵活的模型选择与更强的可用性保障。【免费下载链接】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),仅供参考
返回列表