この記事では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

リクエストルーティングフロー

flowchart TD A["AIクライアント
(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をこのエンドポイントに変更するだけで、透過的なルーティングが有効になる。

9router設定のポイント プロバイダーの優先順位は、コスト効率を考慮して「サブスクリプション優先→低価格→無料」の順に設定するのが基本だ。複数アカウントのラウンドロビン設定を有効にすると、1つのアカウントのレート制限に達しても別のアカウントへ自動切り替えされる。Claude Codeとの組み合わせでは、接続先エンドポイントを http://localhost:20128/v1 に変更するだけで導入完了する。フォーマット変換機能により、OpenAI形式のリクエストをClaude APIに透過的に変換できるため、ライブラリ側の変更は不要だ。

利用規約の確認は自己責任で

サブスクリプション枠を経由してリクエストを振り分ける構成は、各プロバイダーの利用規約(とくに自動化・共有・再販に関する条項)に抵触しないかを利用者側で確認する必要がある。技術的に動作することと、契約上許容されることは別である。

こんな人におすすめ

9routerが特に効果を発揮するユースケース 複数サブスクリプションのコスト最適化:Claude ProとOpenAI Plusなど複数のAIサービスを契約している開発者が、月次クォータを余らせずに使い切りたい場合に有効。リセットタイミングを追跡して振り分けを自動調整する。 開発チームへの安定したAI API提供:チーム全体でAI APIを利用する環境では、特定プロバイダーがダウンしたり制限に達したりしても、フォールバック機能により開発が止まらない体制を構築できる。 マルチプロバイダー環境でのLLMベンチマーク:同一プロンプトを複数プロバイダーに並列送信して回答品質を比較したい場合、9Routerを経由して振り分けることでクライアント側の実装を変えずに複数モデルのテストが可能になる。

組み合わせて使うクライアント

9routerは「中継役」に徹するため、実際にコードを書かせるクライアントは別に用意する。OpenCode のようなマルチプロバイダー対応のOSSエージェントと組み合わせると、プロバイダーの束ね方を9router側に、モデルの使い分けをクライアント側に分離できる。クライアントの設定はエンドポイント1行だけで済むため、後からプロバイダー構成を変えてもクライアント側を触らずに追従できる。

参照ソース