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

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

核心功能

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

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

{
  "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 運行 Claude Code

使用 router 啟動 Claude Code:

ccr code

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

ccr restart

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

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

暫無評論,快來評論吧!