AI 工具 19 min read

OmniRoute 能讓 Claude Code 免費用嗎?v3.8.52 接本機 Ollama 實測:閘道全通、8B 模型做不了事

OmniRoute 是 2026 年 2 月開源、MIT 授權的本機 AI 閘道,8 萬多星,提供 OpenAI 與 Anthropic 相容 API,把 Claude Code 的請求轉給你自己接上的供應商。我在 Windows 接本機 Ollama 實測:協定和工具呼叫轉換都正確,但 8B 模型撐不住 Claude Code 一萬多 token 的請求——免費額度要自己註冊各家帳號,接上去跑的也不是 Claude。

OmniRoute 能讓 Claude Code 免費用嗎?v3.8.52 接本機 Ollama 實測:閘道全通、8B 模型做不了事
本文目錄 · 9
懶人包
  • OmniRoute 是 MIT 授權的開源 AI 閘道(npm 套件 omniroute,我測 v3.8.52),在本機開 20128 埠,同時提供 OpenAI 和 Anthropic 格式的 API,再把請求轉給你接上的供應商。
  • 「每月約 16.2 億免費 token」是各家免費層加總的估算,帳號要自己一家一家註冊。README 寫明這不是 OmniRoute 送的 token,剛裝好也可能一個能用的供應商都沒有。
  • 我在 Windows 接本機 Ollama 實測:OpenAI 格式、Anthropic /v1/messages、工具呼叫的格式轉換都正確,回應 header 標示成本 0。
  • Claude Code 2.1.310 接得上,但本機 8B 模型做不了事:Ollama 預設 4,096 context 把請求截斷;開到 32K 後完整收到 12,273 token,模型卻只用文字描述工具呼叫,檔案沒建出來。
  • Anthropic 官方文件寫明不支援透過 gateway 讓 Claude Code 跑非 Claude 模型。接上去的不是 Claude,品質取決於你接的模型;Claude 帳號也不能分給別人共用。

我在 IG 刷到一支介紹 OmniRoute 的短片,主題是「Claude 額度用完怎麼辦」。這個 repo 在 GitHub 有 8 萬多顆星,我把它裝在家裡的 Windows 桌機上,接本機 Ollama,讓 Claude Code 實際打一輪。這篇整理它是什麼、免費額度從哪來、怎麼裝,以及 Claude Code 接上去的實測結果。

📌 目錄

  1. OmniRoute 是什麼?
  2. 免費額度從哪裡來?
  3. 怎麼在 Windows 裝起來接本機 Ollama?
  4. Claude Code 接上去,實測結果如何?
  5. 為什麼 8B 模型在 Claude Code 裡做不了事?
  6. 踩坑與限制
  7. 什麼情況值得用?
  8. 延伸資源

🧭 OmniRoute 是什麼?

OmniRoute 是一個跑在本機的 AI 閘道。程式只要指向它,它就把請求轉給後面設定好的模型供應商:額度用完自動換下一家,用量和成本集中在一個 Dashboard 看。

項目內容(2026-10-25 查)
Repocheaper-inference/OmniRoute,MIT 授權
規模80,646 stars、11,782 forks,2026-02-13 建立
最新版v3.8.52(2026-10-19 發布),npm 套件名 omniroute
形態Next.js 本機服務,預設 port 20128,附繁中 Dashboard
APIOpenAI /v1/chat/completions、Anthropic /v1/messages 等
README 列的功能375 個供應商、20 種路由策略、自動 fallback、RTK+Caveman 壓縮(號稱省 15–95% token)、MCP/A2A
接 Claude Code 的方式是把 ANTHROPIC_BASE_URL 指到它。Claude Code 以為自己在跟 Anthropic API 講話,請求其實被 OmniRoute 轉到別的模型:

Anthropic /v1/messages

轉成 OpenAI 格式

Claude Code

OmniRoute
127.0.0.1:20128

本機 Ollama

Groq/Gemini 等
自己註冊的帳號

付費 API key

💸 免費額度從哪裡來?

README 首頁的標語是「~1.62B free tokens/mo」。同一頁第 20 行就寫了來源:

Bring your own provider accounts. This is an estimated aggregate across separately eligible third-party free tiers, not a token grant from OmniRoute.

意思是:這個數字是把各家第三方供應商的免費層加總估算出來的,OmniRoute 自己不發 token。每一家都要你自己去註冊、拿 key,再貼回 OmniRoute。

README 談供應商的段落還有兩句也該先知道:

  • 「A fresh installation can have no eligible keyless targets」:剛裝好可能沒有任何不需要 key 就能用的目標。
  • 標記 tos: avoid 的供應商(例如 Kiro)預設不進自動路由。README 的免費層圖表裡,有 12 家標成 avoid。
所以「裝了就有免費 Claude」不成立。裝好之後拿到的是一個轉接器,額度和模型品質都看你接了哪些帳號。

🛠️ 怎麼在 Windows 裝起來接本機 Ollama?

我的環境:Windows 11、Node.js、Git Bash、Ollama 已裝好 gemma3:4b 和 hermes3:8b。Docker Desktop 引擎當時回 500,所以改用 npm 裝。

1. 裝到隔離目錄

為了不污染全域 npm,我用 --prefix 裝進工作資料夾。它有原生模組要跑 install script,npm 會要求明確允許:

npm install -g --prefix ./npm-prefix --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute@3.8.52

這一步很慢。我第一次裝跑了 10 分鐘被逾時中斷,第二次裝了二十多分鐘才結束(exit 0)。

2. 啟動服務

DATA_DIR="$PWD/data" INITIAL_PASSWORD=<你的密碼> ./npm-prefix/omniroute serve --no-open --no-tray --log

/api/monitoring/health 回 {"status":"healthy"} 就是起來了。Dashboard 在 http://127.0.0.1:20128,用 INITIAL_PASSWORD 登入。

3. 加 Ollama 供應商

DATA_DIR="$PWD/data" ./npm-prefix/omniroute providers add ollama-local \
  --credential ollama --yes --default-model gemma3:4b \
  --provider-specific-data '{"baseUrl":"http://127.0.0.1:11434/v1"}'

--credential 給一個假值就好,Ollama 不檢查 key。原因寫在下面的踩坑段。

4. 建一把 OmniRoute API key

登入 Dashboard 後建一把 key(我是用 Dashboard 的登入 session 打 POST /api/keys,回 201)。Claude Code 會拿這把 key 當 Bearer token。

5. 讓 Claude Code 指過去

OmniRoute 的 docs/guides/CLAUDE-CODE-CONFIGURATION.md 寫明 ANTHROPIC_BASE_URL 是閘道根網址、不加 /v1,key 放 ANTHROPIC_AUTH_TOKEN。我另開一個 CLAUDE_CONFIG_DIR,不動自己平常的 Claude Code 設定:

CLAUDE_CONFIG_DIR=../cc-config \
ANTHROPIC_BASE_URL=http://127.0.0.1:20128 \
ANTHROPIC_AUTH_TOKEN=<OmniRoute API key> \
ANTHROPIC_API_KEY= \
ANTHROPIC_MODEL=ollama/hermes3:8b \
ANTHROPIC_SMALL_FAST_MODEL=ollama/gemma3:4b \
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 \
claude -p "Reply with exactly: HELLO FROM OMNIROUTE" --output-format json

同一份文件也提供 omniroute launch 一鍵帶環境變數啟動 Claude Code,這個我沒測。

🧪 Claude Code 接上去,實測結果如何?

我先用 curl 直接打 API,確認閘道本身沒問題,再讓 Claude Code 上場。七個測試的結果:

#測試結果
1OpenAI 格式 /v1/chat/completions✅ 200,gemma3:4b 正常回答
2Anthropic /v1/messages 問 1+1✅ 回 1 + 1 = 2
3Anthropic 格式繁中提問✅ 回「我是一個大型語言模型,由 Google 訓練…」,usage 16/27
4Claude Code -p 叫它回固定字串⚠️ 連線成功,輸入卡在 4,096 token,回了一段不相干的 Claude Code 使用技巧
5Claude Code 用 Write 工具建檔(4K)❌ 回了不相干的任務清單,沒建檔
6同上,換 32K context 模型❌ 完整收到 12,273 token,模型只用文字描述工具呼叫,沒建檔
7直接打 /v1/messages,帶一個 get_weather tool✅ 回 tool_use,input: {"city":"Taipei"},stop_reason: tool_use
測試 1 的回應 header 很好讀,路由決策和成本都寫在上面:
x-omniroute-decision: strategy=single; provider=ollama; latency_ms=14259
x-omniroute-model: gemma3:4b
x-omniroute-provider: ollama
x-omniroute-response-cost: 0.0000000000
x-omniroute-tokens-in: 27
x-omniroute-tokens-out: 350
x-omniroute-version: 3.8.52

Dashboard 的請求日誌也看得到每一筆:協議 CLAUDE、供應商 OLLAMA,Claude Code 那幾筆的輸入 token 是 4,096 和 12,273。

OmniRoute Dashboard 請求日誌:請求協議 CLAUDE 轉到提供者 OLLAMA,輸入 token 4,096 與 12,273

🔍 為什麼 8B 模型在 Claude Code 裡做不了事?

測試 7 證明 OmniRoute 的工具呼叫轉換是對的:Anthropic 格式的 tool 定義進去,Ollama 回的 tool call 出來,被轉回標準的 tool_use 區塊。問題出在模型那一端,有兩層。

第一層:4,096 context 把請求截斷

測試 4、5 的 input_tokens 都剛好是 4096。Ollama 預設 context 是 4,096,Claude Code 每次請求帶的系統提示加工具定義遠超過這個長度,被截掉的部分包含使用者真正的指令,所以模型答非所問。

解法是做一個 context 開大的模型:

FROM hermes3:8b
PARAMETER num_ctx 32768
ollama create hermes3-32k -f Modelfile.hermes3-32k

第二層:模型不會發出工具呼叫

換成 32K 後,測試 6 的輸入是 12,273 token,請求完整收到了。模型的回答是:

To create a file named hello.txt ... you can use the Write tool like this: {"tool":"Write","file_path":"hello.txt","content":"hi"}

它知道要用 Write,但把呼叫寫成一段說明文字,沒有發出真正的 tool call,Claude Code 也就沒有東西可以執行。測試 7 只有一個工具、幾十個字的請求,hermes3 就能正確呼叫;Claude Code 的請求是一萬多 token 的系統提示加二十幾個工具,8B 模型撐不住。

結論是:OmniRoute 這層沒問題,Claude Code 能不能真的寫 code,要看後面接的模型夠不夠強。要拿來寫 code,得接能穩定處理長系統提示和工具呼叫的模型,本機 8B 不行。

⚠️ 踩坑與限制

安裝與設定的坑

  • CLI 不帶 DATA_DIR 會另開一份資料:服務用 DATA_DIR=./data 啟動,providers add 沒帶同一個 DATA_DIR,就會在 %APPDATA%\omniroute 建另一份,加的供應商服務看不到。每個 CLI 指令都要帶。
  • Ollama 連線沒給 credential 會被當成 apikey 型別:狀態顯示「Connection ollama-local has no API key configured」。補 --credential ollama 之後就正常了。
OmniRoute 繁中 Dashboard 的 Ollama 提供者頁,連線 ollama-local 顯示 no API key configured 錯誤
  • Git Bash 下 curl 送中文會亂碼:直接把中文寫在 -d 參數裡,模型收到的是 cp950 亂碼。改成把 body 存成 UTF-8 檔,用 --data-binary @body.json 送。
  • Claude Code 的成本估算不準:測試 4 的 total_cost_usd 是 0.027144,那是 Claude Code 用自己的價目表估的;stderr 有 [claude-code:unrecognized_model],OmniRoute header 的實際成本是 0。看成本以閘道為準。

官方立場與帳號風險

Claude Code 官方的 LLM gateway 文件 寫得很直接:

Anthropic doesn't endorse, maintain, or audit third-party gateway products, and doesn't support routing Claude Code to non-Claude models through any gateway.

同一頁也說明,走 gateway 憑證時訂閱方案的用量上限不適用,流量算在憑證擁有者身上。

另外,OmniRoute 的供應商清單裡有「訂閱 OAuth」這類接法。如果是把 Claude 訂閱帳號接上去給別人用,Anthropic 消費者條款(2025-10-08 生效)寫明「You may not share your Account login information, Anthropic API key, or Account credentials with anyone else」,也不能把帳號給其他人使用。自己的電腦接自己的 API key 沒問題,帳號共用就有停權風險。

隱私

README 也寫了,部分免費供應商會記錄請求內容。公司程式碼或客戶資料不要送到你沒看過隱私條款的免費層。

✅ 什麼情況值得用?

適合:

  • 手上已經有好幾家模型的 API key,想用一個 endpoint 統一管理,額度用完自動換下一家。
  • 想把 Claude Code、Codex、Cursor 指到同一個閘道,集中看用量和成本。
  • 教學或研究 AI Gateway:路由、fallback、協議轉換都有實作,Dashboard 有繁中介面,拿來 demo 很直觀。
不適合:
  • 想要「免費的 Claude」。接上去跑的是別家模型,Claude Code 的體驗取決於那個模型。
  • 只想用本機小模型跑 Claude Code。我的實測裡 8B 模型連建一個檔案都做不到。
  • 打算把 Claude 訂閱帳號接進去給別人共用。
我的下一步是拿雲端的強模型 API key 接上去重測,看 Claude Code 能不能真的完成寫 code 的任務。

🔗 延伸資源

author
陳
陳彥彤

AI 工程師 · AI 顧問。Java 後端 8 年、AI 工程師 2 年。AI 內訓 · AI 導入顧問 · 前後端與雲端培訓。

support

覺得文章有用可以到 GitHub 給個 star,或是透過信箱聊聊 AI 內訓、AI 導入顧問或前後端 / 雲端培訓。

related

相關文章