9Router は AI コーディングツール向けのローカルルーターです。Claude Code、Codex、Cursor、Cline、Copilot、OpenCode、OpenClaw などを 1 つの OpenAI-compatible endpoint に接続し、そこから複数のモデルや provider に転送します。
目的はチャットクライアントを増やすことではありません。AI コーディングツールとモデル provider の間に入り、API 形式の違い、provider の手動切り替え、ツール出力による token 消費、quota 切れ、複数アカウント管理をまとめて扱います。
README によると、9Router は 40 以上の provider と 100 以上のモデルに対応し、RTK Token Saver、自動 fallback、quota 追跡、複数アカウントのローテーション、形式変換、リクエストログを備えています。JavaScript 製で、Node.js、Next.js、React、Tailwind CSS、LowDB を使い、MIT ライセンスです。
何に向いているか
複数の AI コーディングツールと複数のモデル供給元を同時に使う場合に便利です。
- Claude Code はサブスクリプションで使う。
- Codex や Cursor にカスタム OpenAI endpoint を設定したい。
- Cline、Continue、RooCode に OpenAI-compatible API を渡したい。
- 無料 provider を試用に使う。
- GLM、MiniMax、Kimi などを安価なバックアップにする。
- 高品質モデルを難しいタスクだけに使う。
通常は各ツールに endpoint、API key、モデル名、fallback を個別設定する必要があります。9Router はそれをローカルのルーティング層に集約します。
API:
|
|
Dashboard:
|
|
インストール
ローカル利用なら npm が簡単です。
|
|
ソースから実行する場合:
|
|
本番起動:
|
|
npm パッケージは Node.js >=18.0.0 を要求します。VPS や Docker では JWT_SECRET、INITIAL_PASSWORD、DATA_DIR、API_KEY_SECRET を設定してください。
ツールの接続
一般的な設定:
|
|
Codex CLI:
|
|
Cline、Continue、RooCode では OpenAI Compatible を選びます。
|
|
モデル名は接続済み provider によって変わり、cc/、cx/、gh/、glm/、minimax/、kr/、vertex/ などがあります。
RTK Token Saver
AI コーディングでは以下のようなツール出力が token を大きく消費します。
git diffgit statusgrepfindlstree- ログ
- 長いファイル一覧
9Router の RTK Token Saver は、これらをモデルに送る前に圧縮します。プロジェクト説明では、多くのリクエストで 20%-40% の input tokens を節約できるとされています。
ただし、重要なログや完全なファイル内容が必要な場面では、圧縮が回答品質に影響しないか確認してから使うのが安全です。
自動 fallback
モデルを優先順に並べられます。
|
|
例:
|
|
fallback は作業停止を減らしますが、モデルが変わると出力の一貫性も変わります。大規模リファクタリングや移行では固定モデルを使う方が安全です。
無料 provider の注意点
Kiro、OpenCode Free、Vertex などの無料経路は便利ですが、利用条件、地域制限、サードパーティツールでの利用可否、ban や rate limit、期限を必ず確認してください。9Router はルーティングを管理するだけで、上流 provider の規約は変えません。
デプロイ
個人利用なら localhost のみで十分です。VPS や LAN で公開するなら、デフォルトパスワードを変更し、強い JWT_SECRET と API_KEY_SECRET を設定し、Dashboard を公衆インターネットに直接出さず、/v1/* に Bearer API key を要求します。
|
|
Dashboard だけに頼らないヘルスチェック
文書化されていない /health に依存せず、Web と認証付き API を順に確認します。
|
|
最初が失敗すればプロセス、ポート、bind、リバースプロキシを調べます。2 番目だけが 401/403 なら API Key を確認します。最後に最小チャットを 1 回送り、combo ルールどおりの provider が選ばれたことを確認します。
Docker ではコンテナと直近ログも確認できます。
|
|
ログから上流障害を判断する
DATA_DIR には db.json、usage.json、log.txt があります。
|
|
401/403:認証情報、権限、OAuth の問題。429:クォータまたはレート制限。fallback の次段を確認。5xx、timeout、DNS、TLS:上流またはネットワーク経路。- 切り替え後も失敗:combo 内の provider を個別に確認。
ENABLE_REQUEST_LOGS=true は機密データを保存する可能性があります。短時間だけ有効にし、権限を制限して、調査後に無効化します。
データディレクトリのバックアップと復元
書き込みを止めてディレクトリ全体を保存します。
|
|
バックアップには認証情報や API Key が含まれ得ます。復元時は停止し、現在のディレクトリを退避して空の DATA_DIR へ展開し、検証後に再起動します。
|
|
Docker では停止中に /app/data のホストディレクトリまたは volume を保存し、復元後に Dashboard、/v1/models、最小チャットを再確認します。
まとめ
9Router は AI コーディングツールのローカル gateway です。Claude Code、Codex、Cursor、Cline などを http://localhost:20128/v1 に集約し、モデル選択、形式変換、token 圧縮、quota 追跡、fallback を処理します。
複数 provider を使う重めの AI コーディングユーザーに向いています。まず 1 つのツールと 1 つの provider から試し、徐々に combo とアカウントを増やすのが無難です。
よくある質問
このプロジェクトは何ですか?
この記事で紹介している AI ツール系プロジェクトで、何ができるか、どう使うか、どんな場合に試す価値があるかを整理しています。
誰に向いていますか?
README を読むだけでなく、実際のワークフローに接続したい開発者や AI ツール利用者に向いています。
使う前に何を確認すべきですか?
インストール方法、対応ツール、データと権限の境界、プロジェクトの更新頻度を確認してください。
本番利用に向いていますか?
まず小さなワークフローで検証し、挙動を確認してから機密性の高い作業や本番タスクに使うべきです。