热门搜索:和平精英 原神 街篮2 

您的位置:首页 > > 教程攻略 > ai教程 >Claude Code Router实现一键接入多种AI模型的智能路由器

Claude Code Router实现一键接入多种AI模型的智能路由器

来源:互联网 更新时间:2026-08-05 07:29

什么是Claude Code Router?

Claude Code Router 是一个专门为解决AI模型平台锁定而设计的开源袋里工具。它的角色非常清晰:站在Claude Code CLI和各大模型供应商之间,充当智能中转站。这样一来,开发者不需要申请Anthropic官方的API密钥,也能享受到Claude Code带来的优秀开发体验。而且它支持Gemini、Ollama、Deepseek、OpenRouter等多种模型,内置智能路由、成本优化和高度可定制的功能,真正做到了AI模型的自由切换和灵活部署。

核心优势:

  • 模型自由

    :不再被单一平台绑死,Gemini、Ollama、Deepseek、OpenRouter……想接哪个接哪个。
  • 成本效益

    :按任务需求灵活选模型——本地免费的Ollama搞定简单活儿,高性价比API处理复杂任务,钱花得明明白白。
  • 功能强大

    :内置智能路由,根据操作类型(比如代码生成、后台索引)自动分配最合适的模型,不用手动切来切去。
  • 高度可定制

    :通过自定义转换器(Transformers),几乎任何兼容OpenAI API格式的服务商都能接入,扩展性极强。

项目地址:https://github.com/musistudio/claude-code-router

安装

整个过程分三步走,先确认环境,再装核心工具。

第一步,安装Node.js 18+版本。直接去 Node.js 官网 按操作系统下载安装即可。

第二步,安装Claude Code CLI:

npm install -g @anthropic-ai/claude-code

第三步,安装Claude Code Router:

装完后,系统中就会多出一个 ccr 命令。

npm install -g @musistudio/claude-code-router

使用

在终端里直接运行:

ccr code

第一次启动时,CCR会弹出交互式配置向导,让你设置第一个AI提供商和模型。照着提示依次输入:提供商名称、API Base URL、API 密钥、模型名称即可。整个过程很直观:

C:UsersAdministrator>ccr code
Enter Provider Name: Gemini
Enter Provider API KEY: 123456
Enter Provider URL: https://xxx.com
Enter MODEL Name: gemini-2.5-pro

接着,Claude会要求你授权信任它在当前目录下的操作。建议在新建的、安全的目录里启动Claude Code,以免操作不当影响现有项目。

授权同意后,就可以像使用官方 claude-code 一样与CCR互动了。

ccr命令参考

下面是 ccr CLI 的主要命令,方便快速查阅:

命令 (Command)描述 (Description)
ccr code启动CCR袋里会话(最常用)
ccr start启动CCR服务
ccr stop停止CCR服务
ccr restart重启CCR服务
ccr status显示CCR服务状态
ccr ui在浏览器中打开Web UI管理界面
ccr help显示所有可用命令和选项的帮助信息
ccr version显示当前安装的Claude Code Router版本号

动态切换模型

如果 config.json 里配置了多个模型供应商,可以在使用过程中动态切换,不用重启。

  • 使用 /model 命令,格式:/model provider_name,model_name

示例:

/model openrouter,anthropic/claude-3.5-sonnet

配置示例说明

CCR的所有配置都存放在 ~/.claude-code-router/config.json 文件中。可以直接编辑这个文件进行高级设置,比手动敲命令行更灵活。

除了交互式配置自动生成的文件,也可以手动创建 config.json 配置文件。不同操作系统的路径略有不同:

Linux、Mac:

~/.claude-code-router/config.json

Windows:

C:Users用户名.claude-code-router/config.json

具体字段怎么填,可以参考开源项目里的 config.example.json 文件。关键部分说明如下:

PROXY_URL (可选): 为API请求设置袋里,例如:"PROXY_URL": "http://127.0.0.1:7890"
LOG (可选): 设为 true 开启日志记录,日志文件位于 $HOME/.claude-code-router.log
APIKEY (可选): 设置一个密钥进行身份验证。设置后,客户端请求必须在 Authorization 请求头(如 Bearer your-secret-key)或 x-api-key 请求头中提供此密钥。例如:"APIKEY": "your-secret-key"
HOST (可选): 设置服务的主机地址。若未设置APIKEY,出于安全考虑,主机地址强制设为 127.0.0.1。例如:"HOST": "0.0.0.0"
NON_INTERACTIVE_MODE (可选): 设为 true 时,适配非交互式环境(如GitHub Actions、Docker容器),自动设置环境变量(CI=true、FORCE_COLOR=0 等)并配置 stdin 处理,防止进程挂起。例如:"NON_INTERACTIVE_MODE": true
Providers: 用于配置不同的模型提供商
Router: 路由规则。default 指定默认模型,其他未配置的路由都会走默认。
API_TIMEOUT_MS: API请求超时时间(毫秒)

一个完整的示例配置如下:

{
  "APIKEY": "your-secret-key",
  "PROXY_URL": "http://127.0.0.1:5555",
  "LOG": true,
  "API_TIMEOUT_MS": 600000,
  "NON_INTERACTIVE_MODE": false,
  "Providers": [
    {
      "name": "gemini",
      "api_base_url": "https://generativelanguage.googleapis.com/v1beta/models/",
      "api_key": "AIzaSyxxxxxxEfZDzBs1lC0Ac08",
      "models": ["gemini-2.5-flash", "gemini-2.5-pro"],
      "transformer": {
        "use": ["gemini"]
      }
    }
  ],
  "Router": {
    "default": "gemini,gemini-2.5-pro",
    "background": "gemini,gemini-2.5-flash",
    "think": "gemini,gemini-2.5-flash",
    "longContext": "gemini,gemini-2.5-flash",
    "longContextThreshold": 60000,
    "webSearch": "gemini,gemini-2.5-flash"
  }
}

核心配置说明

providers - 定义AI提供商

这里的 Providers 是一个数组,列出所有想用的AI模型服务商。每个对象包含:

  • name: 唯一标识(如 "gemini"、"ollama")
  • api_base: API的基础URL
  • api_key: API密钥
  • models: 该提供商可用的模型名称列表
  • transformer(可选): 指定用于处理请求和响应的转换器

示例配置:

  "Providers": [
    {
      "name": "gemini1",
      "api_base_url": "https://generativelanguage.googleapis.com/v1beta/models/",
      "api_key": "AIzaSyCvmL0_gwkJOH9d8jFlDFe3_9rZA1GO8OQ",
      "models": ["gemini-2.5-flash", "gemini-2.5-pro"],
      "transformer": {
        "use": ["gemini"]
      }
    }
   ]

routing - 智能路由规则

这是CCR最实用的功能之一——针对Claude Code内部不同的操作类型,分配不同的模型,在性能和成本之间找到最优解。

  • default: 默认模型,用于常规任务。
  • background: 后台任务的模型,可以选一个小的本地模型来省钱。
  • think: 思考模型,用于执行任务前的规划和推理。
  • longContext: 长上下文模型,处理大文件或长对话时启用。
  • longContextThreshold: 触发长上下文模型的令牌数阈值,默认60000。
  • webSearch: 处理网络搜索任务,需要模型本身支持。如果使用OpenRouter,模型名后面要加 :online 后缀。

示例配置:

  "Router": {
    "default": "gemini,gemini-2.5-pro",
    "background": "gemini,gemini-2.5-flash",
    "think": "gemini,gemini-2.5-flash",
    "longContext": "gemini,gemini-2.5-flash",
    "longContextThreshold": 60000,
    "webSearch": "gemini,gemini-2.5-flash"
  }

transformers - 高级自定义

Transformers 允许修改请求和响应的数据格式,确保和不同提供商的API完美兼容。

内置Transformer:

Anthropic: 只用这一个转换器时,直接透传请求和响应(适合接入其他支持Anthropic端点的服务商)
deepseek: 适配 DeepSeek API 的请求/响应
gemini: 适配 Gemini API 的请求/响应
openrouter: 适配 OpenRouter API 的请求/响应。还可以接收一个 provider 路由参数,指定底层提供商

全局Transformer:

将转换器应用于提供商下的所有模型。

下面的例子中,openrouter转换器作用于openrouter提供商下的所有模型:

 {
   "name": "openrouter",
   "api_base_url": "https://openrouter.ai/api/v1/chat/completions",
   "api_key": "sk-xxx",
   "models": [
     "google/gemini-2.5-pro-preview",
     "anthropic/claude-sonnet-4",
     "anthropic/claude-3.5-sonnet"
   ],
   "transformer": { "use": ["openrouter"] }
 }

特定于模型的Transformer:

只对某个具体模型生效。

下面的例子中,deepseek转换器作用于所有模型,但额外的openrouter转换器只对 deepseek-chat 一个模型:

 {
   "name": "deepseek",
   "api_base_url": "https://api.deepseek.com/chat/completions",
   "api_key": "sk-xxx",
   "models": ["deepseek-chat", "deepseek-reasoner"],
   "transformer": {
     "use": ["deepseek"],
     "deepseek-chat": { "use": ["openrouter"] }
   }
 }

向Transformer传递选项:

某些转换器(如 maxtoken)支持参数。

传递选项时,使用嵌套数组,第一个元素是转换器名称,第二个是选项对象:

{
  "name": "siliconflow",
  "api_base_url": "https://api.siliconflow.cn/v1/chat/completions",
  "api_key": "sk-xxx",
  "models": ["moonshotai/Kimi-K2-Instruct"],
  "transformer": {
    "use": [
      [
        "maxtoken",
        {
          "max_tokens": 16384
        }
      ]
    ]
  }
}

UI模式

如果觉得命令行编辑配置文件不够直观,可以启动Web UI来管理。终端输入:

ccr ui

浏览器会自动打开一个管理界面,输入配置文件中的 APIKEY 完成认证:

然后就能在图形界面里轻松查看和编辑 config.json 了:

异常

异常1:

执行 ccr code 后可能弹出类似官方的登录界面,这时可以尝试删除 .claude.json 文件。

Linux、Mac:

~/.claude.json

Windows:

C:Users用户名.claude.json

异常2:

使用Gemini时可能出现400错误。可以查看日志文件 C:Users用户名.claude-code-routerclaude-code-router.log 来排查。例如日志中看到 User location is not supported for the API use.,说明你所在的国家/地区暂不支持访问Gemini API:

 "error": {
    "code": 400,
    "message": "User location is not supported for the API use.",
    "status": "FAILED_PRECONDITION"
  }

热门手游

手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc