claude code router
littleseven
發(fā)布于 云南 2025-07-29 · 1.0w瀏覽 2贊

Claude Code Router 是一個(gè)開(kāi)源項(xiàng)目,用于將原本發(fā)送給 Claude Code 的請(qǐng)求重新路由到其他 OpenAI 兼容的 API 服務(wù)(如 DeepSeek-R1 、 OpenRouter 等),從而繞過(guò)地域限制或模型訪問(wèn)限制。 ‌1

核心功能

  • 模型路由: 根據(jù)您的需求將請(qǐng)求路由到不同的模型(例如,后臺(tái)任務(wù)、思考、長(zhǎng)上下文)。
  • 多提供商支持: 支持 OpenRouter、DeepSeek、Ollama、Gemini、Volcengine 和 SiliconFlow 等各種模型提供商。
  • 請(qǐng)求/響應(yīng)轉(zhuǎn)換: 使用轉(zhuǎn)換器為不同的提供商自定義請(qǐng)求和響應(yīng)。
  • 動(dòng)態(tài)模型切換: 在 Claude Code 中使用 /model 命令動(dòng)態(tài)切換模型。
  • GitHub Actions 集成: 在您的 GitHub 工作流程中觸發(fā) Claude Code 任務(wù)。
  • 插件系統(tǒng): 使用自定義轉(zhuǎn)換器擴(kuò)展功能。

快速入門(mén)
1. 安裝
首先,請(qǐng)確保您已安裝 Claude Code:
npm install -g @anthropic-ai/claude-code
然后,安裝 Claude Code Router:
npm install -g @musistudio/claude-code-router
2. 配置
創(chuàng)建并配置您的 ~/.claude-code-router/config.json 文件。有關(guān)更多詳細(xì)信息,您可以參考 config.example.json。
config.json 文件有幾個(gè)關(guān)鍵部分:
PROXY_URL (可選): 您可以為 API 請(qǐng)求設(shè)置代理,例如:"PROXY_URL": "http://127.0.0.1:7890"。
LOG (可選): 您可以通過(guò)將其設(shè)置為 true 來(lái)啟用日志記錄。日志文件將位于 $HOME/.claude-code-router.log。
APIKEY (可選): 您可以設(shè)置一個(gè)密鑰來(lái)進(jìn)行身份驗(yàn)證。設(shè)置后,客戶(hù)端請(qǐng)求必須在 Authorization 請(qǐng)求頭 (例如, Bearer your-secret-key) 或 x-api-key 請(qǐng)求頭中提供此密鑰。例如:"APIKEY": "your-secret-key"。
HOST (可選): 您可以設(shè)置服務(wù)的主機(jī)地址。如果未設(shè)置 APIKEY,出于安全考慮,主機(jī)地址將強(qiáng)制設(shè)置為 127.0.0.1,以防止未經(jīng)授權(quán)的訪問(wèn)。例如:"HOST": "0.0.0.0"。
Providers: 用于配置不同的模型提供商。
Router: 用于設(shè)置路由規(guī)則。default 指定默認(rèn)模型,如果未配置其他路由,則該模型將用于所有請(qǐng)求。
API_TIMEOUT_MS: API 請(qǐng)求超時(shí)時(shí)間,單位為毫秒。
這是一個(gè)綜合示例:

{
  "APIKEY": "your-secret-key",
  "PROXY_URL": "http://127.0.0.1:7890",
  "LOG": true,
  "API_TIMEOUT_MS": 600000,
  "Providers": [
    {
      "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",
        "anthropic/claude-3.7-sonnet:thinking"
      ],
      "transformer": {
        "use": ["openrouter"]
      }
    },
    {
      "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": ["tooluse"]
        }
      }
    },
    {
      "name": "ollama",
      "api_base_url": "http://localhost:11434/v1/chat/completions",
      "api_key": "ollama",
      "models": ["qwen2.5-coder:latest"]
    },
    {
      "name": "gemini",
      "api_base_url": "https://generativelanguage.googleapis.com/v1beta/models/",
      "api_key": "sk-xxx",
      "models": ["gemini-2.5-flash", "gemini-2.5-pro"],
      "transformer": {
        "use": ["gemini"]
      }
    },
    {
      "name": "volcengine",
      "api_base_url": "https://ark.cn-beijing.volces.com/api/v3/chat/completions",
      "api_key": "sk-xxx",
      "models": ["deepseek-v3-250324", "deepseek-r1-250528"],
      "transformer": {
        "use": ["deepseek"]
      }
    },
    {
      "name": "modelscope",
      "api_base_url": "https://api-inference.modelscope.cn/v1/chat/completions",
      "api_key": "",
      "models": ["Qwen/Qwen3-Coder-480B-A35B-Instruct", "Qwen/Qwen3-235B-A22B-Thinking-2507"],
      "transformer": {
        "use": [
          [
            "maxtoken",
            {
              "max_tokens": 65536
            }
          ],
          "enhancetool"
        ],
        "Qwen/Qwen3-235B-A22B-Thinking-2507": {
          "use": ["reasoning"]
        }
      }
    },
    {
      "name": "dashscope",
      "api_base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions",
      "api_key": "",
      "models": ["qwen3-coder-plus"],
      "transformer": {
        "use": [
          [
            "maxtoken",
            {
              "max_tokens": 65536
            }
          ],
          "enhancetool"
        ]
      }
    }
  ],
  "Router": {
    "default": "deepseek,deepseek-chat",
    "background": "ollama,qwen2.5-coder:latest",
    "think": "deepseek,deepseek-reasoner",
    "longContext": "openrouter,google/gemini-2.5-pro-preview",
    "longContextThreshold": 60000,
    "webSearch": "gemini,gemini-2.5-flash"
  }
}

 

3. 使用 Router 運(yùn)行 Claude Code

使用 router 啟動(dòng) Claude Code:

ccr code

注意: 修改配置文件后,需要重啟服務(wù)使配置生效:

ccr restart

Providers 數(shù)組是您定義要使用的不同模型提供商的地方。每個(gè)提供商對(duì)象都需要:

  • name: 提供商的唯一名稱(chēng)。
  • api_base_url: 聊天補(bǔ)全的完整 API 端點(diǎn)。
  • api_key: 您提供商的 API 密鑰。
  • models: 此提供商可用的模型名稱(chēng)列表。
  • transformer (可選): 指定用于處理請(qǐng)求和響應(yīng)的轉(zhuǎn)換器。
littleseven
run
瀏覽 1.0w
2
相關(guān)推薦
最新評(píng)論
贊過(guò)的人 2
評(píng)論加載中...

暫無(wú)評(píng)論,快來(lái)評(píng)論吧!