9Router:把 Claude Code 接上免費模型的閘道,但先看清楚 RTK 的取捨
Unlimited FREE AI coding. Connect Claude Code, Codex, Cursor, Cline, Copilot, Antigravity to FREE Claude/GPT/Gemini via 40+ providers. Auto-fallback, RTK -40% tokens, never hit limits.
秒懂
- 它是什麼?
- 9Router 是一個以 JavaScript 撰寫、MIT 授權的 AI 路由閘道,讓 Claude Code、Cursor 等工具透過單一 endpoint 連到 40 多家供應商,並以 RTK 節省 token。本文依據 README 與 release notes 檢視其架構、安裝方式與實際限制。
- 適合誰用?
- 9Router 適合已經在使用 Claude Code、Cursor 或 Cline,且願意把 API 流量導向第三方閘道以換取免費額度的開發者。它不適合需要嚴格資料控管、或無法接受工具輸出被壓縮的團隊,因為 RTK 會改寫 tool_result 內容。
- 可以商用嗎?
- 可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 5 天前。
- 用什麼語言寫的?
- 主要是 JavaScript(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
它解決的是訂閱浪費與中斷問題
9Router 的出發點很直接:多數 AI 編碼工具綁定單一供應商,訂閱額度每月歸零,rate limit 又會在編到一半時打斷流程。README 列出的痛點包括工具輸出(git diff、grep、ls)消耗大量 token,以及手動切換供應商的麻煩。這個專案把這些問題收斂成一個本機代理,讓 Claude Code、Codex、Cursor、Cline 等工具指向 http://localhost:20128/v1,由 9Router 統一轉發。目標使用者是重度依賴 AI agent 的個人開發者或小團隊,他們不想為每個供應商各付一份月費,也受夠了額度重置前的浪費。它不是給企業做集中控管的產品,比較像是個人工具鏈的省錢裝置。
分層 fallback 與 round-robin 的實際機制
README 的架構圖顯示請求會先進入 9Router,再依序嘗試三個層級。第一層是訂閱制來源,例如 Claude Code、Codex、GitHub Copilot。額度用完後降到第二層的廉價 API,文件舉例 GLM 每百萬 token 0.6 美元、MiniMax 0.2 美元。若預算也觸頂,最後落到第三層的免費來源,包括 Kiro、OpenCode Free 與 Vertex 的 300 美元額度。這個設計的關鍵是 quota tracking 與 auto token refresh,系統會記錄目前帳號的剩餘量,並在耗盡前自動切換。多帳號則以 round-robin 方式輪流使用,避免單一帳號被限流。換句話說,9Router 不是單純的 proxy,它內建了狀態管理,知道每個上游還剩多少可用額度。這比手動改環境變數切供應商要省事,但也代表它對上游帳號的狀態有依賴,若供應商變更計費規則,判斷就可能失準。
RTK 節省 token 的運作與代價
RTK(README 全名為 RTK Token Saver)是 9Router 最特別的功能,宣稱能節省 20-40% 的 token。做法是自動壓縮 tool_result 的內容,也就是 agent 執行指令後回傳的輸出。git diff、grep、ls 這類輸出往往冗長且重複,壓縮後可以減少送入模型的字數。release v0.5.18 加入 cached token tracking,表示系統會追蹤被快取的 token,進一步降低重複計費。但這個功能有明確的取捨:壓縮 tool_result 可能改變 agent 看到的資訊。若壓縮演算法刪掉檔案路徑、行號或錯誤訊息中的關鍵字,Claude Code 或 Cline 可能做出錯誤判斷。README 沒有說明壓縮是無損的,也沒有提供關閉 RTK 的細部選項。對依賴完整工具輸出的工作流程,這是需要實測的風險點。文件宣稱的節省比例是行銷數字,實際效果取決於輸出型態,若你的工作多是簡短指令,節省幅度會遠低於 40%。
安裝與設定:從 npm 到原始碼執行
最快的方式是全域安裝 npm 套件。執行 npm install -g 9router 後輸入 9router,儀表板會開啟在 http://localhost:20128。接著在儀表板的 Providers 頁面連上免費供應商,README 舉例 Kiro AI 每月約 50 點免費額度,包含 Claude 4.5 與 GLM-5,OpenCode Free 則不需要認證。然後在 Claude Code 或 Cursor 的設定中,把 endpoint 指向 http://localhost:20128/v1,API key 從儀表板複製,模型名稱格式如 kr/claude-sonnet-4.5。若從原始碼執行,需先複製 .env.example 為 .env,執行 npm install,再用 PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev 啟動開發模式。正式模式則以 npm run build 後用相同環境變數搭配 npm run start。README 特別提醒,npm 上的套件是 9router,但這個儲存庫的套件名稱是 9router-app 且設為 private,所以從原始碼執行才是本機開發的預期路徑。這代表直接 clone 後 npm install 不會發布,但可以跑 dev server。
格式轉譯與供應商相容性的邊界
9Router 的架構圖中有一個名為 format translation 的步驟,負責在 OpenAI 格式與 Claude 格式之間轉換。這對串接不同工具很重要,因為 Claude Code 原生使用 Anthropic API,而 Cursor 或 Cline 多半走 OpenAI 相容介面。9Router 統一以 /v1 endpoint 對外服務,內部再轉成各供應商需要的格式。release v0.5.20 加入 thinking level picker 與 suffix support,表示系統能處理不同模型對 reasoning 參數的差異。但格式轉譯不是萬能的。供應商之間的功能差異,例如 tool calling 的結構、影像輸入的編碼方式、或串流事件的不同,都可能需要額外對應。README 沒有列出哪些供應商完整支援所有功能,只說有 40 多家供應商與 100 多個模型。實際上,越新的模型越可能出現不相容的參數,轉譯層會成為潛在的錯誤來源。若你使用的工具依賴某個供應商特有的 API 功能,9Router 可能無法完整傳遞。
授權、維護成本與升級節奏
9Router 以 MIT 授權釋出,代表你可以自由修改與商用,但沒有提供任何擔保。這對個人使用很友善,對企業則需要自行承擔責任。維護方面,release 紀錄顯示更新頻繁,v0.5.35 在 2026 年 7 月加入 Grok Imagine video 與 Copilot Claude route,v0.5.20 加入 thinking level picker,v0.5.18 修正供應商問題。這種快速迭代有兩面性:好處是相容性修補即時,壞處是升級可能引入新的行為變化。由於 9Router 是代理層,升級時需要重新測試你常用的工具鏈,確認 format translation 與 RTK 沒有破壞既有流程。另外,npm 套件與 GitHub 儲存庫的套件名稱不同,升級時要留意版本對應。文件沒有提到資料留存政策,所有請求都會經過本機代理,理論上日誌可能包含程式碼片段,這在處理機密專案時需要自行評估。
替代方案與不適合的場景
最直接的替代方案是不用閘道,直接在 Claude Code 的設定中指定官方 Anthropic endpoint,或使用 Cursor 內建的模型選擇。這種做法的差異在於沒有 fallback,額度用完就得手動切換,但也不需要承擔第三方代理的轉譯風險。另一個替代是 LiteLLM,它同樣提供 OpenAI 相容的統一介面,但 LiteLLM 的定位是標準化 proxy,沒有內建多層訂閱額度追蹤與 RTK 壓縮。9Router 的差異在於它把省錢當成核心功能,而不只是連線工具。不適合 9Router 的情況包括:你的公司政策禁止將程式碼傳送到第三方免費服務,或者你的 agent 工作高度依賴完整且未修改的工具輸出。免費供應商的穩定性也是變數,README 提到的 Kiro 與 OpenCode Free 可能隨時調整額度或停止服務,這不是 9Router 能控制的。若你的專案只需要單一付費供應商且預算充足,多一層代理只會增加延遲與故障點。
編輯結論
9Router 適合已經在使用 Claude Code、Cursor 或 Cline,且願意把 API 流量導向第三方閘道以換取免費額度的開發者。它不適合需要嚴格資料控管、或無法接受工具輸出被壓縮的團隊,因為 RTK 會改寫 tool_result 內容。也不適合只想用單一付費供應商、追求最低延遲的人,多層 fallback 本身就會增加請求路徑。採用前應先確認三件事:你的訂閱帳號是否允許第三方代理轉發,RTK 對 git diff 或 grep 等結構化輸出的壓縮是否會影響 agent 判斷,以及免費供應商(如 Kiro、OpenCode Free)的條款是否允許商業用途。若這些都能接受,9Router 的 round-robin 多帳號與分層降級確實能減少手動切換的次數。若不能接受,直接使用各工具原生的供應商設定會更簡單。
社群筆記