この記事ではDevOps・自動化に特化して解説します。AI自動化・DevOps全般は AI自動化ツール|ノーコードからコードまで2026年版の比較と選び方 をご覧ください。
本記事の訂正(2026-08-14)
旧版はタイトル・description・why を「Luaで軽量ルーティングを実装するシングルファイルフレームワーク」「わずか1515スター」と記載していたが、いずれも誤りである。本文が説明しているとおり、9router は Node.js 上で動くAI APIルーターであり、Lua のWebフレームワークではない。GitHub API 実測でも主要言語は JavaScript、スターは 25,391(旧記載の約17倍)である。作者名 decolua に “lua” が含まれることによる取り違えと考えられる。あわせて、リンク切れになっていた関連記事2本を修正した。
この記事のポイント(30秒でわかる9router)
・9routerとは? AIクライアントのリクエストをローカルで受け、40以上のプロバイダーへ振り分ける中継サーバー
・Luaではない — Node.js製(主要言語 JavaScript)。npmで入れる
・最大の狙いはサブスク枠の消化 — 残量を追跡し、サブスク→低価格→無料の順に自動フォールバック
・クライアントは無改造 — 接続先を http://localhost:20128/v1 に変えるだけ。形式変換は9router側が行う
・実測(2026-08-14) ★25,391 / fork 4,516 / JavaScript / MIT / 最新 v0.5.35(2026-07-16)
9routerとは——AIクライアントとプロバイダーの間に立つ
9routerは、複数のAIモデルプロバイダーへのリクエストを自動的に振り分けるAI APIルーティングツールである。npmパッケージとして提供され、Claude Code、Cursor、Cline、Gemini CLIなど40以上のAIプロバイダー、100以上のモデルに対応する。
解こうとしている課題は明確である。Claude Pro と OpenAI Plus と Gemini を同時に契約していると、どれかが余り、どれかが足りなくなる。手動で切り替えるには、その都度クライアントの設定を書き換える必要がある。9routerはこの切り替えをローカルの中継点に集約し、クライアント側は1つのエンドポイントだけを見ればよい状態にする。
実測データ(2026-08-14 時点)
| 項目 | 実測値 | 旧版の記載 |
|---|---|---|
| スター | 25,391 | 1,515(誤り) |
| fork | 4,516 | — |
| 主要言語 | JavaScript | Lua(誤り) |
| ライセンス | MIT | 記載なし |
| 最新リリース | v0.5.35(2026-07-16) | 記載なし |
| 直近push | 2026-08-05 | — |
リクエストルーティングフロー
(Claude Code / Cursor / Cline)"] --> B["9Router
localhost:20128/v1"] B --> C{"サブスクリプション枠
残量あり?"} C -- あり --> D["優先プロバイダー
(Claude / OpenAI / Gemini)"] C -- なし --> E{"低価格モデル
利用可能?"} E -- 可能 --> F["低価格モデル
フォールバック"] E -- 不可 --> G["無料モデル
フォールバック"] D --> H["レスポンス返却
クライアントへ"] F --> H G --> H B --> I["クォータ追跡
・トークン自動更新
・ラウンドロビン管理"]
主な機能
- マルチプロバイダー対応 - 40以上のAIモデルプロバイダーに対応し、複数のAI APIを一元管理
- スマートフォールバック - サブスクリプション → 低価格 → 無料モデルへと自動的に順序付けされたフォールバック機能で、ダウンタイムなしで継続稼働
- クォータ追跡 - 各プロバイダーのサブスクリプション枠を管理し、リセット前にすべての利用額を使い切る機能
- 複数アカウント対応 - プロバイダーごとに複数アカウントをラウンドロビン方式で運用可能
- フォーマット変換 - OpenAI形式とClaude形式など異なるAPI仕様間の自動翻訳
- トークン自動更新 - APIトークンの有効期限管理と自動更新機能
技術スタック
| 項目 | 内容 |
|---|---|
| 形式 | npmパッケージ |
| 実行環境 | Node.js |
| 主要言語 | JavaScript |
| 対応ツール | Claude Code、Cursor、Cline、OpenClaw、Codex、Gemini CLIなど |
| 対応プロバイダー | 40以上(Claude、OpenAI、Gemini、Mistral、Groq ほか) |
| 対応モデル数 | 100以上 |
| ローカルポート | 20128(デフォルト) |
導入方法
npmを使用したグローバルインストールが推奨される。
npm install -g 9router
インストール後、ローカルサーバーが待ち受けるエンドポイントを既存クライアントの接続先に指定する。
# 接続先をこのURLに変更するだけで透過的にルーティングされる
http://localhost:20128/v1
Claude Code から使う場合は、環境変数でベースURLを差し替えるのが簡単である。
# クライアント側のコードは変更せず、向き先だけを9routerに寄せる
export ANTHROPIC_BASE_URL="http://localhost:20128/v1"
claude
ローカルサーバーでリッスンし、複数のAIプロバイダーへのリクエスト振り分けを実行する。既存のCLIツールの接続先URLをこのエンドポイントに変更するだけで、透過的なルーティングが有効になる。
http://localhost:20128/v1 に変更するだけで導入完了する。フォーマット変換機能により、OpenAI形式のリクエストをClaude APIに透過的に変換できるため、ライブラリ側の変更は不要だ。
利用規約の確認は自己責任で
サブスクリプション枠を経由してリクエストを振り分ける構成は、各プロバイダーの利用規約(とくに自動化・共有・再販に関する条項)に抵触しないかを利用者側で確認する必要がある。技術的に動作することと、契約上許容されることは別である。
こんな人におすすめ
組み合わせて使うクライアント
9routerは「中継役」に徹するため、実際にコードを書かせるクライアントは別に用意する。OpenCode のようなマルチプロバイダー対応のOSSエージェントと組み合わせると、プロバイダーの束ね方を9router側に、モデルの使い分けをクライアント側に分離できる。クライアントの設定はエンドポイント1行だけで済むため、後からプロバイダー構成を変えてもクライアント側を触らずに追従できる。
参照ソース
- decolua/9router - GitHub(スター・言語・ライセンス・リリースは2026-08-14にGitHub APIで取得)
- npmjs.com - 9router パッケージページ
- Claude Code 公式ドキュメント - Anthropic