9Router:把 Claude Code、Codex、Cursor 接到同一個 AI 路由器

整理 9Router 的定位、核心功能、安裝方式與適用場景:它可把 Claude Code、Codex、Cursor、Cline 等工具接入同一個本地 AI 路由器,並提供 token 壓縮、模型 fallback 與多帳號路由。

9Router 是一個面向 AI 編程工具的本地路由器。它把 Claude Code、Codex、Cursor、Cline、Copilot、OpenCode、OpenClaw 等工具統一接到一個 OpenAI-compatible endpoint,再由 9Router 轉發到不同模型和服務商。

它不是另一個聊天客戶端,而是放在 AI 編程工具與模型服務之間,處理 API 格式、provider 切換、工具輸出耗 token、限流中斷、多帳號管理等問題。

根據專案說明,9Router 支援 40+ provider 和 100+ 模型,提供 RTK Token Saver、自動 fallback、額度追蹤、多帳號輪詢、格式轉換與請求日誌。專案使用 JavaScript 編寫,技術棧包括 Node.js、Next.js、React、Tailwind CSS 和 LowDB,授權為 MIT。

適合解決什麼問題

9Router 最適合你同時使用多個 AI 編程工具和多個模型來源的情況。

例如:

  • Claude Code 使用訂閱帳號。
  • Codex 或 Cursor 需要自訂 OpenAI endpoint。
  • Cline、Continue、RooCode 需要 OpenAI-compatible API。
  • 免費 provider 用來日常嘗試。
  • GLM、MiniMax、Kimi 等便宜 API 作為備用。
  • 高品質模型只在複雜任務時使用。

沒有 9Router 時,這些配置會分散在不同工具裡。9Router 的思路是讓工具都訪問同一個本地地址,再在路由器中配置 provider、combo 和優先級。

預設本地地址:

1
http://localhost:20128/v1

Dashboard:

1
http://localhost:20128/dashboard

快速安裝

本機使用可以直接透過 npm:

1
2
npm install -g 9router
9router

從原始碼執行:

1
2
3
4
5
git clone https://github.com/decolua/9router.git
cd 9router
cp .env.example .env
npm install
PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev

生產模式:

1
2
npm run build
PORT=20128 HOSTNAME=0.0.0.0 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run start

npm 包要求 Node.js >=18.0.0。部署到 VPS 或 Docker 時,建議配置 JWT_SECRETINITIAL_PASSWORDDATA_DIRAPI_KEY_SECRET 等環境變數。

接入 AI 編程工具

常見配置如下:

1
2
3
Base URL: http://localhost:20128/v1
API Key: 從 9Router Dashboard 複製
Model: 在 9Router 中配置的模型名或 combo 名

Codex CLI:

1
2
3
4
export OPENAI_BASE_URL="http://localhost:20128"
export OPENAI_API_KEY="your-9router-api-key"

codex "your prompt"

Cline、Continue、RooCode 可選 OpenAI Compatible

1
2
3
Base URL: http://localhost:20128/v1
API Key: your-9router-api-key
Model: cc/claude-opus-4-7

模型名前綴取決於已連接的 provider,例如 cc/cx/gh/glm/minimax/kr/vertex/

RTK Token Saver

AI 編程工具最耗 token 的地方常常是工具輸出,例如:

  • git diff
  • git status
  • grep
  • find
  • ls
  • tree
  • 日誌
  • 大段檔案列表

9Router 內建 RTK Token Saver,會在請求送到模型前壓縮這類內容。專案說明稱很多請求可節省 20%-40% input tokens。

這個功能不要求更換模型,也不改變上層工具使用方式。不過遇到關鍵日誌、完整檔案內容或高風險任務時,仍建議先測試壓縮後的回答品質。

自動 fallback

9Router 可以按優先級組合模型:

1
2
3
1. 訂閱模型
2. 便宜 API
3. 免費 provider

當第一層額度用完、限流或出錯時,自動切到下一層。

1
2
3
1. cc/claude-opus-4-7
2. glm/glm-5.1
3. kr/claude-sonnet-4.5

fallback 會影響輸出一致性。大型重構、協議實作、資料庫遷移等任務,最好固定主模型,失敗時再手動切換。

免費 provider 要謹慎

README 提到 Kiro、OpenCode Free、Vertex 等免費路徑,也提醒部分舊免費層已變化或不再推薦。使用前要確認服務條款、區域限制、第三方工具接入政策、封號風險與額度期限。

9Router 管理的是路由,不會改變上游 provider 的規則。

本地與部署建議

個人使用時,最簡單是只監聽 localhost。如果部署到 VPS 或局域網,建議修改預設密碼、設定強 JWT_SECRET、設定 API_KEY_SECRET、不要把 Dashboard 裸露到公網,並對 /v1/* 啟用 Bearer API key。

Docker 示例:

1
2
3
4
5
6
7
docker run -d \
  --name 9router \
  -p 20128:20128 \
  --env-file ./.env \
  -v 9router-data:/app/data \
  -v 9router-usage:/root/.9router \
  9router

先在本機跑通 provider、combo、工具接入和日誌,再決定是否遷移到伺服器。

適合誰用

9Router 適合同時使用多個 AI 編程工具、多個 provider、多個價格層,並希望統一 fallback 策略的重度使用者。如果你只用一個工具和一個模型,它可能反而增加複雜度。

小結

9Router 可以理解為 AI 編程工具的本地閘道。Claude Code、Codex、Cursor、Cline 等工具連到 http://localhost:20128/v1,由它處理模型選擇、格式轉換、token 壓縮、額度追蹤和 fallback。

參考資料

记录并分享
使用 Hugo 建立
主題 StackJimmy 設計