# Claude Code Router 完整使用指南:從零開始的本地部署與成本優化攻略
說實話,當我第一次收到 Anthropic 的月度帳單時,看到那個數字差點讓我的咖啡灑出來。一個月下來,光是用 Claude Code 寫程式,API 費用就超過了 200 美金。對於一個個人開發者來說,這不是小錢啊。
就在我考慮要不要減少使用 Claude Code 的時候,偶然間發現了一個叫做 **Claude Code Router** 的開源專案。這個工具徹底改變了我的 AI 開發體驗——不僅保留了 Claude Code 的所有強大功能,還讓我的 API 成本直接降低了 90%!
今天就來分享一下我這幾個月使用 Claude Code Router 的完整經驗,包括安裝配置、多供應商設定、本地部署,還有一些踩坑經驗。

## 什麼是 Claude Code Router?為什麼它這麼香?
Claude Code Router 本質上是一個智慧代理工具,它會攔截 Claude Code 發送給 Anthropic 的請求,然後根據你的配置將這些請求轉發到其他更便宜的 AI 供應商。
聽起來有點複雜?其實用起來超簡單。你還是用原來的 `claude code` 命令,但背後的請求已經偷偷換成了 DeepSeek、Gemini 或者本地運行的 Ollama 模型。
最關鍵的是,它完全不會破壞你現有的工作流程。所有的 Claude Code 功能,包括 MCP 伺服器、subagents、檔案操作等等,都能正常使用。
## 快速上手:5 分鐘完成基本安裝
### 第一步:安裝必要組件
首先確保你已經安裝了 Claude Code:
```bash
# 如果還沒安裝 Claude Code
npm install -g @anthropic-ai/claude-code
# 安裝 Claude Code Router
npm install -g @musistudio/claude-code-router
```
安裝過程很順利,我在 MacBook 上大概花了 2 分鐘就完成了。
### 第二步:建立配置目錄和基本配置
```bash
# 建立配置目錄
mkdir -p ~/.claude-code-router
# 建立基本配置檔案
cat > ~/.claude-code-router/config.json << 'EOF'
{
"Providers": [
{
"name": "deepseek",
"api_base_url": "https://api.deepseek.com/chat/completions",
"api_key": "${DEEPSEEK_API_KEY}",
"models": ["deepseek-chat", "deepseek-reasoner"]
}
],
"Router": {
"default": "deepseek,deepseek-chat"
},
"Settings": {
"API_TIMEOUT_MS": 60000,
"LOG_LEVEL": "info"
}
}
EOF
```
### 第三步:設定 API 金鑰
```bash
# 在你的 .bashrc 或 .zshrc 中加入
export DEEPSEEK_API_KEY="你的-deepseek-api-key"
# 重載設定
source ~/.zshrc # 或 source ~/.bashrc
```
### 第四步:測試運行
```bash
# 啟動 Claude Code Router
ccr code
```
如果一切順利,你會看到 Claude Code 啟動,但請求會被路由到 DeepSeek。我第一次運行時還有點不敢相信,真的這麼簡單就搞定了!
## 多供應商配置:打造你的 AI 軍火庫
單一供應商雖然簡單,但真正的威力在於多供應商配置。經過幾個月的使用,我總結出了一套比較實用的配置策略。
### 完整的多供應商配置範例
```json
{
"APIKEY": "your-secret-key",
"PROXY_URL": "http://127.0.0.1:7890",
"LOG": true,
"API_TIMEOUT_MS": 600000,
"NON_INTERACTIVE_MODE": false,
"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"
]
}
},
{
"name": "aihubmix",
"api_base_url": "https://aihubmix.com/v1/chat/completions",
"api_key": "sk-",
"models": [
"Z/glm-4.5",
"claude-opus-4-20250514",
"gemini-2.5-pro"
]
}
],
"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"
}
}
```

### 路由策略說明
這套配置的核心思路是:
- **default**: 日常任務用 DeepSeek,性價比最高
- **background**: 背景任務用 Gemini 免費額度
- **think**: 複雜推理用 DeepSeek Reasoner
- **longContext**: 長文本處理用 Gemini 2.0 Flash
實際使用下來,這套策略既保證了品質,又最大程度降低了成本。
## 成本分析:真實的省錢效果
讓我用實際數據來說話。這是我使用 Claude Code Router 前後的成本對比:
### 最新價格對比 (2025年2月更新)
| 供應商 | 輸入價格 (每百萬 tokens) | 輸出價格 (每百萬 tokens) | 相對節省 |
|--------|-------------------------|-------------------------|---------|
| Claude 3.5 Sonnet | $3.00 | $15.00 | - |
| DeepSeek V3 | $0.27 | $1.10 | ~90% |
| Gemini 2.0 Flash | $0.10 | $0.40 | ~95% |
| Ollama (本地) | $0.00 | $0.00 | 100% |
### 我的實際使用成本
以我一個月的典型使用量來算:
- 輸入:約 500 萬 tokens
- 輸出:約 200 萬 tokens
**使用 Claude 直接 API**:$15 + $30 = **$45**
**使用 Claude Code Router**:
- 70% 使用 DeepSeek:$0.95 + $1.54 = $2.49
- 20% 使用 Gemini:$0.10 + $0.16 = $0.26
- 10% 使用 Ollama:$0
**總計約 $2.75,節省 94%!**
## LM Studio + Ollama 本地部署完整攻略
為了進一步降低成本,我還配置了本地 Ollama 模型。對於一些不太複雜的任務,本地模型完全夠用。

### LM Studio 安裝和配置
1. **下載 LM Studio**
從官方網站 https://lmstudio.ai 下載對應平台的版本。我用的是 Mac 版本,安裝過程就是拖拽到 Applications 資料夾。
2. **下載模型**
第一次打開 LM Studio 時,可以直接搜尋和下載模型。我推薦幾個實用的:
- `Qwen2.5-Coder-7B`: 程式碼生成表現不錯
- `DeepSeek-Coder-6.7B`: 輕量級但很實用
- `Llama-3.2-3B`: 通用任務的好選擇
3. **啟動本地伺服器**
在 LM Studio 中載入模型後,點擊 "Start Server",默認會在 `http://localhost:1234` 啟動 OpenAI 相容的 API 伺服器。
### Ollama
如果你更喜歡命令列操作,Ollama 是更好的選擇:
```bash
# 安裝 Ollama (Mac)
brew install ollama
# 啟動 Ollama 服務
ollama serve
# 下載並運行模型
ollama pull openai/gpt-oss-20b
ollama pull qwen/qwen3-coder-30b
```
### 配置Mstudio

### 整合到 Claude Code Router
在配置檔案中加入本地模型:
```json
{
"name": "ollama",
"api_base_url": "http://localhost:1234/v1/chat/completions",
"api_key": "lmstudio",
"models": [
"openai/gpt-oss-20b",
"qwen/qwen3-coder-30b"
],
"transformer": {
"use": [
"OpenAI"
]
}
}
```
然後可以設定某些任務專門使用本地模型:
```json
"Router": {
"default": "kimi-k2-turbo-preview ,kimi-k2-turbo-preview",
"background": "kimi-k2-turbo-preview ,kimi-k2-turbo-preview",
"think": "deepseek,deepseek-reasoner",
"longContext": "gemini,gemini-2.5-pro",
"longContextThreshold": 60000,
"webSearch": "gemini,gemini-2.0-flash",
"image": ""
}
```
### 本地模型的使用體驗
說實話,本地模型的回應速度和品質確實不如雲端模型,但對於一些簡單的程式碼補全、註解生成、重構建議等任務,已經完全夠用了。而且完全免費,這點特別香。
我通常會把一些敏感的程式碼或者內部專案的任務分配給本地模型,既保護了隱私,又節省了成本。
## Claude Code Router UI 操作指南
除了命令列模式,Claude Code Router 還提供了 UI 界面,讓操作更加直觀。
```bash
# 啟動 UI 模式
ccr ui
```
UI 界面會在瀏覽器中打開,你可以:
- 視覺化地切換不同的模型
- 即時查看 API 調用統計
- 調整路由規則
- 監控各供應商的回應時間和成本
*(這裡會加入用戶提供的 CCR UI 範例圖片)*
## 實戰優化技巧
經過幾個月的使用,我總結了一些實用的優化技巧:
### 1. 智慧回退策略
配置回退機制,當主要供應商出現問題時自動切換:
```json
"Settings": {
"FALLBACK_ENABLED": true,
"FALLBACK_PROVIDERS": ["deepseek", "gemini", "ollama"]
}
```
### 2. 成本監控
定期檢查 API 使用量:
```bash
# 查看使用統計
ccr statusline
```
### 3. 環境變數管理
建立一個環境變數管理腳本:
```bash
# ~/.claude-env
export DEEPSEEK_API_KEY="sk-xxxxxx"
export OPENROUTER_API_KEY="sk-or-xxxxxx"
export GEMINI_API_KEY="AIxxxx"
# 使用時載入
source ~/.claude-env
```
## 常見問題排除
### Q1: 模型切換後回應格式異常
這通常是轉換器配置問題。確保在配置中指定了正確的 transformer:
```json
{
"name": "deepseek",
"transformer": "deepseek"
}
```
### Q2: API 超時問題
某些模型回應較慢,可以調整超時設定:
```json
"Settings": {
"API_TIMEOUT_MS": 180000 // 3分鐘
}
```
### Q3: 本地模型載入失敗
檢查 Ollama 服務是否正常運行:
```bash
# 檢查 Ollama 狀態
ollama list
# 重啟服務
ollama serve
```
## 最佳實踐建議
1. **分層使用策略**:簡單任務用便宜模型,複雜任務用高階模型
2. **定期監控成本**:每週檢查一次 API 使用量和費用
3. **備份配置**:將配置檔案加入版本控制
4. **測試新模型**:定期試用新的供應商和模型
5. **隱私保護**:敏感程式碼使用本地模型
## 社群資源和更新
Claude Code Router 作為開源專案,社群非常活躍:
- **GitHub**: https://github.com/musistudio/claude-code-router
- **當前版本**: 1.0.8 (截至 2025年2月)
- **Star 數**: 6.7k+
### 值得關注的增強版本
- `@tellerlin/claude-code-router`: 加入了 API 密鑰輪換功能
- `@jasonzhangf/claude-code-router-enhanced`: 增加了重試機制
## 總結:為什麼我推薦 Claude Code Router
回顧這幾個月的使用經驗,Claude Code Router 不僅僅幫我省了錢,更重要的是給了我選擇的自由。
我可以根據不同的任務選擇最合適的模型,不再被綁定在單一供應商上。對於個人開發者和小團隊來說,這種靈活性和成本優勢是巨大的。
當然,它也不是完美的。設定過程需要一些技術基礎,而且需要管理多個 API 密鑰。但相比節省的成本和獲得的靈活性,這些小麻煩完全可以接受。
如果你也在為 AI 開發成本發愁,或者想要更多的模型選擇,我真心推薦試試 Claude Code Router。說不定它也會像改變我的開發體驗一樣,改變你的。
畢竟,在這個 AI 快速發展的時代,有選擇總比沒選擇好,對吧?
---
**相關連結:**
- [Claude Code Router GitHub](https://github.com/musistudio/claude-code-router)
- [LM Studio 官網](https://lmstudio.ai)
- [Ollama 官網](https://ollama.ai)
- [DeepSeek API 文檔](https://platform.deepseek.com/)