0% read

Gemma 4 接上 Claude Code Router:讓 Claude Code 跑本機模型(2026)

Apr 16, 2026

Gemma 4 接上 Claude Code Router:讓 Claude Code 跑本機模型(2026)

Claude Code 是 Anthropic 推出的終端機 AI 編程工具,靠上下文理解與程式碼品質打出口碑。但它預設且唯一支援的後端是 Anthropic 自家的雲端 API —— 這代表你的程式碼必須上傳到對方伺服器,而且每一次呼叫都會計費。

對在意程式碼隱私、需要離線作業、或身處嚴格企業網路環境的工程師來說,這是個實際的痛點。Claude Code Router(CCR) 是社群開發的開源代理工具,它會攔截 Claude Code 發出的 API 請求,再轉送到你指定的後端 —— 例如跑著 Gemma 4 的本機 Ollama。

這篇指南會帶你把整條流程走一遍:安裝 CCR、把 Gemma 4 接成上游、實際用來寫程式,以及你必須理解的合規、品質與支援層面限制。我們不是在推銷 CCR,這是灰色地帶方案,希望你在看完完整代價之後再做決定。

為什麼有人想讓 Claude Code 跑本機模型?

在動手前,先釐清需求的合理性。以下三個場景很實際:

受監管的程式碼庫。 金融、國防、醫療、部分政府機關不允許把原始碼送到第三方雲端,Anthropic 的條款不會解決這件事。跑在工作站上的本機模型可以把程式碼守在網路邊界內。

網路很爛或完全斷線。 遠端工作時 Wi-Fi 品質差、長途飛行、野外研究、封閉實驗室。雲端 API 會失敗,本機模型照常運作。

自訂或微調模型。 你可能有針對特定領域(生物資訊、EDA、內部 DSL)微調的 Gemma 4,希望套用 Claude Code 的操作體驗,但換上自己的權重。

這些都是工程上合理的動機,和「想省 Claude 的錢」是不同層級的問題,這篇文章不替後者辯護。

合規與法律聲明(動手前必讀)

免責聲明: 下列設定會改寫 Claude Code 的上游 API 端點,讓它指向第三方本機代理。依照 Anthropic 服務條款後續的演變,這個動作可能違反 Claude Code 的使用規範,並讓你的帳號面臨被停用的風險。本文是技術文件,不是法律意見。若要在公司內部署,請先請法務與資安團隊過目。

你也必須接受下列技術取捨:

  1. 功能降級。 extended thinking、prompt caching 與部分 tool use 格式都是針對 Anthropic 模型調校的。換成 Gemma 4 之後,這些功能可能降級、出現異常或無聲失敗。
  2. 輸出品質差距。 Gemma 4 26B / 31B 是很強的開源模型,但在複雜的多檔案推理上仍不如 Claude 3.5 / 4。請務必把期待值往下調。
  3. 社群專案,沒有 SLA。 CCR 由志工維護。Anthropic 只要變更 API 格式,CCR 可能一夜失效,而且沒有商業支援合約可以撐。

如果這些取捨你能接受,再繼續往下看。

Claude Code Router 究竟是什麼?

CCR 是一個輕量級的本機 HTTP 代理,通常用 Node.js 撰寫。它做的事情很單純:

  1. 在本機監聽一個埠號。
  2. 接收形如 Anthropic Messages API 的請求。
  3. 把請求改寫成 OpenAI 相容格式(Ollama / LiteLLM / OpenRouter 等)。
  4. 再把串流回應轉回 Claude Code 期望的樣子。

關鍵就在這層格式轉換:訊息角色、tool call 區塊、串流的 delta、stop reason 在兩套 API 家族之間都有差異,CCR 把它們磨平,讓 Claude Code 以為還在跟 Anthropic 講話。

事前準備

  • Node.js 18+(CCR 是 Node 專案)
  • Ollama 已安裝並啟動(ollama.com
  • Gemma 4 26B 或 31B 已經透過 Ollama 拉下來
  • Claude Codenpm install -g @anthropic-ai/claude-code
  • 硬體:26B 至少 16 GB 記憶體,31B 至少 24 GB。硬體選型請參考文末的相關文章。

第一步:安裝 Claude Code Router

複製儲存庫並安裝相依套件:

git clone https://github.com/<org>/claude-code-router.git
cd claude-code-router
npm install

網址會隨著 fork 而不同。CCR 是社群專案,可能被改名或衍生出分支。請在 GitHub 搜尋「claude code router」或「claude code proxy」,挑最近仍有提交的維護版本。

第二步:把 CCR 指到 Ollama

在 CCR 的資料夾裡建立 .env(或 config.json,依 fork 而定):

UPSTREAM_PROVIDER=ollama
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=gemma4:26b-a4b
PORT=8082

啟動代理:

npm start

應該會看到類似的輸出:

Claude Code Router started on port 8082
Upstream: ollama (gemma4:26b-a4b)
Ready to accept connections

快速驗證端點:

curl http://localhost:8082/v1/models

應該會回傳含有 Gemma 4 模型的 JSON 清單。

第三步:讓 Claude Code 轉向 CCR

Claude Code 以 ANTHROPIC_BASE_URL 決定要打哪個端點。把它指向本機代理:

export ANTHROPIC_BASE_URL="http://localhost:8082"
export ANTHROPIC_API_KEY="local"   # 不能為空,值本身不重要
claude

Claude Code 會照常啟動,但所有請求都改由 CCR 轉送到本機 Gemma 4。

如果不想每次都手動改環境變數,可以寫進 ~/.zshrc / ~/.bashrc,或乾脆用 alias 隔離:這樣預設的 claude 仍走官方 API,claude-local 才走本機:

alias claude-local='ANTHROPIC_BASE_URL=http://localhost:8082 ANTHROPIC_API_KEY=local claude'

第四步:實際用看看

解釋程式碼:

> 說明一下 src/auth/middleware.ts 在做什麼

Gemma 4 會讀取檔案並整理重點。單一檔案解釋還可以,但跨模組的深度推理就是它的弱項。

產生新的端點:

> 在 src/api/ 下新增 health.ts,實作 GET /api/health,回傳服務狀態與版本號

CRUD 與 HTTP 骨架的任務大多表現不錯。

修 Bug:

> npm test 噴 "Cannot read properties of undefined",幫我看 src/utils/parser.ts

有明確堆疊訊息時,Gemma 4 通常可以定位問題;但對於沒有錯誤訊號的隱性 Bug,效果就會打折扣。

真實體驗比較表

面向原版 Claude CodeCCR + Gemma 4 26BCCR + Gemma 4 31B
程式碼生成品質極佳中等(約 GPT-3.5)良好(接近 GPT-4)
多檔案推理極佳偏弱中等
Tool use 相容性完美部分異常部分異常
Extended thinking支援不支援不支援
回應速度快(雲端)20–40 t/s15–30 t/s
隱私程式碼上傳雲端完全本機完全本機
離線可用
每月費用依用量計費0 元0 元

合適:單檔案程式碼生成、程式碼解釋、簡單 Bug 修正、離線或受限環境的暫時使用。

不合適:架構級重構、長上下文多檔案修改、仰賴 extended thinking 的深度推理。

CCR 與其他本機 AI 編程方案的對比

方案原生本機支援需要代理Git 整合多檔案編輯成熟度
Aider + Gemma 4原生不需要自動 commit高(30K+ stars)
Codex CLI + Gemma 4需要設定不需要以單檔為主
CCR + Claude Code + Gemma 4不支援需要 CCR強(承襲 Claude Code)低(實驗性)
Cursor + Ollama需要外掛不需要

誠實的看法: 如果你的核心需求是「本機模型 + 終端機編程」,Aider 才是比較成熟的答案 —— 它原本就是為本機後端設計的。CCR 只在你已經深度依賴 Claude Code 的工作流、而且有明確的隱私或離線限制時,才值得考慮。

常見故障排除

「Port already in use」 —— 改 .env 裡的 PORT,或是把佔用 8082 的程式關掉:

lsof -i :8082
kill -9 <PID>

Claude Code 顯示「Authentication failed」 —— 確認 ANTHROPIC_API_KEY 非空,而且 ANTHROPIC_BASE_URL 指到 CCR 的埠號。

輸出亂碼或被截斷 —— CCR 的格式轉換不是完美的。可以先 git pull && npm install 升級,或改用 31B(格式遵從度比較好),也可以把 prompt 簡化。

回應很慢 —— 用 ollama ps 確認 Ollama 跑在 GPU 上。記憶體吃緊就改用 GGUF 量化。

常見問答 FAQ

Q:用 CCR 會被 Anthropic 停用帳號嗎? A:風險不是零。改寫 Claude Code 的 API 端點可能違反 Anthropic ToS。我們沒辦法給法律意見,這屬於個人風險判斷;商業用途前務必諮詢法務。

Q:Gemma 4 可以完全取代 Claude 嗎? A:不行。Claude Code 的諸多高階能力(extended thinking、深度上下文、特定 tool use 格式)都是針對 Anthropic 模型調校的,Gemma 4 只能給你功能的子集合,不是對等替代。

Q:CCR 支援 Windows 嗎? A:支援。Node.js 與 Ollama 都是跨平台的,安裝步驟相同。

Q:可以接 GPT-4 或其他雲端模型嗎? A:CCR 支援多種上游,包含 OpenAI。但這會犧牲「本機隱私」這個核心價值,而且還得付上游的 API 費用。

Q:為什麼不直接用 Aider 或 Codex CLI? A:多數情況下那才是比較好的答案。Aider 的 repo map 與自動 git commit 在本機場景下體驗更好。只有在 Claude Code 的操作體驗對你不可取代時才選 CCR。詳見 Aider + Gemma 4 指南

Q:Gemma 4 E2B / E4B 可以用嗎? A:技術上可以轉發到任何 Ollama 模型,但 4B / 8B 撐不起 agentic 編程負載。最低建議用 26B。

Q:可以放進團隊的正式環境嗎? A:不建議。ToS 風險再加上 CCR 是單一維護者的社群專案,我們不會把它放進團隊共用的關鍵路徑。個人研究或小規模試點可以,團隊生產環境請保守看待。

相關文章

gemma4 — interact

Stop reading. Start building.

~/gemma4 $ Get hands-on with the models discussed in this guide. No deployment, no friction, 100% free playground.

Launch Playground />
Gemma 4 AI

Gemma 4 AI

Related Guides

Gemma 4 接上 Claude Code Router:讓 Claude Code 跑本機模型(2026) | 部落格