我把 Claude Code 接上 250 多個免費 AI 服務商

我把 Claude Code 接上 250 多個免費 AI 服務商

最近 GitHub 上有個工具在圈子裡討論度不低,叫 OmniRoute。開源、MIT 授權,star 數已經衝到 2.6 萬多。它做的事情很單純:在你的電腦上開一個本地閘道(gateway),把 Claude Code、Codex 這類編碼工具的請求,統一轉送到 250 多個 AI 服務商——其中 90 多個是免費的,還有 11 個是「永久免費」等級。

我自己實測跑了幾天,這篇把它到底在做什麼、怎麼裝、怎麼接上 Claude Code,一次寫清楚。影片裡只講了「有這個東西、它很猛」,沒講怎麼動手——這篇補完。

它到底解決什麼問題

用 Claude Code 的人多半都遇過同一件事:額度用到一半,模型突然回你「額度已用盡」,工作到一半被迫中斷,還要手動換模型、把提示詞重新貼一次。

OmniRoute 的角色,你可以想成接力賽的交棒手。它不是另一個 AI 模型,而是一層中間閘道:Claude Code 發出的每一個請求,先經過 OmniRoute,再由它決定要交給誰處理。某個服務商額度見底,它會在毫秒等級的時間內自動切到下一個,整個過程你的對話不會斷、提示詞也不用重貼。

官方文件把這套機制稱為「四層自動容錯」(4-tier auto-fallback):訂閱制 → API 計費 → 便宜方案 → 免費方案,依序往下嘗試,一路換到有額度為止。背後有 18 種路由策略可以選,例如按優先順序耗盡、或是依權重分散請求。

順便幫你把提示詞「瘦身」

除了自動換模型,OmniRoute 還有一個容易被忽略但很實用的功能:送出提示詞之前,先幫你壓縮內容

它疊了 10 種可組合的壓縮引擎,官方文件給的數字是:一般情況可省下 15%~95% 的 token,工具密集型的對話平均可省到 89%。標準模式會同時做兩件事——過濾掉指令輸出裡的雜訊(RTK),以及精簡口語敘述(他們內部叫 Caveman 模式)。程式碼區塊、URL、JSON 這些格式敏感的內容會被保護起來,不會被誤壓縮。

官方給的實測例子:一段 69 個 token 的 React 說明文字,壓縮後剩 19 個 token,技術內容完全沒變,等於省了 72%。換算下來就是同樣的預算,你能多打好幾倍的字——這也是它另一個核心賣點。

開始動手:完整安裝教學

以下是實際安裝、串接 Claude Code 的完整步驟。

前置需求

Node.js 版本要求:22.x 或 24.x LTS(官方建議用 24 LTS)。先確認你的版本:

node -v

第一步:安裝並啟動

用 npm 全域安裝:

npm install -g omniroute
omniroute

啟動後會開出兩個服務:

  • 儀表板(Dashboard)http://localhost:20128
  • API 端點http://localhost:20128/v1

如果安裝過程看到 npm warn ERESOLVE 的警告,官方說這是無害的,不用理它(背後跟原生 SQLite 模組 better-sqlite3 的選用性建置有關,裝不起來也會自動 fallback)。

不想用 npm 的話,也有 Docker 版本:

docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
  -p 20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest

第二步:拿一把 API Key

打開瀏覽器進 http://localhost:20128,在 Dashboard → Endpoints 裡建立、複製一把金鑰。這把金鑰是你之後所有工具跟 OmniRoute 溝通用的,不是連去 Anthropic 官方帳號的金鑰。

先驗證一下有沒有裝對:

curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"

回傳一串可用模型清單,就代表閘道跑起來了。

第三步:一鍵串接 Claude Code

OmniRoute 內建了專門幫 Claude Code 產生設定檔的指令,不用自己手改設定:

omniroute setup-claude

這行指令會在 ~/.claude/profiles/<name>/settings.json 底下自動生成一份設定檔案,長得像這樣:

{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "model": "glm/glm-5.2",
  "effortLevel": "xhigh",
  "env": {
    "ANTHROPIC_BASE_URL": "http://localhost:20128",
    "ANTHROPIC_MODEL": "glm/glm-5.2",
    "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1",
    "CLAUDE_CODE_AUTO_COMPACT_WINDOW": "190000"
  }
}

有幾個常用參數值得認識一下:

  • ANTHROPIC_BASE_URL:填閘道的根網址,不要加 /v1,Claude Code 會自己補上 /v1/messages
  • ANTHROPIC_MODEL:強制指定用哪個模型,蓋掉 Claude Code 內建的 /model 選單預設值
  • CLAUDE_CODE_AUTO_COMPACT_WINDOW:觸發自動壓縮對話記錄的 token 門檻

安全性補充:setup-claude 產生的設定檔不會把你的驗證金鑰寫進檔案裡(避免你不小心把金鑰 commit 進 git)。金鑰要在啟動時另外帶入。

只想串接部分模型,也可以指定:

omniroute setup-claude --only glm,kimi

想先看看會產生什麼、但不真的寫檔案,可以加 --dry-run 先預覽。

第四步:啟動並帶入金鑰

omniroute launch

或指定用哪一組設定檔啟動:

omniroute launch --profile glm52

如果 OmniRoute 是跑在遠端主機(例如你的 NAS 或另一台機器)而不是本機,指令長這樣:

omniroute launch --remote http://192.168.0.15:20128 --api-key oma_live_xxx

裝完這四步,回到 Claude Code 打開一個對話,模型清單裡就會看到 OmniRoute 接上的服務商(畫面上會顯示類似「Now using Gemini」的切換提示),額度見底時它會自己往下一個接棒,你完全不用手動介入。

目前串接的免費服務商,舉幾個例子

官方文件列出的「永久免費」清單裡,比較值得認識的幾個:

  • Kiro:Claude Sonnet 4.5,每月約 50 點額度
  • Qoder:Kimi-K2、DeepSeek-R1,無限量
  • Pollinations:GPT-5、Claude、Gemini,不需要申請金鑰就能用
  • Cloudflare AI:50 多種模型,每天 1 萬個 neurons 額度
  • NVIDIA NIM:129 種模型,約每分鐘 40 次請求
  • Cerebras:Qwen3 235B,每天 100 萬 token

完整清單跟即時額度狀態,開了 Dashboard 都看得到,不用背。

老實說幾句提醒

先讀這段再動手

免費不代表沒有限制。每個服務商背後的額度規則不是 OmniRoute 訂的,是那些服務商自己訂的——OmniRoute 只是幫你在額度見底時自動換下一家,本身不會生出更多免費額度。像 LongCat 這種一次性 1000 萬 token 的方案還要求做 KYC(身分驗證),不是每個人都想走這一步。

另外它畢竟是一個要在你電腦上常駐運行的本地服務,串接的是你原本用來寫程式、可能牽涉到公司程式碼的工具——裝之前自己評估一下資安考量,尤其是遠端模式(--remote)如果要對外開放,記得金鑰要保管好。