このプロジェクトは、コーディングツールとモデルアカウントの間のインフラストラクチャとして理解するのが有益です。Claude Code、Codex、Cursor、Cline、Copilotスタイルのクライアント、Antigravity、OpenClaw、およびその他のOpenAI-compatibleなツールは`http://localhost:20128/v1`を指定でき、9Routerがリクエストの変換、圧縮、ルーティング、再試行、ログ記録を決定します。
Get the latest on AI, LLMs & developer tools
New MCP servers, model updates, and guides like this one — delivered weekly.
9Routerのビデオを見る
読む派ですか?以下のガイドでは、アーキテクチャ、セットアップ、リスク、および実用的な結論を網羅しています。
編集メモ
この記事は、2026年6月3日時点で調査したGitHubリポジトリ、README、パッケージメタデータ、ソースツリー、npmメタデータ、リリース/タグ、最近のIssue、最近のPR、およびプロバイダー設定ファイルに基づいています。READMEにある「無料/無制限」という表現はプロジェクトのポジショニングとして扱っており、独立して検証されたクォータのアドバイスではありません。
1. 9router を一言で
9Routerは、OpenAI-compatibleなAPI、プロバイダー変換、マルチアカウントフォールバック、クォータ追跡、RTKツール出力圧縮、ダッシュボード、およびDocker/ローカルデプロイメントを組み合わせた、MITライセンスのコーディングエージェント向けローカルLLMゲートウェイです。
| 領域 | 詳細 | 重要な理由 |
|---|---|---|
| リポジトリ | decolua/9router | https://github.com/decolua/9router |
| 主な言語 | JavaScript | 調査時点での GitHub 上の主な言語。 |
| ライセンス | MIT | 同梱物やバイナリのライセンスは必要に応じて別途確認してください。 |
| 作成日 | 2026年1月5日 | 公開済みパッケージ:2026年5月29日時点の0.4.66を確認。GitHub Releasesの最新エントリー:2026年5月26日時点のv0.4.63を確認。 |
2. なぜ重要か
このプロジェクトが重要なのは、AIコーディングワークフローがもはや単一のクライアントやモデルプロバイダーに縛られないためです。開発者はClaude Code、Codex、Cursor、Cline、Antigravity、およびOpenAI-compatibleなツールを並行して使用することが多く、モデルへのアクセスはサブスクリプション、APIキー、無料枠、地域プロバイダー、ローカル互換エンドポイントから提供されます。
9Routerは、その複雑な状況を1つのエンドポイントと1つのダッシュボードに統合しようとします。プロバイダーがクォータに達したりイベント形式が変更されたりするたびにすべてのコーディングツールを再設定する代わりに、ルーター内でプロバイダーアカウント、モデルエイリアス、コンボ、フォールバックチェーンを作成します。
積極的なトークン節約の側面も実用的です。コーディングエージェントは、diff、grep出力、ログ、ファイルリスト、繰り返されるツールトランスクリプトでコンテキストを消費します。RTK圧縮はフォーマット変換の前に実行されるため、各アップストリームクライアントが圧縮フォーマットを認識していなくても、プロジェクトはペイロードサイズを削減できます。
3. アーキテクチャとメンタルモデル
9Routerは、Next.jsダッシュボードと個別に公開されたCLIパッケージで構成されています。このアプリは、OpenAI-compatibleなルートをNext APIハンドラーに書き換え、チャット処理を`open-sse`の変換/ルーティングコアに委譲し、ランタイム状態をローカルデータストレージに保存し、プロバイダー、クォータ、ログ、コンボ管理のためのダッシュボードを公開します。
| 領域 | 詳細 | 重要な理由 |
|---|---|---|
| クライアントサーフェス | `http://localhost:20128/v1` | Claude Code、Codex、Cursor、Cline、Antigravityなどのクライアントで使用されるOpenAI-compatibleエンドポイント。 |
| ダッシュボード | Next.jsアプリ | プロバイダー設定、コンボ、エイリアス、クォータ、使用量、ログ、エンドポイント設定、クラウド同期、モデルテスト。 |
| CLIパッケージ | npm上の`9router` | ローカルランタイム、ランチャー、トレイ指向のフック、およびパッケージ化されたアプリの動作を開始します。 |
| リクエストハンドラー | `src/app/api/v1/*` | チャット補完、レスポンス、メッセージ、モデル、埋め込み、画像、音声、検索、フェッチのためのルート。 |
| 翻訳コア | `open-sse/*` | 翻訳フォーマット、プロバイダー実行、ストリーミングヘルパー、トークン更新、およびフォールバックヘルパー。 |
| プロバイダーレジストリ | `src/shared/constants/providers.js` | OAuthプロバイダー、API-keyプロバイダー、無料/無料枠プロバイダー、メディアの種類、エイリアス、およびリスクメタデータ。 |
| ストレージ | ローカルデータディレクトリとSQLiteアダプター | 現在のソースではデータベースアダプターを使用していますが、古いアーキテクチャドキュメントでは依然としてJSONストレージについて言及されています。 |
4. 最小のエンドツーエンド設定
以下のコマンドはリポジトリのドキュメントから引用し、現在の調査スナップショットと照合したものです。本番環境に導入する前に、出発点として扱い、リンク先の README も読んでください。
# Global install path
npm install -g 9router
9router
# Source development path
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
# Docker path
docker run -d \
--name 9router \
-p 20128:20128 \
-v "$HOME/.9router:/app/data" \
-e DATA_DIR=/app/data \
decolua/9router:latest重要なデータや大規模なワークスペースに接続する前に、小さな最初のタスクで統合を確認してください。
# Configure your coding client with the local router
Endpoint: http://localhost:20128/v1
API key: copy from the 9Router dashboard
Model: choose a 9Router model alias or combo, for example kr/claude-sonnet-4.5
# Local URLs
Dashboard: http://localhost:20128/dashboard
OpenAI-compatible API: http://localhost:20128/v15. 技術的ディープダイブ
5.1 これはゲートウェイであり、モデルプロバイダーではありません
9Routerは魔法のように新しい基盤モデルを作成するわけではありません。コーディングクライアントとアップストリームプロバイダーの間に位置します。ルーターはリクエストの形状を変換し、サポートされている場合はトークンを更新し、APIキーを管理し、アカウントにルーティングし、優先プロバイダーが失敗したり設定された制限に達したりした場合の動作を決定します。
その区別はリスクにとって重要です。アップストリームプロバイダーがストリームイベントを変更したり、スキーマを拒否したり、無料枠を削除したり、アカウントの使用量を制限したりした場合、9Routerは迅速に適応しなければなりません。最近の問題は、まさにそのようなプロバイダーの変動を示しています。
Claude Code / Codex / Cursor / Cline
-> http://localhost:20128/v1
-> 9Router endpoint settings
-> combo / alias / provider account
-> upstream model API
-> translated stream back to client5.2 コンボはルーティングのプリミティブです
READMEでは、フォールバックをサブスクリプション、安価なプロバイダー、無料プロバイダーという3層のチェーンとして構成しています。実際には、これがダッシュボードでのコンボ設定となります。コンボとは、モデルの優先順位、フォールバック順序、およびリクエストを処理できるアカウントをエンコードする場所です。
手動でのプロバイダー切り替えは手間がかかるため、長時間のコーディング作業にはこれが役立ちます。また、各プロバイダーの利用規約、クォータ、レイテンシ、モデル品質を理解していない場合、リスクを伴います。フォールバックチェーンは作業を継続させる一方で、タスクの途中でモデルの挙動を密かに変更してしまう可能性もあります。
5.3 RTKは、翻訳前にエージェントのツール出力を圧縮します。
最も具体的な技術的機能はRTK Token Saverです。コーディングエージェントからのツール結果(diff、検索結果、ツリー、ログ、番号付き読み取り、シェル出力など)は多くの場合膨大です。9Routerはそれらの構造を検出し、リクエストがClaude、OpenAI、Gemini、Vertex、Kiro、またはその他のターゲット形式に変換される前に、専用の圧縮フィルターを適用します。
READMEによると、このフィルターは設計上安全であり、圧縮に失敗したり出力が大きくなったりした場合は元のテキストが保持されます。diffの圧縮が損失を伴ったり破損したりするとエージェントが誤ったコードを編集する可能性があるため、これは適切なデフォルト設定です。
tool_result: git diff / grep / tree / logs
-> RTK filter selection
-> compressed or original payload
-> format translation
-> upstream provider request5.4 フォーマット変換が最も困難な部分です。
このプロジェクトは、OpenAI chat completions、OpenAI Responses、Claude-style messages、Gemini、Cursor、Kiro、Vertex、Antigravity、Ollama-style paths、埋め込み、画像生成、音声、検索、およびWeb fetchルートをサポートしています。これは非常に広範な互換性です。
最近のバグは、そのコストを浮き彫りにしています。アシスタントのプリフィル動作、Vertexの制限、プロバイダー固有のトークンパラメータ、GitHub Geminiストリームの組み立て、メディアモデルのテストなどは、それぞれ異なる形で破損する可能性があります。9Routerの価値はそれらの差異を吸収することにありますが、それはリポジトリが常にアップストリームの変更を追跡しなければならないことを意味します。
5.5 ローカルストレージとログは脅威モデルの一部です。
このようなルーターは、プロバイダーの認証情報、OAuthセッション、リクエストログ、使用記録、モデルエイリアス、および場合によっては生のプロンプトを保存または処理します。現在のソースにはローカルデータベースアダプターが含まれており、READMEではデータディレクトリ配下のローカルデータについて説明されています。9Routerを実行するマシンは、認証情報を保持するインフラストラクチャとして扱ってください。
だからといってプロジェクトが使えないわけではありません。ログ設定を意図的に行い、可能な限り最小権限のAPIキーを使用し、利用規約が不明確なアカウントを通じて機密性の高いクライアントデータをルーティングすることを避け、認証の背後に意図的にデプロイしていない限りダッシュボードのポートを非公開に保つべきです。
6. 実運用での誤りと正解パターン
| 誤り | 正しい対応 | 理由 |
|---|---|---|
| 9Router自体がモデルへの無制限のアクセスを提供するとは想定しないでください。 | 実際のアップストリームアカウント、サブスクリプション、および無料枠に対するルーターとして扱ってください。 | プロバイダーの利用規約、クォータ、およびモデルの可用性は引き続き適用されます。 |
| テストなしですべてのツールを1つのフォールバックコンボに向けることは避けてください。 | コーディング、安価な実験、メディア、機密作業用にそれぞれ個別のコンボを作成してください。 | クライアントやタスクによって、必要なレイテンシ、品質、リスクプロファイルは異なります。 |
| 詳細ログを常に有効にすることは避けてください。 | デバッグにはリクエストログを使用し、その後は保持期間を短縮し、データディレクトリを保護してください。 | ログにはプロンプト、コード、キー、ビジネスコンテキストが含まれる可能性があります。 |
| GitHubのリリースページのみに頼って最新情報を確認することは避けてください。 | バージョン固有の挙動をデバッグする際は、npm、タグ、およびデフォルトブランチを確認してください。 | 9Routerのnpm/タグの状態は、最新のGitHubリリースエントリよりも先に進んでいる場合があります。 |
7. よくあるミスと現在の課題
これらのリポジトリは若く、動きが速いため、Issue Tracker は重要です。この記事では Issues をリスクシグナルとして扱い、プロジェクトが使えない証拠としては扱いません。
| 領域 | 詳細 | 重要な理由 |
|---|---|---|
| プロバイダーの利用規約 | OAuthやサブスクリプションベースのプロバイダーには、アカウント制限のリスクが伴う場合があります。 | ソースにはリスクに関する注意書きが含まれています。ビジネス上重要なトラフィックを盲目的にルーティングしないでください。 |
| バージョンの乖離 | 調査時点で、npm/tag 0.4.66がGitHubの最新リリースエントリよりも新しい状態でした。 | バージョンを報告する際は正確に行ってください。 |
| ストリーミングの停止 | ストリームの停止、空のストリーム、プレースホルダー、プロンプトのエコー動作に関する問題が報告されています。 | 長い推論とプロバイダーアダプターにはスモークテストが必要です。 |
| メディアエンドポイント | 最近のPRでは、画像およびSTTのプローブが実際のメディアエンドポイントにルーティングされるようになっています。 | chat-completionテストがすべてのモダリティを検証していると想定しないでください。 |
| ランタイム依存関係 | パッケージ化されたランタイムパスにおいて、SQLiteの依存関係が削除されるという問題が報告されています。 | パッケージ化されたインストールは、ローカルでの起動検証が必要です。 |
| 古いドキュメント | 古いアーキテクチャドキュメントにはJSONストレージについて言及されていますが、現在のソースにはSQLiteアダプターが含まれています。 | 競合する場合は、古いアーキテクチャノートよりもソースとREADMEを優先してください。 |
8. 性能、スケーリング、コストのメモ
9Routerのパフォーマンスは、アップストリームプロバイダーの動作と、ルーター側での変換/圧縮オーバーヘッドという2つの変数に大きく依存します。ルーターはRTKを使用してプロンプトサイズを削減できますが、低速または過負荷なアップストリームプロバイダーを高速化することはできません。
フォールバックは、フォールバックモデルが実際にタスクを処理できる場合にのみ可用性を向上させます。安価または無料のモデルはストリームを維持できるかもしれませんが、低品質なコード編集、弱いツール呼び出し、または互換性のない関数呼び出し構造を生成する可能性があります。
最適なコストパターンは明示的なセグメンテーションです。リスクの高い編集やレビューにはプレミアムな組み合わせ、探索には安価な組み合わせ、広範な検索や要約にはローカル/無料の組み合わせ、画像/音声/動画リクエストにはメディア固有のルートを使用します。
9. 誰に向いているか
| 使うべき場合 | 避けるべき場合 |
|---|---|
| 複数のAIコーディングクライアントを使用しており、1つのローカルエンドポイントを求めている場合。 | プロバイダーを1つしか使用しておらず、ルーティングの柔軟性よりもシンプルさを重視する場合。 |
| クォータ、サブスクリプション、無料枠、安価なAPIを積極的に管理している場合。 | 組織がOAuth/サブスクリプションベースのセッションのプロキシを禁止している場合。 |
| コーディングエージェントのプロンプトに大規模なdiff、ログ、検索出力が含まれている場合。 | ソースコードをルーティングする前に、監査済みのエンタープライズゲートウェイ制御が必要です。 |
| 変化の激しいプロバイダーアダプターのデバッグに慣れている必要があります。 | リリースが遅く保守的な、安定したアプライアンスが必要です。 |
10. コミュニティのシグナル
GitHubのIssueとPRの状況は非常に活発で、高度に技術的です。ほとんどのシグナルは、Claude Code、Antigravity、OpenClaw、MiniMax、Xiaomi、GitHub Gemini、Vertex、およびカスタム互換エンドポイント間でプロバイダーの組み合わせをテストしているユーザーから寄せられています。
最も強力な肯定的なシグナルは実用性です。人々はそれを実際のコーディングクライアントで使用し、エッジケースを迅速に報告しています。最も強力な警告も同じ事実の裏返しです。プロバイダーとクライアントのプロトコルは、ルーターが継続的にパッチを適用しなければならないほど急速に変化しています。
リポジトリのREADMEは「無料/無制限」という強い言葉を使っていますが、Issueトラッカーはよりエンジニアリングに基づいた現実を伝えています。モデルIDの変更、ストリーミング形式の差異、OAuthパスの破損、ダッシュボードテストのモダリティ対応などです。
11. 結論: 使う価値はあるか
私たちの見解
AIコーディングツールを複数のプロバイダー間でルーティングするためのローカルで実践的なゲートウェイが必要で、プロバイダーのリスクを慎重に管理する意欲がある場合は、9Routerを使用してください。規制対象のプロダクションコードパスについては、独自のポリシーに基づいて資格情報の保存、ログ記録、プロバイダーの利用規約、フォールバック動作を確認するまで使用を控えてください。
12. 大きな流れ
9Routerは、単一モデルのクライアントからローカルAIインフラストラクチャへの広範な移行の一環です。開発者は、すべてのエディターやターミナルエージェントを変更することなく、モデルのルーティング、予算管理、クォータの可視化、プロキシの互換性、プロバイダーの抽象化をますます求めています。
未解決の問題は信頼です。ルーティングのデモは簡単ですが、安全なルーティングはより困難です。次世代のツールには、明示的なポリシー制御、資格情報の分離、監査ログ、秘匿化、および再現可能なモデルルーティングの決定が必要になります。
13. よくある質問
Q: 9RouterはAIモデルプロバイダーですか?
いいえ。これは、構成したアップストリームのプロバイダー、アカウント、無料枠、サブスクリプション、または互換エンドポイントにリクエストを送信するローカルルーターおよびダッシュボードです。
Q: コーディングツールにはどのエンドポイントを設定すべきですか?
`http://localhost:20128/v1`と9Routerダッシュボードに表示されるAPIキーを使用し、9Router内で定義されたモデルエイリアスまたはコンボを選択してください。
Q: RTK Token Saverとは何ですか?
RTKは、diff、grep結果、ファイルツリー、ログ、番号付き読み取りなどの一般的なコーディングエージェントのツール出力を、ペイロードが変換されてアップストリームに送信される前に圧縮します。
Q: npmとGitHub Releasesでバージョンが異なるのはなぜですか?
調査時点では、npm/tagsが最新のGitHubリリースエントリよりも先行していました。デバッグには、npmのメタデータ、タグ、リリース、およびデフォルトブランチを併せて確認してください。
Q: ルーター経由でOAuth/サブスクリプションアカウントを使用しても安全ですか?
それはプロバイダーの利用規約とあなたのリスク許容度によります。このプロジェクトには一部のプロバイダーに対するリスク通知が含まれているため、これを純粋な技術的設定ステップではなく、ポリシー決定として扱ってください。
Q: ローカルデータはどこに保存されますか?
READMEには、構成されたデータディレクトリ配下のローカルデータについて記載されており、現在のソースにはSQLiteアダプターが含まれています。そのディレクトリには資格情報、使用記録、ログが含まれる可能性があるため、保護してください。
Q: 何が最も頻繁に壊れますか?
最近のIssueは、アップストリームのプロバイダーのスキーマ変更、ストリーミングアセンブリ、モデルID、トークンパラメーター、メディアエンドポイントのテスト、およびパッケージ化されたランタイム依存関係を指摘しています。
14. 用語集
| 領域 | 詳細 | 重要な理由 |
|---|---|---|
| ゲートウェイ | モデルのリクエストを受け取り、別の場所へ転送するローカルサービス。 | 9Routerの主要な役割。 |
| コンボ | 設定済みのルーティング/フォールバックチェーン。 | サブスクリプション、安価なルート、または無料ルートを選択するために使用されます。 |
| RTK | ツール出力圧縮レイヤー。 | プロバイダー変換の前に、大規模なエージェントツールの結果を削減します。 |
| OpenAI-compatible | 多くのツールが指定可能なAPI形状。 | 9Routerは互換性のある`/v1`エンドポイントを公開します。 |
| OAuthプロバイダー | ユーザーセッションを通じて認証されるプロバイダー。 | 追加のアカウントポリシーリスクを伴う可能性があります。 |
| メディアエンドポイント | 画像、音声、動画、またはSTTのパス。 | チャット補完のみでテストすべきではありません。 |
| フォールバック | 最初のリクエストが失敗した際に、次のプロバイダー/アカウントへルーティングします。 | 有用ですが、モデルの動作が変化する可能性があります。 |
15. すべてのソースとリンク
主要ソース
Issues and PRs
Release Sources
内部リンク
16. ソース帰属表
| 領域 | 詳細 | 重要な理由 |
|---|---|---|
| README | Positioning, quick start, endpoint, provider tiers, RTK, Docker, dashboard surface. | Primary source. |
| Package metadata | CLI package, version nuance, Node requirement, executable entry. | Primary source. |
| Source tree | Next routes, translation core, provider registry, database adapters. | Architecture source. |
| Issues/PRs | プロバイダーのチャーン、ストリーミングの停止、メディアプローブ、ランタイム依存関係の注意点。 | 鮮度シグナル。 |
| npm とリリース | 公開済みパッケージ、タグ、およびリリースエントリ間でのバージョン乖離。 | 鮮度ソース。 |
Get the Ultimate Antigravity Cheat Sheet
Join 5,000+ developers and get our exclusive PDF guide to mastering Gemini 3 shortcuts and agent workflows.
Related Guides
Humanizer Skill Guide
blader/humanizer: 29 AI-writing patterns, voice calibration, and a two-pass audit, all in one Claude Code skill.
Guides & FeaturesMastering Agent Skills
The open standard for portable AI agent expertise.
Guides & FeaturesAntigravity Workflows Guide
Create automation recipes with Turbo Mode and AgentKit 2.0.
Guides & FeaturesHow to Change Antigravity Themes
Customize themes, dark mode, icons, and color schemes.
Guides & FeaturesHow to Change Language
Switch Antigravity to Spanish, German, Japanese, and more.
Guides & FeaturesAntigravity Security Guide
Known vulnerabilities, safe settings, and hardening steps.
