# README (日本語)
🌐 **Languages:** 🇺🇸 [English](../../../README.md) · 🇪🇹 [am](../am/README.md) · 🇸🇦 [ar](../ar/README.md) · 🇦🇿 [az](../az/README.md) · 🇧🇬 [bg](../bg/README.md) · 🇧🇩 [bn](../bn/README.md) · 🇧🇦 [bs](../bs/README.md) · 🇨🇿 [cs](../cs/README.md) · 🇩🇰 [da](../da/README.md) · 🇩🇪 [de](../de/README.md) · 🇬🇷 [el](../el/README.md) · 🇪🇸 [es](../es/README.md) · 🇪🇪 [et](../et/README.md) · 🇮🇷 [fa](../fa/README.md) · 🇫🇮 [fi](../fi/README.md) · 🇫🇷 [fr](../fr/README.md) · 🇮🇪 [ga](../ga/README.md) · 🇮🇳 [gu](../gu/README.md) · 🇳🇬 [ha](../ha/README.md) · 🇮🇱 [he](../he/README.md) · 🇮🇳 [hi](../hi/README.md) · 🇭🇷 [hr](../hr/README.md) · 🇭🇺 [hu](../hu/README.md) · 🇦🇲 [hy](../hy/README.md) · 🇮🇩 [id](../id/README.md) · 🇳🇬 [ig](../ig/README.md) · 🇮🇹 [it](../it/README.md) · 🇬🇪 [ka](../ka/README.md) · 🇰🇭 [km](../km/README.md) · 🇮🇳 [kn](../kn/README.md) · 🇰🇷 [ko](../ko/README.md) · 🇱🇹 [lt](../lt/README.md) · 🇱🇻 [lv](../lv/README.md) · 🇮🇳 [ml](../ml/README.md) · 🇮🇳 [mr](../mr/README.md) · 🇲🇾 [ms](../ms/README.md) · 🇲🇹 [mt](../mt/README.md) · 🇲🇲 [my](../my/README.md) · 🇳🇵 [ne](../ne/README.md) · 🇳🇱 [nl](../nl/README.md) · 🇳🇴 [no](../no/README.md) · 🇮🇳 [or](../or/README.md) · 🇮🇳 [pa](../pa/README.md) · 🇵🇭 [phi](../phi/README.md) · 🇵🇱 [pl](../pl/README.md) · 🇵🇹 [pt](../pt/README.md) · 🇧🇷 [pt-BR](../pt-BR/README.md) · 🇷🇴 [ro](../ro/README.md) · 🇷🇺 [ru](../ru/README.md) · 🇱🇰 [si](../si/README.md) · 🇸🇰 [sk](../sk/README.md) · 🇸🇮 [sl](../sl/README.md) · 🇷🇸 [sr](../sr/README.md) · 🇸🇪 [sv](../sv/README.md) · 🇰🇪 [sw](../sw/README.md) · 🇮🇳 [ta](../ta/README.md) · 🇮🇳 [te](../te/README.md) · 🇹🇭 [th](../th/README.md) · 🇹🇷 [tr](../tr/README.md) · 🇺🇦 [uk-UA](../uk-UA/README.md) · 🇵🇰 [ur](../ur/README.md) · 🇺🇿 [uz](../uz/README.md) · 🇻🇳 [vi](../vi/README.md) · 🇳🇬 [yo](../yo/README.md) · 🇨🇳 [zh-CN](../zh-CN/README.md) · 🇹🇼 [zh-TW](../zh-TW/README.md)
---
# 🚀 OmniRoute — 無料の AI ゲートウェイ
**[Diego Souza](https://github.com/diegosouzapw) によって作成**
## 💰 サードパーティーの無料枠全体で月間約16.2億トークン
> **プロバイダーアカウントをご自身で用意してください。** これは、個別に利用資格のあるサードパーティー無料枠を合算した推定値であり、OmniRouteから付与されるトークンではありません。登録し、必要に応じて認証情報を取得して、利用できるプロバイダーを接続してください。各プロバイダーが上限、提供状況、利用規約を管理します。
>
> 無料枠を手作業で積み重ねるのは大変です — 数十のSDK、数十のレート制限、そして実際にどれだけ利用できるのか分かりません。OmniRouteは、**34個の継続的なプールキーにわたる465件の無料枠エントリ**をカタログ化し、**公開された正の月間予算を持つ17個のプールと、5つのモデル別Groq上限**からトークン総量を算出します。共有プールは重複排除されます。地域の本人確認後にのみ開放されるクォータ(現在はModelScope)は別枠で表示され、地域の本人確認分として約600万トークンが追加されますが、見出しの合計には含めません。結果はダッシュボード(`/dashboard/free-tiers`)に表示され続けます。
> 稼働中の `/dashboard/free-tiers` ページのアニメーション概要。完全な方法論(プールの重複排除、クレジット階層、プロバイダー規約):**[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**。
>
> これらの数値は、稼働中のカタログに基づいて2週間ごとに再監査され、**増減します** — プロバイダーが無料枠を終了すれば数値は減り、新しいプロバイダーが追加されれば増加します。カタログが実際に算出した値を公開しており、都合よく切り上げた最良ケースは掲載していません。
OMNIROUTEが費用の節約や作業の効率化に役立ったなら、リポジトリに⭐スターを付けてください。
[](https://github.com/diegosouzapw/OmniRoute)

[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 コミュニティに参加
**👋 メンテナーをフォロー — 新しいプロバイダー、リリース、ヒントをいち早く入手できます:**
[](https://www.linkedin.com/in/diegosouzapw/)
[](https://github.com/diegosouzapw)
[](https://discord.gg/U47eFqAXCn)
[](https://t.me/omnirouteOficial)
[](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4)
[](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4)
[](https://omniroute.online)
**質問、プロバイダーに関するヒント、ロードマップ、サポート → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 グローバル](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 ブラジル](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [ポータル](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 ゲートウェイは成長を続けています
| | v3.8.50 | **v3.8.51** | `v3.8.54+` |
| ------------------------------- | :-------------------------------: | :---------: | :-------------------: |
| 🌐 プロバイダー | 352 | **358** | 388 |
| 🧠 一意のチャットモデル ID | 1320 | **1374** | 1491 |
| 🖼️ モダリティブリッジ | 🆕 ビジョン + オーディオ + ビデオ | ✓ | ✓ |
| 📡 Radar 無料カタログ | 🆕 オプトイン | ✓ | ✓ |
| ⚖️ クォータ対応スケジューリング | 🆕 Quota-Share | ✓ | ✓ |
| 📊 クォータテレメトリ | 🆕 ライブ | ✓ | ✓ |
| 🧰 ヘッドレスモード | — | — | 🆕 `serve --headless` |
| 🛤️ LTS レールインフラ | — | — | 🆕 リリースチャネル |
| 🔎 モデル検出 API | — | — | 🆕 `/v1/models/query` |
**→ [ロードマップ](ROADMAP.md) — レールに乗って `v3.9.0 LTS` へ**
## 🧩 利用可能
[](https://www.npmjs.com/package/omniroute)

[](https://hub.docker.com/r/diegosouzapw/omniroute)
](LICENSE)


## 🆓 インストールしてプロバイダーに接続し、1つのエンドポイント経由でルーティング
```bash
# プロバイダーに接続したら、ダッシュボード → エンドポイントからOmniRouteキーをコピーします:
curl http://localhost:20128/v1/chat/completions \
-H "Authorization: Bearer YOUR_OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
`auto`には利用可能なルートが必要です。新規インストール直後は、キー不要で利用できる対象に利用可能なものがない場合があり、キー不要のプロバイダーがサードパーティ製クライアントを拒否することもあります。`tos: avoid`とマークされたプロバイダー(Kiroを含む)は、デフォルトで自動ルーティングから除外されます。アカウントを接続しても、この設定は上書きされません。プロバイダーを選ぶ前に、[無料ティアガイド](docs/getting-started/FREE-TIERS-GUIDE.md)を参照してください。
📦 **Python、Node.js、PHP、cURL** 用のコピー&ペースト可能なクイックスタートスクリプト → [`examples/quickstart/`](examples/quickstart/)
# 💥 OmniRouteが約束するもの
# 🤔 なぜOmniRouteなのか?
## 🤝 オープンソースフレンドによるサポート
> **オープンソースフレンドとして参加しませんか?** これらの企業はオープンソースを支援し、OmniRouteの活動を継続するのに役立っています。そして、私たちは彼らが提供するすべてのトークンがどこに使われるかを公にしています。ご連絡ください: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi Moonshot AI
|
このプロジェクトを支援してくださる、創設オープンソースフレンドであるKimi (Moonshot AI)に感謝いたします!Kimiは、オープンウェイトのK2およびK3モデルファミリーを開発するAIラボです。Kimi K3は、1Mトークンのコンテキストウィンドウ、ネイティブビジョン、フロンティアレベルのコーディングを、クローズドモデルのわずかな価格で提供し、Claude Code、Codex、およびOmniRouteが提供するすべてのコーディングツールとすぐに連携します。
Kimiのサポートがもたらすもの: KimiのAPIクレジットは、OmniRouteのAI検証済みリリースパイプライン(すべてのプルリクエストが出荷される前にレビューされるKimi K3によるマージ検証ステージ)と、日々の機能開発を支えています。ファーストクラスのKimiサポートは、直接のKimi API(kimi-k3)とKimi Codeコーディングプラン(OAuthおよびAPIキー)の両方で提供されます。OmniRouteは、Kimiのサポートプログラムにおける最初のブラジル製オープンソースプロジェクトでもあります。15%追加クレジット付きのKimi APIキーを入手 →
|
Cheaper Inference cheaperinference.com
|
このプロジェクトを支援してくださる、OmniRouteのオープンソースフレンドであるCheaper Inferenceに感謝いたします!Cheaper Inferenceは、42のフロンティアモデル(Claude、GPT-5.x、Gemini、Kimi K3、GLM、DeepSeek、Grok、MiniMax)を1つのOpenAI互換エンドポイントの背後で再販する、コストランク付けされたゲートウェイです。各リクエストを最も安価な適格プロバイダーにルーティングし、モデルメーカーの定価を超える料金を請求することはありません。
OmniRouteでのファーストクラスサポート: チャット補完、ネイティブの/v1/responsesエンドポイント、ビジョン、ツール呼び出し、および3つの画像モデル(grok-imagine、nano-banana-pro、nano-banana-2、cheaperinference/<model>としてアクセス可能)。APIキーを入手 →
|
aff=omnirouteタグ付きのリンクはパートナーリンクです。これらは追加費用なしでプロジェクトに資金を提供します。
🎟️ アフィリエイトプロモーション — スポンサーではないプロバイダーからの無料登録クーポン(クリックで展開)
このセクションは紹介/クーポンコードのみを対象としています。スポンサーシップパートナーシップは上記の🤝 オープンソースフレンドによるサポートに記載されています。OmniRouteはここに記載されているプロバイダーとのスポンサーシップやパートナーシップは一切ありません。これらは誰でも利用できる公開クーポンです。
AgentRouter agentrouter.org
|
AgentRouter — アフィリエイト登録 · 登録時に$100の無料クレジット(無料サーバー、レイテンシが高くなる可能性があります — 本番環境ではなくテストに最適)。OmniRouteではv3.8.50以降、チャット補完、Anthropic互換のワイヤーフォーマット、OpenAI互換パスでファーストクラスのサポートを提供。利用可能なモデルにはclaude-opus-4-8、claude-opus-5、gpt-5.6-solなどがあります。$100を獲得 →
⚠️ アフィリエイトリンク — OmniRouteはこのプロバイダーとのスポンサーシップやパートナーシップはありません。
|
OmniRouteユーザーに利益をもたらす、寛大な無料登録クーポンを提供する他のプロバイダーをご存知ですか?イシューをオープンしていただければ、ここに追記します。
## 🎯 コンボ — 主力機能
> **コンボ**とは、OmniRouteが**自動的に**切り替えながらルーティングするモデルのチェーンです。クォータを使い切った場合、プロバイダーに障害が発生した場合、またはコストが急増した場合、コンボは次に利用可能な正常なモデルへ移行できます。🛡️
### ⚡ 設定不要 — `auto`を使うだけ
コンボを作成する必要はありません。モデルを`auto`(またはそのバリエーション)に設定すると、OmniRouteが接続済みプロバイダーから仮想コンボを構築し、リアルタイムでスコアリングします。
| モデルID | 最適化の対象 |
auto | 🎯 バランスの取れたデフォルト(LKGP — 最後に正常だったプロバイダーを継続使用) |
auto/coding | 🧑💻 コード生成向けの品質優先ウェイト |
auto/fast | ⚡ レイテンシが最も低いものを優先 |
auto/cheap | 💰 トークン単価が最も安いものを優先 |
auto/subscription | 🎟️ すでに料金を支払っているサブスクリプションのクォータのみを使用 — フェイルクローズ方式で、課金対象のフォールバックは一切なし(ガイド) |
auto/thrifty | 🪜 まずプランのクォータを使用し、その後は最も安い従量課金オプションへ1段ずつ移行 — リセット後はプランに復帰(ガイド) |
auto/offline | 🔋 クォータ/レート制限の余裕が最も大きいものを優先 |
auto/smart | 🔭 品質優先+より優れたモデルを発見するための10%の探索 |
auto/lkgp | 📌 最後に正常だったプロバイダーを明示的に継続使用 |
auto/chaos | 🧪 複数モデルのパネル(プロバイダーごとに1つ、デフォルトでは5つ)へ並列にファンアウトし、1つの回答を返す。パネル内のモデルごとにアップストリーム呼び出しを1回実行するものであり、フォールトインジェクションではありません |
##
### 🔀 または独自に構築 — 20種類のルーティング戦略
**20種類**すべての戦略を、コンボのステップごとに自由に組み合わせられます。
| # |
戦略 |
動作 |
| 1 |
priority |
先頭ターゲット優先の順序付きリスト — 各ターゲットを使い切ってから次へ移行 🥇 |
| 2 |
fill-first |
次へ移行する前に、各ターゲットのクォータを完全に使い切る |
| 3 |
weighted |
ターゲットごとのウェイトに基づく加重ランダム選択 |
| 4 |
round-robin |
ターゲットを順番に循環 |
| 5 |
p2c |
「2つの選択肢」方式によるランダム負荷分散 |
| 6 |
least-used |
現在の負荷が最も低いターゲットを選択 |
| 7 |
random |
一様ランダム選択(重複を排除) |
| 8 |
strict-random |
重複する選択を排除しないランダム方式 🎲 |
| 9 |
cost-optimized |
ライブカタログの価格情報に基づき、リクエストあたりのコストを最小化 💸 |
| 10 |
headroom |
残りのクォータが最も多いターゲットを選択 |
| 11 |
quota-weighted |
クォータを使い切ったアカウントを除外し、残りのクォータ÷処理中の負荷に比例して選択 — 既存の会話は固定を維持 ⚖️ |
| 12 |
reset-window |
クォータの期間が最も早くリセットされるターゲットを優先 |
| 13 |
reset-aware |
クォータのリセット時刻で順位付け — 短い期間を優先 📊 |
| 14 |
context-relay |
長い会話でターゲット間のコンテキストを引き継ぐ 🧠 |
| 15 |
context-optimized |
現在のコンテキストサイズに最適なターゲットを選択 |
| 16 |
cache-optimized |
再利用可能な各プロンプト接頭辞を同じアカウントに固定 — プロンプトキャッシュのヒット率を最大化 🎯 |
| 17 |
lkgp |
Last-Known-Good Path — 最後に成功したプロバイダーに固定し、その後ルールにフォールバック |
| 18 |
auto |
すべての接続を対象とした16要素のリアルタイムスコアリング 🤖 |
| 19 |
fusion |
複数モデルのパネルへファンアウトし、ジャッジが1つの回答に統合 🧬 |
| 20 |
pipeline |
ステップを連結 — 各ターゲットの出力を次のターゲットへ渡す 🔗 |
Auto-Combo エンジンは、すべての候補を **16 の要因**(ヘルス、クォータ、コスト、レイテンシ、タスク適合性、品質、セッション可用性など)で評価します — 詳細は [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md) を参照してください。
##
### 🧱 レジリエンスを標準搭載(独立した 3 層)
📖 [Auto-Combo エンジン](docs/routing/AUTO-COMBO.md) · [レジリエンスガイド](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 OmniRouteを際立たせる特徴
📊 9router、OpenRouter、CLIProxyAPI、LiteLLMとの完全な方法論と機能別詳細 → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 OmniRoute を支援する
OmniRoute は MIT ライセンスで公開され、オープンに保守されています。時間や費用の節約に役立った場合は、独立性を維持するために、ご自分に合った方法でご支援ください。スポンサーシップがルーティングの優先順位に影響することはありません。得られるのは可視性であり、順位ではありません。
**🇧🇷 PIX** — 即時、手数料なし(ブラジル)
キー(ランダム):`5d865059-bc44-483a-962d-43ceb80126eb`
Pix コピー&ペースト:
```
00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD
```
₿ 暗号資産 — BTC · ETH · USDT-TRC20 · USDC-Solana(クリックして展開)
| ₿ BTC | Bitcoin (SegWit) | bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd |
| Ξ ETH | Ethereum (ERC20) | 0x64Cf6B68A6Ff34288e89172950a2d00102337a84 |
| ₮ USDT | Tron (TRC20) | TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2 |
| $ USDC | Solana | 2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu |
⚠️ 各コインは、表示されているネットワークでのみ送金してください。誤ったネットワークで送金すると、資金を失う可能性があります。
🐛 バグを見つけた場合やフィードバックがある場合は、[Discussion](https://github.com/diegosouzapw/OmniRoute/discussions) を作成してください。
開発者向け注記: このプロジェクトでは、開発者の利便性のため、npm install/postinstall の実行中にローカルの .env ファイルが生成される場合があります。このファイルは意図的に .gitignore 経由で無視されており(.gitignore を参照)、決してコミットしてはなりません。誤ってコミットした場合は、露出したシークレットをすべてローテーションし、履歴からそのファイルを削除してください。ローカル環境ファイルとシークレットの管理方法については、docs/DEVELOPER-ENVIRONMENT.md を参照してください。
## 📡 OmniRoute Radar
無料枠の主な目安は、上記のドキュメント化されたプール重複排除済みカタログに基づき、引き続き**月間約1.62Bトークン**です。プロバイダーの一時的なサインアップクレジットにより、初月は別途**約2.22B**まで増える可能性があります。Radarは、OmniRouteのリリース間でも無料モデルの提供状況をより最新の状態で把握したい方のための、署名付きカタログオーバーレイです。利用は任意であり、コミュニティカタログおよび既存のすべての無料機能は、引き続き無料です。
サポーターは、ライブカタログと追加のプロバイダー利用機会を受け取ることができます。この枠は独立して変動し、プロバイダーの提供状況に応じて、上限は**最大で月間約3Bトークン**です。この上限は保証されるものではありません。プロバイダーは、割り当て量、利用資格、モデル、または対象地域をいつでも変更できます。
Radarはオプトイン方式で、GETリクエストのみを使用します。OmniRouteクライアントが、プロンプト、トラフィック、プロバイダー設定、使用状況テレメトリ、またはローカルのお知らせ非表示状態をアップロードすることはありません。利用資格と現在のカタログについては、**[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**をご覧ください。
## ✨ 新機能
> **v3.8.20 → v3.8.54** の主な変更点です。完全な履歴は [`CHANGELOG.md`](CHANGELOG.md) を参照してください。
- **⚖️ `quota-weighted` ルーティング** — 20番目のコンボ戦略です。使い切ったアカウントをスキップし、残りのアカウントから残りのクォータ ÷ 実行中の負荷の割合に応じて選択します。既存の会話は同じアカウントに固定されます。→ [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🧰 ヘッドレスモード** — `omniroute serve --headless`(または `OMNIROUTE_HEADLESS=1`)を実行すると、`/v1/*` プロキシエンジンのみが稼働し、ダッシュボードとダッシュボード専用サブシステムは無効になります。→ [ヘッドレスモード](docs/guides/HEADLESS.md)
- **🔎 モデル検出** — `/v1/models` は機能、コンテキスト、種別、テキストでフィルタリングでき、`POST /v1/models/query` は同じキーごとの可視性を適用した、短く決定論的な候補リストを返します。→ [APIリファレンス](docs/reference/API_REFERENCE.md)
- **🔑 キーごとのルーティング制御** — `forcedModel` を使ってAPIキーを1つのモデルまたはコンボに固定し、キーのモデルとコンボをアトミックに追加・削除できます(`/api/keys/{id}/access`)。→ [APIリファレンス](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml)
- **🛡️ より細かなPII制御** — 種類ごとの選択、最大20個の検証済みカスタムマスキングパターン、種類ごとの検出カウンターに対応しました。マスキング自体は引き続きオプトインです。→ [ガードレール](docs/security/GUARDRAILS.md)
- **🌍 67言語** — ダッシュボード、ドキュメントミラー、CLIに対応し、`npm run i18n:add-locale` を実行するだけで、すべての場所に言語を追加できます。→ [i18nガイド](docs/guides/I18N.md)
- **🎛️ OmniConductor** — エージェントフリートへのインバウンドA2A委任、Agent Card上のConductorスキル、Faroのプッシュ・トゥ・トーク音声チャットを備えたダッシュボードパネルに対応しました。→ [A2Aサーバー](docs/frameworks/A2A-SERVER.md)
- **🛂 適応型アドミッションと過負荷保護** — 負荷の大きいチャットリクエストは503を返す代わりにキューに入り、接続ごとにRPMのローリングリースをアトミックに処理します。→ [レジリエンスガイド](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ 正規化された `/v1/models` の順序** — プロバイダーごとに、コンボを先頭に固定した連続したプロバイダーグループのブロックを1つだけ配置し、すべてのカタログソースで順序が安定します。→ [APIリファレンス](docs/reference/API_REFERENCE.md)
- **🗜️ 圧縮の堅牢化** — インフレーションガードをデフォルトで有効化し、DE / FR / JA + 中国語(文言)のCavemanパック、Gradleと.NET向けのRTKフィルターを追加しました。→ [圧縮](docs/compression/COMPRESSION_ENGINES.md)
- **💸 正直な定額料金** — サブスクリプション / コーディングプランのプロバイダーはコスト分析上 **$0** として扱われます。予算、クォータ、ルーティングでは引き続き推定値が使用されます。→ [APIリファレンス](docs/reference/API_REFERENCE.md)
- **⚖️ Quota-Shareルーティング** — 共有アカウントのクォータをプールされたキー間で公平に分配します。アイドル状態の割り当て分を貸し出すワークコンserving方式です。→ [レジリエンスガイド](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 ワンコマンドのCLI/エージェントセットアップ** — 15個の `setup-*` コマンドを登録し、`omniroute run` で7つのCLI(Claude Code、Codex、Aider、Goose、OpenCode、Qwen Code、Gemini CLI)を起動できます。`omniroute configure` は11個のターゲットに対応し、対話型のプロバイダー+モデルピッカーと、コンテキストごとのお気に入りを提供します。→ [CLI連携](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ リモートモード** — スコープ付きトークン(`connect` / `contexts` / `tokens`)を使ってリモートのOmniRouteを操作でき、VPSへのインストール向けに `antigravity` OAuthヘルパーも利用できます。→ [リモートモード](docs/guides/REMOTE-MODE.md)
- **🧭 よりスマートな自動ルーティング** — `auto/:` コンボ、**Fusion**(モデルパネル + ジャッジ)、タスク対応ルーティング、リクエストごとのモデル / モード / USD予算の上書きに対応しました。→ [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ プラガブルな圧縮** — 12個の組み合わせ可能なエンジンとCompression Studiosに対応しました。LLMLingua-2、2段階Ultra、omniglyph、ステップごとの忠実度ゲート、GCF v3.2、ドラッグ&ドロップによる並べ替えエディターを利用できます。→ [圧縮](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ 透過的なMITM復号(TPROXY)** — プロキシ環境変数を無視するCLIをキャプチャでき、SNIごとのCAとトラストストアインストーラーを備えています。→ [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 あらゆる場所でのコストテレメトリ** — すべてのエンドポイントで `X-OmniRoute-*` コスト/使用量ヘッダーを提供し、キャッシュHITによる節約額ヘッダーと、キーごとのUSD支出クォータにも対応しました。→ [APIリファレンス](docs/reference/API_REFERENCE.md)
- **🧠 制御可能なメモリ** — デフォルトでは無効で、オプトインのint8ベクトル量子化と型付き減衰、およびリクエストごとの `x-omniroute-no-memory` に対応します。→ [メモリ](docs/frameworks/MEMORY.md)
- **🛡️ セキュリティ** — すべてのLLMルートにプロンプトインジェクションガード(レッドチームスイート)を適用し、オプトインの認証情報マスキングガードレール(送受信の両方向で漏洩したAPIキー/シークレットを編集)、無料のDuckDuckGo最終手段Web検索、ダッシュボード向けのオプションのOIDCログインゲートを提供します(パスワードログインは常に利用可能です)。→ [ガードレール](docs/security/GUARDRAILS.md)
- **🖼️ 新しいエンドポイント** — `/v1/ocr`(Mistral OCR)と `/v1/audio/translations`(Whisper形式)を追加し、メディアAPIを拡充しました。→ [APIリファレンス](docs/reference/API_REFERENCE.md)
- **🎨 画像 / 動画 / 音声生成** — メディア向けの単一APIで、xAI Grok ImagineとNovita AIの動画、ComfyUI、Magnific、Adobe Firefly、Segmind、ElevenLabsなどの音声プロバイダーを利用できます。→ [APIリファレンス](docs/reference/API_REFERENCE.md)
- **🌍 デプロイと運用** — リバースプロキシの `basePath`、ブラウザー言語の自動検出、キーごとのデバイス追跡、root権限不要のMITM信頼、zh-TWローカライゼーションに対応しました。→ [環境変数](docs/reference/ENVIRONMENT.md)
- **🤝 さらに多くのプロバイダーとエージェント** — クラウドエージェント(Codex Cloud、Cursor、Devin、Jules)、ブラウザー + OAuthログイン対応のGrok Build(xAI)、正式対応のOllamaカード、Claude Opus 5とSonnet 5、Kimi公式パートナーシップ(Code/Web/Moonshot)、Zed、Requesty、SenseNova、Yuanbao、Agnes AIなどに対応し、**388プロバイダーのカタログ**を刷新しました。→ [プロバイダー](docs/reference/PROVIDER_REFERENCE.md)
- **📡 ルーティングの透明性** — すべてのレスポンスに、処理した戦略/プロバイダー/レイテンシーを示す `X-OmniRoute-Decision` ヘッダーが付与されます。新しい `cache-optimized` コンボ戦略とAuto-Comboの `cacheAffinity` 要素により、繰り返しリクエストをキャッシュ済みプレフィックスを保持する接続へ戻します。また、読み取り専用の `/v1/auto-combo/{channel}/candidates` エンドポイントで、`auto/*` チャネルの現在の候補プールを公開します。→ [Auto-Combo](docs/routing/AUTO-COMBO.md)。
- **⚡ ローカルパフォーマンスとインフラ** — ワンクリックで起動できるローカル Redis、Cloudflare Workers / Deno Deploy リレーデプロイヤー、監視対象の組み込みサービスとしての Bifrost と Mux。→ [組み込みサービス](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 これらも標準搭載** — プラグインフレームワーク + マーケットプレイス、Omni/Agent/GitHub スキルフレームワーク、Obsidian vault 統合(22 個の MCP ツール)、OpenAI 互換の Batch & Files API、セマンティックレスポンスキャッシュ、リーダーボード付きのゲーミフィケーション、ACP エージェント検出(15 個の組み込みエージェント)、BigQuery へのスケジュール済みログエクスポート、`auto/chaos` による並列マルチモデルファンアウト、Telegram ボットブリッジ、アプリ内バージョンマネージャー、LMArena-ELO による無料プロバイダーランキング。→ [ドキュメント](docs/README.md)
## 🤖 対応CLI & コーディングエージェント
> 1つの設定 — `http://localhost:20128/v1` — で、**すべて**のAI IDEやCLIが無料・低コストのモデルで動作します。
+ 他にも対応 · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · あらゆるOpenAI互換ツール
📖 すべての39ツール(CLI Code 28種 + CLI Agent 11種)のツールごとのセットアップ → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 OpenCodeプラグイン → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
**OmniRouteを使って、サポートされている任意のCLIを1コマンドで起動** — 設定ファイル不要、
認証情報はプロセスごとに注入、Qwen/Geminiには使い捨ての分離されたホームを割り当て:
```bash
omniroute run claude --model openai/gpt-5.4 # Claude Code
omniroute run codex --model glm/glm-5.2 # OpenAI Codex CLI
omniroute run aider --model glm/glm-5.2 -- --message "reply OK"
omniroute run goose --model glm/glm-5.2
omniroute run opencode --model glm/glm-5.2 -- run "reply OK"
omniroute run qwen --model glm/glm-5.2 -- -p "reply OK"
omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "reply OK"
# または、プロバイダーとモデルを対話的に選択し、ツール独自の設定を書き込む:
omniroute configure codex # 他にも: claude opencode qwen aider goose gemini cline continue kilo 5dive
```
すべてのコマンドはアクティブなリモートコンテキスト(`omniroute connect `)を尊重し、`--dry-run`で
実行せずに正確な環境変数や引数をプレビュー、`--api-key-env NAME`で
シェル履歴に秘密情報を残しません。→ [CLI統合](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 388 AI プロバイダー — カタログ登録済み無料 153
> **388 の登録済みプロバイダー**が、正規のチャット、メディア、検索、ローカル、クラウドエージェント、システムの各コレクションにまたがって存在し、そのうち **153 は `hasFree: true` の検出メタデータを付与**されています。チャットモデルレジストリには **239 プロバイダー / 3,059 個の個別プロバイダー・モデルペア / 1,475 個の生モデル ID**が含まれます。別個に管理される無料予算カタログには、**モデルごとの行が 471 件**、**継続的なプールが 34 件**、**継続利用可能・キー不要で永久無料のプロバイダーが 52 件**あります。これらは意図的に異なる分母を使用しています。定義およびプール重複排除後の計算については、[プロバイダーリファレンス](docs/reference/PROVIDER_REFERENCE.md)と[無料ティア](docs/reference/FREE_TIERS.md)をご覧ください。
## 🖥️ OmniRouteが実行される場所 - どこでも
> 同じアプリ、同じマシン、あなたのルール。グローバル npm インストールから**あなたの電話**Termux経由。
| プラットフォーム | インストール | ハイライト |
| 📦 npm (グローバル) | npm install -gオムニルート | 1 つのコマンド、任意のOS |
| ⚡ Bun (グローバル) | bun add -gオムニルート | 同じレジストリ tarball、高速インストール |
| 🐳 Docker | docker run … diegosouzapw/omniroute | マルチアーチAMD64 + ARM64 |
| 🖥️ デスクトップ (Electron) | npm run electric:build | ネイティブ ウィンドウ+システム トレイ — Windows / macOS / Linux |
| 🎩 メニューバー (OmniRouteTray) | brew install --cask zoispag/tap/omniroute-tray | &サーバーの自動更新の監視 — macOS |
| 💪 ARM | ネイティブ arm64 | Raspberry Pi、 ARMサーバー、Apple Silicon |
| 📱 Android (Termux) | pkg install Nodejs && npx -yオムニルート | 携帯電話でを実行します、 24/7、ルートなし |
| 📲 PWA | 「ホーム画面に追加」 | フルスクリーン、オフライン、ブラウザからインストール可能 |
| 🧩 OpenCodeプラグイン | @omniroute/opencode-provider | OpenCode zqn 統合 |
| 🤖 VSコードCopilotチャット | インストールOmniCopilot拡張 | ネイティブCopilotのすべてのOmniRouteモデル チャット ピッカー — 安定した& Insiders |
| 🛠️ ソースから | npm install && npm run dev | ハックして、 |
に貢献してください
📖 [Dockerガイド](docs/guides/DOCKER_GUIDE.md)·[デスクトップ](electron/README.md)·[メニューバー トレイ](https://github.com/zoispag/omniroute-tray)· [Termux](docs/guides/TERMUX_GUIDE.md) · [PWA](docs/guides/PWA_GUIDE.md) · [OpenCode](docs/frameworks/OPENCODE.md)
### 🧩新しい: VSコードのネイティブCopilotチャット内のOmniRoute
> 新しいサイドバーや新しいチャットUIはありませんOmniRoute提供するすべてのモデルは、**すでに使用しているCopilotチャット モデル ピッカー**。 VSコード 1.122 以降、プロバイダー モデルは、 GitHubサインインやCopilotサブスクリプションなしでも、エージェント モード、ツール呼び出し、ビジョンを無料で利用できます。
をインストールします。** [OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**拡張子を使用して、 OmniRouteサーバー (デフォルトは`localhost:20128`) を指定してから、 Copilot Chat → model picker →を開きます。**モデルを管理…** →**OmniRoute** 。
エディター内から:**拡張機能**見る、検索する**「OmniRoute」** 、 クリック**インストール**— どちらのストアでも同じように機能します。ソース、問題、発行 Runbook は[diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)にあります。
📖 [VSコードCopilotチャット ガイド](docs/guides/VSCODE-COPILOT.md)— セットアップ、ピッカーの表示内容、タブ内のダッシュボード、トラブルシューティング
### 🎩 New: OmniRouteTray — メニューバーにあるゲートウェイ
> `omniroute serve`常にオンになっているときが最も幸せです。** [OmniRouteTray](https://github.com/zoispag/omniroute-tray)**これをmacOS用の、設定して忘れるメニューバー アプリに変えます。サーバーを起動し、再起動後もサーバーを存続させ、所定の位置に更新し、ワンクリックでライブ トークン バジェットを設定します。**ターミナル ウィンドウを開いたままにすることも、 `npm install -g omniroute`ベビーシッターをすることもありません。**
[Tauri v2](https://v2.tauri.app/) (丸め誤差のサイズの Rust コア) で構築されており、独自の署名付き Node 24 ランタイムが同梱され、アプリ所有のOmniRouteインストールを管理するため、グローバル`node`/`bun`と競合することはありません。それ**既存の`~/.omniroute/`構成とデータベースを共有します**— つまり、帽子をかぶっているだけで、すでに実行しているのと同じOmniRouteです。 🎩
| 内容 | 方法 |
| 🟢 サーバーを監視します | オムニルート サーブを生成し、複製する代わりにすでに実行中のインスタンスを採用します |
| 📊 一目でわかるライブ使用量 | プロバイダー クォータ バー、リセット カウントダウン付きのClaude session/weekly制限、30 日間のコストの内訳 |
| 🔄 自動更新を導入 | 段階的インストール、アトミックスワップ、失敗時のロールバック — 常に最新リリース |
| 🚀 ログイン時に開始 | ログイン時にオプションで起動します。トレイのみ、ドックアイコンなし |
| 🩺 Doctor &ログ | ワンクリック診断とサーバー ログ アクセス |
```sh
brew install --cask zoispag/tap/omniroute-tray
```
ダウンロードをご希望ですか?最新の.dmg を次の場所から取得します。
をリリースします。ソース、問題、ビルド
ドキュメントはzoispag/omniroute-trayにあります。
💛 @zoispag によるコミュニティ プロジェクト — 公式のOmniRouteリリースではありません。
## 🔒 プライベート&ローカルファースト
📖 [認可](docs/architecture/AUTHZ_GUIDE.md) · [ガードレール](docs/security/GUARDRAILS.md) · [コンプライアンス](docs/security/COMPLIANCE.md)
## 🔌 完全な CLI + A2A & MCP
> サーバーだけではありません。OmniRoute は **80 以上のコマンド**を備えた**本格的なコマンドライン・コックピット**であり、オープンなエージェントプロトコルにより、AI エージェントが**自律的に**操作できます。
### ⌨️ 本格的な CLI(単なる `start` ではありません)
```bash
omniroute # ゲートウェイ + ダッシュボードを起動(ポート 20128)
omniroute chat # 対話型 TUI チャットクライアント(スラッシュコマンド: /model /combo /skill /memory)
omniroute setup # ガイド付き初回セットアップウィザード
omniroute doctor # プロバイダー、ポート、ネイティブ依存関係を診断
```
### 🛰️ リモートモード — CLI はここで、OmniRoute は VPS 上で実行
OmniRoute をサーバー上で運用していますか?**同じ CLI** を使ってノート PC から操作できます。スコープ付きアクセストークンで一度ログインすれば、
以降のすべてのコマンドはリモートを対象に実行されます。
```bash
omniroute connect 192.168.0.15 # パスワード → スコープ付きトークン。コンテキストとして保存
omniroute models # ← リモートサーバーに対して実行
omniroute configure codex # ← リモートモデルを選択し、ローカルの Codex プロファイルに書き込み
omniroute tokens create --name ci --scope read # 他のマシン向けに、より限定的なトークンを発行
omniroute contexts use default # ← ローカルサーバーに切り替え
```
トークンのスコープは `read` / `write` / `admin`。プロセスを起動するルートはループバックからのみアクセスできます。
📖 [リモートモード](docs/guides/REMOTE-MODE.md)
### 🤝 エージェントを接続すれば、OmniRoute 自体を操作できます
**MCP**、**A2A**、**REST API**、**webhooks**、または**リモート CLI** 経由で OmniRoute を公開すると、対応する任意のエージェント(または独自のコード)が、ルーティング、プロバイダー、コンボ、キャッシュ、圧縮、メモリなど、ゲートウェイ全体を自律的に操作できるようになります。以下の HTTP エンドポイントは `http://localhost:20128` 配下で提供されます。
| インターフェース | エンドポイント / コマンド | 用途 |
| 🧰 MCP (stdio) | omniroute --mcp | Claude Desktop、Cursor、任意の MCP クライアントに接続 |
| 🌊 MCP (HTTP) | /api/mcp/stream | リモート MCP — 110 個のツール、33 個のスコープ(適用はオプトイン)、完全な監査証跡 |
| 📡 MCP (SSE) | /api/mcp/sse | ストリーミング MCP トランスポート |
| 🤝 A2A | /.well-known/agent.json | エージェント間通信、JSON-RPC 2.0 + SSE、6 個のスキル |
| 🌐 REST API | /v1/* | OpenAI 互換 — チャット、埋め込み、画像、音声、OCR |
| 🔔 Webhooks | /api/webhooks | リクエスト / クォータイベントを Slack、Discord、Telegram、または任意の URL にプッシュ |
| 🛰️ リモート CLI | omniroute connect | スコープ付きアクセストークンを使用してリモートインスタンスを操作 |
```bash
# MCP 経由で Claude Code に OmniRoute の全ツールセットを提供:
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream
```
📖 [MCP サーバー](docs/frameworks/MCP-SERVER.md) · [A2A サーバー](docs/frameworks/A2A-SERVER.md) · [エージェントプロトコル](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ トークンを自動で15~95%削減
### 📖 仕組み — パイプライン、アーキテクチャ、削減率の計算
デフォルトの積み重ねコンボは `RTK → Caveman` を実行します。両方が同じツール/コンテキストのペイロードに作用すると、削減効果は累積します。
```txt
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%
```
コードブロック、URL、JSON、構造化データは、**常に**保持エンジンによって保護されます。
> **少ないトークンで済むのに、なぜ多くのトークンを使うのでしょうか?** すべてのリクエストは **透過的に** OmniRouteの圧縮パイプラインを通過します — クライアントの変更は不要です。現在は、順番に実行され、ルーティングコンボごとに自由に組み合わせられる **12個の組み合わせ可能なエンジンのスタック**となっています。[RTK](https://github.com/rtk-ai/rtk)、[Caveman](https://github.com/JuliusBrussee/caveman)(⭐ 90K+)、[LLMLingua-2](https://github.com/microsoft/LLMLingua)、[Troglodita](https://github.com/leninejunior/troglodita)(PT-BR)のアイデアを基盤としています。
### 🧱 12エンジンのスタック
エンジンはパイプラインの順序で実行され、それぞれをコンボごとに個別に有効化/無効化および設定できます。
| # | エンジン | 機能 |
| 1 | Session-Dedup | ターン間で繰り返されるコンテンツを削除(コンテンツアドレス指定、ターン横断) |
| 2 | CCR | 大きなブロックを取得マーカーの背後にアーカイブし、必要に応じて取得 |
| 3 | Lite | 空白文字と画像URLをトリミング(低レイテンシのベースライン) |
| 4 | RTK | スマートなツール結果のフィルタリング、重複排除、切り詰め(コマンド対応) |
| 5 | Responses Tool Output | シェル/パッチ/検索/ビルド出力向けのロスレス優先JSONと、範囲を制限した診断圧縮(Responses API) |
| 6 | Headroom | ベンダー提供のGCFコーデックによる、JSON配列のロスレス表形式コンパクション(約30%) |
| 7 | Relevance | 直近のユーザークエリに対する抽出型の文スコアリング |
| 8 | Caveman | ルールベースの散文圧縮(出力で約65~75%) |
| 9 | Aggressive | 古いターンの要約と段階的な劣化 |
| 10 | LLMLingua-2 | MobileBERT ONNXによるMLセマンティックプルーニング — コードセーフ、非同期 |
| 11 | Ultra | オプションの小規模モデル(SLM)層を備えたヒューリスティックなトークンプルーニング |
| 12 | OmniGlyph | Anthropicの直接ワイヤー上で測定されたClaude Fable 5向けの、実験的なコンテキスト画像エンコーディング。GPT 5.6のトランスフォーマーは、プロバイダーの受領確認が得られるまでフェイルクローズドのままです。4つの圧縮プロファイル(aggressiveがデフォルト、balanced、coding-safe、passthrough)(最も積極的;オプトイン) |
コードブロック、URL、構造化データは、**常に**バイト単位で完全に保持されます。**ワンクリックプリセット**でエンジンを組み合わせられます。
| モード | 削減率 | 最適な用途 |
| 🪶 Lite | 約15% | 常時有効にできる安全なデフォルト |
| 🪨 Standard (Caveman) | 約30% | 日常的なコーディング |
| ⚡ Aggressive | 約50% | ツールを多用する長時間のセッション |
| 🔥 Ultra | 約75% | 最大限の削減 |
| 🧰 RTK | 60~90% | シェル/テスト/ビルド/gitの出力 |
| 🔗 Stacked (RTK → Caveman) | 78~95% | さまざまなプロンプトとツールログ |
**実例 — Standardモード:**
> **Before(69トークン):** _"Reactコンポーネントが再レンダリングされる理由は、各レンダリングサイクルで新しいオブジェクト参照を作成しているためである可能性が高いです。インラインオブジェクトをプロップとして渡すと、Reactの浅い比較では毎回異なるオブジェクトとして認識されるため、再レンダリングが発生します。オブジェクトをメモ化するためにuseMemoを使用することをお勧めします。"_
>
> **After(19トークン):** _"各レンダリングで新しいオブジェクト参照。インラインオブジェクトのプロップ = 新しい参照 = 再レンダリング。useMemoでラップ。"_
>
> **同じ回答。トークンを72%削減。精度の低下はゼロ。** ✅
**PT-BRの例 — [Troglodita](https://github.com/leninejunior/troglodita)モード:**
> **前(42トークン):** _「問題は、レンダリングサイクルごとに新しいオブジェクト参照が作成されるため、コンポーネントが再レンダリングされていることです。`useMemo` の使用をお勧めします。」_
>
> **後(12トークン):** _「再レンダリング:各サイクルで新しい参照(インラインオブジェクトが再作成)。`useMemo` を使用。」_
>
> **同じ回答。約70%少ないトークン数。技術的な正確性はそのまま。** ✅
### 🎚️ エンジンの先へ — 出力スタイル、適応型ダイヤル、リクエスト単位の制御
上記の12個のエンジンは、**入力される**内容を縮小します。さらに3つのレイヤーが、**どのように**、**いつ**、そして何が**出力されるか**を形作ります。
- **🪄 出力スタイル** _(出力軸の調整)_ — 決定論的でキャッシュに安全なレスポンス整形指示を注入します。組み合わせ可能で、それぞれ `lite` / `full` / `ultra` の強度を指定できます。スタイルの追加は、レジストリに1行追加するだけです。
- **簡潔な文章** — 冗長な語句・冠詞・曖昧な表現を削除し、技術的な内容の正確さを維持します。
- **コードを減らす** — 「怠惰なシニア開発者」のYAGNI:動作する最小限の変更を行い、要求されていない足場コードは追加しません。
- **ポニーテール(怠惰なシニア開発者)** — YAGNIの段階を進み、根本原因を修正し、動作する最小限の差分にします。
- **ADHDがあります(アクション優先)** — 次のアクションを先頭に置き、手順に番号を付け、具体的な次のステップを1つ示し、前置きを入れません。
- **簡潔なCJK(文言)** — 古典中国語による超簡潔なスタイル(ロケールが `zh` の場合のみ有効)。
- **🎯 適応型コンテキスト予算** _(ダイヤル)_ — 1つのオン/オフ式トークンしきい値を使う代わりに、モデルのコンテキストウィンドウに**収まる**ために必要な範囲で、最も低コストで情報損失の少ないエンジンを段階的に適用します。ポリシー:`reserve-output`(デフォルト、モデル対応) · `percentage` · `absolute`。モード:`floor`(収まることを保証) · `replace-autotrigger`(明示的な選択を優先) · `off`(従来のしきい値)。
- **🎛️ 圧縮の決定場所** _(優先順位、高 → 低)_ — リクエスト単位の `x-omniroute-compression` ヘッダー › ルーティングコンボの上書き › アクティブな名前付きプロファイル › 適応型 / 自動トリガー › パネルのデフォルト › 無効。適用されたプランは、`X-OmniRoute-Compression: ; source=` レスポンスヘッダーに返されます。
トークンしきい値による自動トリガー、適応型ダイヤルの有効化、名前付きプロファイルの固定、リクエスト単位の一時設定、ルーティングコンボごとのパイプライン割り当てなど、ワークロードに合った方法を選べます。オプトイン方式のオフライン **評価ハーネス**(`npm run eval:compression`)では、変更を昇格させる前に、固定コーパスを使って忠実度と削減量を評価できます。
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ クイックスタート
**1) インストールして実行**
```bash
npm install -g omniroute
omniroute
```
> 💡 `npm warn ERESOLVE` や peer dependency の警告が表示されますか?[問題ありません](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated)。
> **npm 11以降を使用していますか?** npmは、許可されていないパッケージのライフサイクルスクリプトをブロックする場合があります。OmniRouteの `postinstall`(`node scripts/build/postinstall.mjs`)は、ネイティブランタイムファイルの準備に必要です。グローバルインストール時に、npmの警告に表示されたパッケージ名を許可してください。OmniRoute 3.8.54で報告されるパッケージセットの場合:
>
> ```bash
> npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
> ```
>
> 今後のグローバルインストールでこの許可リストを再利用するには、一度設定してから通常どおりインストールします。
>
> ```bash
> npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user
> npm install -g omniroute
> ```
>
> 依存関係の一覧はリリースごとに変わる場合があります。npmが異なる一覧を報告した場合は、その警告に表示されたパッケージ名を使用してください。パッケージを許可すると、そのインストールスクリプトの実行が許可されます。
> **Gemini Webまたは別のWeb Cookieプロバイダーを使用していますか?** npmパッケージには
> Playwrightは含まれていますが、Chromiumバイナリは含まれていません。最初のWebプロバイダーリクエストを行う前に、
> [Playwright Chromiumのセットアップ](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium)
> の注意事項を確認してください。
ダッシュボードは `http://localhost:20128`、APIは `http://localhost:20128/v1` です。
**2) 自分のアカウントで利用資格のあるプロバイダーに接続**
ダッシュボード → **プロバイダー** → 現在の利用規約とクォータが用途に合うプロバイダーを選択 → APIキーを追加するか、アカウントの手続きを完了します。無料プランでは、サインアップ、承認、または支払い方法の登録が必要になる場合があります。[無料プランガイド](docs/getting-started/FREE-TIERS-GUIDE.md)を確認してください。キーなしで利用できるとは限らず、`tos: avoid` とマークされたプロバイダーはデフォルトで `auto` から除外されます。
**3) コーディングツールを指定**
```txt
Base URL: http://localhost:20128/v1
API Key: [copy from Dashboard → Endpoints]
Model: auto (routes among eligible connections — or choose provider/model)
```
**4) 動作を確認**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
接続されているモデルの一覧が表示されます。🎉 これで完了です。コーディングを始めれば、OmniRouteが自動的にルーティングとフォールバックを行います。
クライアントがカスタムヘッダーを送信できない場合、OmniRouteはトークン化された互換エイリアスも提供します。
```txt
OpenAI catalog: http://localhost:20128/vscode/YOUR_KEY/
OpenAI models: http://localhost:20128/vscode/YOUR_KEY/models
OpenAI chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI responses: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama chat: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama tags: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
これらは `Authorization: Bearer ...` を付加できないクライアントでのみ使用してください。ヘッダー認証が引き続き推奨される方式です。
## 📦 その他のインストール方法 — Docker、ソース、pnpm、Arch
**🐳 Docker**
```bash
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest
```
`:latest` は、**公開済み**の安定版 SemVer のうち最も高いバージョンを指します。git の `main` は追跡しません。GitOps では `:X.Y.Z` に固定してください。[Docker リリースチャンネル](docs/guides/DOCKER_GUIDE.md#release-channels)を参照してください。このイメージでは **`OMNIROUTE_MEMORY_MB=1024`** に固定されています。これはダッシュボードと軽量なチャットには十分です。**コーディングエージェント**(Claude Code、Codex、Grok などからの `POST /v1/responses`)には、はるかに大きな V8 ヒープが必要です。そうでない場合、2 つの長いコンテキストが重複すると約 12 GiB でプロセスが `FATAL ERROR` になります。ネイティブバッファは V8 の外部に配置されるため、コンテナのサイズはヒープより大きく設定してください。
| ワークロード | ヒープ(`-e OMNIROUTE_MEMORY_MB`) | コンテナ(`--memory`) |
| ------------------------------------------ | ---------------------------------- | ---------------------- |
| ダッシュボード/軽量なチャット | `1024`(イメージのデフォルト) | ≥2 g |
| 1 つのコーディングエージェント | `8192` | ≥10 g |
| 2 つの長時間実行される同時 `/v1/responses` | `10240`–`12288` | ≥12–16 g |
```bash
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-e OMNIROUTE_MEMORY_MB=8192 --memory=10g \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest
```
完全な表:[Docker ガイド — ランタイム RAM](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents)。
> **プレリリース Docker チャンネル:** `diegosouzapw/omniroute:next` と
> `diegosouzapw/omniroute:next-web` は、現在のデフォルトの `release/v*`
> ブランチを追跡します。これらの可変タグは、未リリースの修正をテストする目的にのみ使用するものであり、
> **本番環境ではサポートされません**。詳しくは
> [Docker リリースチャンネル](docs/guides/DOCKER_GUIDE.md#release-channels)を参照してください。
**🥟 Bun**
Bun ランタイムの検出により、標準の `bun install` とグローバルインストール(`bun install -g omniroute`)がサポートされています。
- **組み込みの `bun:sqlite`**:OmniRoute は Bun 上で実行されている場合、Bun 組み込みの `bun:sqlite` ドライバーを使用し、Node.js では `better-sqlite3` または `sql.js` にフォールバックします。
- **開発時の Webpack バンドラー自動選択**:開発環境(`bun run dev`)では Bun を自動的に検出し、ネイティブ V8 バインディングの非互換性を防ぐため、Turbopack を無効にして Webpack を使用します。本番ビルド(`bun run build`)では、Node とまったく同様に `OMNIROUTE_USE_TURBOPACK` に従います。デフォルトでは Turbopack を使用し、`OMNIROUTE_USE_TURBOPACK=0` を指定すると Webpack でビルドします(`Dockerfile.bun` では `--build-arg` として公開されています)。
- **専用の Bun Dockerfile**:ネイティブ Bun 本番デプロイ用のマルチステージ `Dockerfile.bun`(`docker build -f Dockerfile.bun -t omniroute:bun .`)。
```bash
# Bun でインストールして実行
bun install
bun run dev
```
**🛠️ ソースから**
```bash
cp .env.example .env && npm install
PORT=20128 npm run dev
```
**📦 pnpm**
```bash
pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute
```
**🐧 Arch Linux(AUR)**
```bash
yay -S omniroute-bin && systemctl --user enable --now omniroute.service
```
**🔧 Nix(Flake)**
```bash
# Nix flakes を使用
nix develop
npm run dev
# または devbox を使用
devbox run npm run dev
```
📖 [Docker ガイド](docs/guides/DOCKER_GUIDE.md) — Compose プロファイル、Caddy HTTPS、Cloudflare トンネル。
**🦭 Podman**
```bash
# 1. バインドマウントするデータディレクトリを準備
mkdir -p data
# 2. Linux + ローカルのルートレス Podman のみ(リモートの Podman Machine クライアントでは決して実行しないでください):
podman unshare chown 1000:1000 ./data
# 3. ランタイムヒントを設定し、ローカルの Compose イメージをビルドして起動
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build
```
macOS または Windows では、Podman はリモートの Podman Machine を使用します。`podman unshare` を省略し、
[トポロジー別のデータディレクトリに関するガイダンス](contrib/podman/README.md#data-directory-permissions-by-topology)に従ってください。
📖 [Podman ガイド](contrib/podman/README.md) — Compose ビルド、Podman Machine、および
Linux/systemd Quadlet のセットアップ。
**⚡ より高速/軽量なインストール(ネイティブビルドを省略)**
ネイティブ SQLite エンジン(`better-sqlite3`)は**オプション**の依存関係であるため、グローバル
インストールがソースからのコンパイルでブロックされることはありません。プラットフォーム/Node に適合する
ビルド済みバイナリがある場合はそれを使用し、ない場合は透過的に純粋な JS エンジン
(Node 22+ では `node:sqlite`、それ以外では同梱の `sql.js` WASM)にフォールバックします。ビルドツールは不要です。
インストール後のネイティブウォームアップを完全に省略するには(CI、ヘッドレス環境、または低速なマシン):
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 でも省略されます
```
最速でインストールするには、**pnpm**(コンテンツアドレス方式のストア + ハードリンク — 上記参照)を推奨します。
ダッシュボードを使用しないヘッドレスランタイムには、Docker の `base` プロファイル(上記)または
[Termux ガイド](docs/guides/TERMUX_GUIDE.md)を使用してください。CLI と Web ダッシュボードは同じプロセスから
1 つのポートで提供されるため、現時点では CLI 専用パッケージはありません。
# 🎬 OmniRoute の動作デモ
## 📹 動画ガイド
2026-10-18 時点のダッシュボードのスナップショット · 未加工カタログ: YT 1.352 | TT 334 | IG 290 · 鮮度(日数): YT 5 | TT 48 | IG 49
🎬 #1 — Instagram
nick_saraev — 3,042,474 回視聴
|
🎬 #2 — Instagram
nnapier7 — 1,454,535 回視聴
|
🎬 #3 — YouTube
Amidia AI & Tech — 794,974 回視聴
|
🎬 #4 — Instagram
theopenstack — 692,419 回視聴
|
🎬 #5 — TikTok
migue.baena — 685,788 回視聴
|
**総合ランキング(重複を除外した正規 URL、`v > 0`、リーチの多い順):**
| #1 | #2 | #3 | #4 | #5 |
| -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| [nick_saraev — Instagram](https://www.instagram.com/reel/Da8ZthUPK98/) — **3,042,474** | [nnapier7 — Instagram](https://www.instagram.com/reel/Dbp7wv_CIO0/) — **1,454,535** | [Amidia AI & Tech — YouTube](https://www.youtube.com/watch?v=NJ0TQ-pyMDY) — **794,974** | [theopenstack — Instagram](https://www.instagram.com/reel/DaSs65mMrHk/) — **692,419** | [migue.baena — TikTok](https://www.tiktok.com/@migue.baena/video/7670919268216622358) — **685,788** |
| #6 | #7 | #8 | #9 | #10 |
| ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| [milesreevesai — TikTok](https://www.tiktok.com/@milesreevesai/video/7667980059189366019) — **620,400** | [nikothetech — TikTok](https://www.tiktok.com/@nikothetech/video/7671890769665477918) — **610,803** | [Vaibhav Sisinty — YouTube](https://www.youtube.com/watch?v=QucgvbO5gsM) — **509,281** | [buildwithai.club — Instagram](https://www.instagram.com/reel/DbIt9AjK7-U/) — **347,652** | [nivedan.ai — Instagram](https://www.instagram.com/reel/DbIrCksJiqq/) — **331,973** |
2026-10-18 時点の正規指標: **1.976 件のユニーク動画** · **20.220.289 回の既知の視聴数**(`v > 0`)· **ネットワーク別のチャンネル/プロフィール数 1.210 件**。未加工のダッシュボードには 1.976 行(YouTube 1.352 = 長尺動画 740 + Shorts 612 · TikTok 334 · Instagram 290)が含まれています。正規 URL による正規化後、重複は残っておらず、動画ごとに最大の視聴回数が保持されています。YouTube のデータ収集は 2026-10-13 以降停止しており(14/10~18/10 に API クォータを使い切ったため)、TikTok/Instagram は 2026-09-02 以降停止しています(収集クレジットがないため)。76 件の動画には、まだ視聴回数がありません。
> 🎬 **OmniRoute についての動画を作成しましたか?** リンクを添えて [issue](https://github.com/diegosouzapw/OmniRoute/issues/new) または [discussion](https://github.com/diegosouzapw/OmniRoute/discussions) を作成してください。こちらで紹介します。
# 📧 コミュニティとヘルプ
> すべてを一か所にまとめています — メンテナーをフォローしたり、コミュニティとチャットしたり、issue を作成したりできます。
| チャンネル | 場所 / 方法 |
| ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| 💼 **LinkedIn** — メンテナーをフォロー | [linkedin.com/in/diegosouzapw](https://www.linkedin.com/in/diegosouzapw/) |
| 🐙 **GitHub** — リリース情報やヒントをフォロー | [@diegosouzapw](https://github.com/diegosouzapw) |
| 💬 **Discord** | [discord.gg/U47eFqAXCn](https://discord.gg/U47eFqAXCn) |
| ✈️ **Telegram** | [t.me/omnirouteOficial](https://t.me/omnirouteOficial) |
| 🟢 **WhatsApp — 🌍 グローバル** | [グループに参加](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) |
| 🟢 **WhatsApp — 🇧🇷 ブラジル** | [グループに参加](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) |
| 🌍 **ウェブサイト** | [omniroute.online](https://omniroute.online) |
| 🌍 **🌍StHub OmniRoute コミュニティ(無料)** | [StHubポータル](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK) |
| 📦 **ソースコード** | [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) |
| 🐛 **バグを報告** | [Issueを作成](https://github.com/diegosouzapw/OmniRoute/issues) — `npm run system-info` の出力を添付してください |
| 🤝 **コントリビュート** | [CONTRIBUTING.md](CONTRIBUTING.md) · [ブランチおよびリリースモデル](docs/ops/BRANCHING_MODEL.md) · `good first issue` を選択 |
| 💚 **プロジェクトを支援** | [支援方法 ↑](#-support-omniroute) · [GitHub Sponsors](https://github.com/sponsors/diegosouzapw) |
---
## 🛠️ 技術スタック
| 層 | テクノロジー |
| ランタイム | Node.js 22.x / 24.x LTS — >=22.22.2 <23 || >=24.0.0 <27 |
| 言語 | TypeScript 6.0 — src/ と open-sse/ 全体で 100% TypeScript(v2.0 以降のコアに any はゼロ) |
| フレームワーク | Next.js 16 + React 19 + Tailwind CSS 4 |
| データベース | better-sqlite3(SQLite、WAL ジャーナリング)+ LowDB(JSON レガシー)— 147 のドメインモジュール、233 のマイグレーション |
| メモリ | SQLite FTS5 全文検索 + int8 量子化ベクトル埋め込み、型付き減衰 |
| スキーマ | Zod 4 — MCP ツールの I/O 検証 + API コントラクト |
| プロトコル | MCP(stdio / HTTP / SSE)+ A2A v0.3(JSON-RPC 2.0 + SSE) |
| ストリーミング | Server-Sent Events(SSE)+ WebSocket ブリッジ(/v1/ws) |
| 圧縮 | 12 エンジンのパイプライン — RTK、Caveman、LLMLingua-2(MobileBERT ONNX)、GCF、OmniGlyph |
| 認証とセキュリティ | OAuth 2.0(PKCE)+ JWT + API Keys + MCP スコープ認証 · 保存時 AES-256-GCM · DOMPurify |
| ステルス | wreq-js — JA3 / JA4 TLS フィンガープリント偽装、3 段階プロキシ |
| レジリエンス | サーキットブレーカー、指数バックオフ、サンダリングハード対策、自動コンボ自己修復 |
| ロギング | pino — リクエストコンテキスト付き構造化 JSON ログ |
| テスト | Node.js テストランナー + Vitest — 8,400 以上の追跡対象テストファイル(単体、統合、E2E、セキュリティ、エコシステム)全体で 60,000 件以上の静的テスト宣言 |
| プラットフォーム | デスクトップ(Electron)· Android(Termux)· PWA(あらゆるブラウザ) |
| CI/CD | GitHub Actions — リリース時に npm publish + Docker Hub へ自動公開 |
| リンク | ウェブサイト · npm · Docker Hub |
## 📖 ドキュメント
### 📘 はじめに
| ドキュメント | 説明 |
| ユーザーガイド | プロバイダー、コンボ、CLI 統合、デプロイ |
| セットアップガイド | 完全なインストール方法、CLI ツール設定、プロトコルのセットアップ、タイムアウト調整 |
| CLI ツールガイド | Claude Code、Codex、Cursor、Cline、OpenClaw、Kilo、Copilot のツールごとのセットアップ |
| リモートモード | スコープ付きアクセストークンを使用して、ノート PC の CLI からリモート OmniRoute(VPS)を操作 |
| Claude Code 設定 | launch + モデルごとのプロファイルを使用して、Claude Code を OmniRoute(ローカル/リモート)に接続 |
| クイックスタート | 3 ステップでインストール → 接続 → 設定 |
### 🔧 運用とデプロイ
| ドキュメント | 説明 |
| Docker ガイド | Docker の実行、Compose プロファイル、Caddy HTTPS、トンネル、イメージタグ |
| Podman ガイド | Quadlet の systemd 統合、podman-compose、SELinux |
| VM デプロイ | 完全ガイド:VM + nginx + Cloudflare のセットアップ |
| Fly.io デプロイ | 永続ストレージを使用して Fly.io にデプロイ |
| Termux ガイド | Termux 経由で Android 上で OmniRoute を実行 |
| PWA ガイド | Progressive Web App のインストール、キャッシュ、アーキテクチャ |
| アンインストールガイド | すべてのインストール方法に対応した完全な削除 |
| 環境設定 | .env の変数と参照の完全ガイド |
### 🧠 機能とアーキテクチャ
| ドキュメント | 説明 |
| アーキテクチャ | システムアーキテクチャ、データフロー、内部構造 |
| 圧縮ガイド | 7 つのオプションによるパイプライン:off / lite / standard / aggressive / ultra / RTK / stacked |
| RTK 圧縮 | コマンド出力の圧縮、フィルター、信頼、検証、未加工出力の復元 |
| 圧縮エンジン | Caveman、RTK、積層パイプライン、ダッシュボード/API/MCP の各インターフェース |
| 圧縮ルール形式 | Caveman および RTK フィルター用の JSON ルールパックのスキーマ |
| 圧縮言語パック | 言語検出と Caveman ルールパックの作成 |
| レジリエンスガイド | サーキットブレーカー、クールダウン、キュー、群集雪崩対策、TLS スプーフィング |
| 自動コンボエンジン | 16 要素のスコアリング、モードパック、自己修復 |
| プロキシガイド | 3 レベルのプロキシシステム、1proxy マーケットプレイス、レジストリの CRUD |
| 無料ティア | 統合ディレクトリ:文書化された継続利用可能なプール 34 件/カタログ化された無料ティア項目 465 件 |
| 機能ギャラリー | スクリーンショットで見るビジュアルダッシュボードツアー |
| コードベースドキュメント | 初心者向けのコードベース解説 |
### 🤖 プロトコルと API
### 📋 プロジェクトと品質
# ⭐ 主なコントリビューター
> OmniRoute は、情熱を持つオープンソースコミュニティによって形作られています。これらの個人は、プロジェクトの品質、安定性、到達範囲に直接影響する、卓越した貢献を行いました。**ありがとうございます。**
### マージされたプルリクエスト数による外部コントリビューター
| 順位 | コントリビューター | マージされた PR | ~変更行数 |
| 1 | maxmad64bis | 418 | 25,367,739 |
| 2 | HouMinXi | 295 | 13,557,796 |
| 3 | pacocartones | 222 | 81,551 |
| 4 | backryun | 210 | 270,562 |
| 5 | JxnLexn | 198 | 3,570,623 |
| 6 | oyi77 | 190 | 411,243 |
| 7 | KooshaPari | 151 | 5,972,314 |
| 8 | rdself | 145 | 80,663 |
| 9 | RaviTharuma | 123 | 500,065 |
| 10 | herjarsa | 88 | 230,872 |
| 11 | hartmark | 85 | 2,849,623 |
| 12 | jonlwheat2-gif | 68 | 69,097 |
| 13 | artickc | 62 | 43,502 |
| 14 | xiaoyaner0201 | 59 | 126,220 |
| 15 | chirag127 | 52 | 6,661 |
| 16 | xz-dev | 50 | 245,976 |
| 17 | woodsonl | 48 | 811,771 |
| 18 | rqzbeh | 46 | 151,229 |
| 19 | MumuTW | 43 | 28,166 |
| 19 | QuangBlue | 43 | 13,112 |
2026-11-03 03:01:19 UTC に、ライブの release/v3.8.53 の先端 05bc048d6c を対象として集計。ページ分割された GitHub GraphQL の集計には、マージされた PR が 9,947 件含まれています。その内訳は、リポジトリ所有者によるものが 4,130 件、Dependabot によるものが 240 件、その他のボット/アプリによるものが 6 件、そして883 人の異なるコントリビューターによる外部 PR が 5,571 件です。「変更行数」は GitHub の追加行数と削除行数を合計したもので、生成ファイル、ロックファイル、カタログ、翻訳、ドキュメントを含みます。これは変更量であり、作成者が記述した LOC ではありません。53 件の PR では GitHub の差分が 500,000 行を超えていると報告されています(たとえば #13399 では、単一のプロバイダー追加で 2,347 個の変更ファイルが記録されています)。そのため、上記のいくつかの合計値が膨らんでいます。同順位は同じ順位として扱います。
### GitHub に帰属するコミット
2026-11-03 02:09:16 UTCに再確認:release/v3.8.53デフォルトブランチについて、リポジトリのContributors APIが報告したGitHubに帰属するコミットです。APIは903件のID(ユーザー429人、ボット2件、匿名472件)を返しました。この表ではメンテナー、ボット、匿名のIDを除外し、同順位を維持しています。上記のマージ済みPRランキングおよび下記のGitメタデータ集計とは異なるものです。
> 🙏 これらのコントリビューターによる機能、バグ修正、インフラストラクチャの改善は、OmniRouteの信頼性と豊富な機能を支える**中核的な要素**です。すべてのプルリクエスト、すべてのテストケース、そしてすべてのi18n翻訳ファイルが重要です。オープンソースは、彼らのような人々によって築かれています。
---
## 💖 スポンサー
私費で OmniRoute を支援してくださっている皆さまに、心より感謝いたします。皆さまからのご支援の一つひとつが、このプロジェクトを無料かつ独立した形で継続し、前進させる力になっています。
…そして、匿名を希望されるその他の皆さまにも感謝いたします 💛
公開されている GitHub Sponsors の情報は、GitHub Sponsors GraphQL API を通じて 2026-10-18 に再検証済みです。合計 14 件のうち、公開スポンサーシップは 11 件(現在 6 件、過去 5 件)です。上記の現在のスポンサー区分は、GitHub の isActive ステータスに基づいています。過去に公開で単発支援してくださった方々も引き続き感謝の対象として掲載し、非公開スポンサーの方々は匿名のままとしています。Ko-fi、Buy Me a Coffee、Liberapay、PIX、および暗号資産による寄付は、公開スポンサー記録がないため掲載していません。
💖 スポンサーになる → — 皆さまからのご支援の一つひとつが、OmniRoute を無料かつ独立したプロジェクトとして維持する力になります。
## 👥 1,000人以上のコントリビューター
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
2026-11-02、ライブの release/v3.8.53 の先端 1c7135e0fb(7,972コミット)で監査:正規化された人間のGitアイデンティティ1,074件 — 759件はコミット作成者(メンテナーを含む)として表示され、315件は明示的な Co-authored-by トレーラーにのみ表示されます。この集計では .mailmap を適用し、メールアドレスを大文字と小文字を区別せずに比較し、数値形式と通常形式のGitHub noreplyアドレスについては同じハンドルを示す場合にのみ統合しています。また、ボット、エージェント、サービス、プレースホルダーのアイデンティティ29件を除外し、表示名が一致するという理由だけで通常のメールアドレスを統合することはありません。2026-08-24の監査では639件が公開されましたが、その監査のベース ac02c5b42f に対してこの方法を再実行すると619件となるため、増加は新しいコントリビューターによるものであり、方法を緩和した結果ではありません。
### 貢献方法
1. リポジトリをフォークする
2. **アクティブな** `release/vX.Y.Z` の先端(`main` ではありません)からブランチを作成する — [ブランチ分けとリリースモデル](docs/ops/BRANCHING_MODEL.md)を参照
3. フィーチャーブランチを作成する(`git checkout -b feat/amazing-feature`)
4. 変更をコミットする(`git commit -m 'feat: add amazing feature'`)
5. ブランチにプッシュする(`git push origin feat/amazing-feature`)
6. **base = その `release/vX.Y.Z` ブランチ**でプルリクエストを作成する
詳しいガイドラインについては、[CONTRIBUTING.md](CONTRIBUTING.md)を参照してください。
### 新しいバージョンのリリース
```bash
# リリースを作成 — npm publish は自動的に実行されます
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 スター
## 🌍 StarMapper
## 🙏 謝辞
OmniRoute は、多くの先人たちの成果の上に成り立っています。**[9router](https://github.com/decolua/9router)** のフォークとして始まり、Go プロジェクト **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** の TypeScript ポートとして発展しました。そしてそこから、以下の各サブシステムは、それぞれ先に道を切り開いたオープンソースプロジェクトから着想を得ています。各プロジェクトが OmniRoute の具体的な一部分を形作りました。これらすべてに感謝を捧げます。🙏
> ⭐ スター数は 2026 年 11 月 3 日に GitHub REST API で確認済みです。ぜひこれらのプロジェクトにスターを付けてください。スター数は特定日時点の正確なスナップショットであり、今後自然に変動します。
### 🧬 系譜とゲートウェイ
| プロジェクト | ⭐ | OmniRoute への影響 |
| 9router | 31,861 | このフォークの基盤となった元のプロジェクトであり、ここではマルチモーダル API と完全な TypeScript 書き換えによって拡張されています。 |
| CLIProxyAPI | 57,329 | この JavaScript / TypeScript ポートに着想を与えた Go 実装です。 |
| LiteLLM | 62,580 | 公開価格データセットがコスト追跡の同期に利用され、プロバイダー正規化モデルがルーティングの参考となった AI ゲートウェイです。 |
| codex-chatgpt-web | 15,435 | MIT ソースをベンダー提供の ChatGPT Web → Codex Responses ブリッジに適用しました。ブラウザーセッション、レスポンスフレーミング、使用量、Web 検索の各アダプターを含みます。 |
| free-claude-code | 65,966 | ストリーム復旧、no-thinking エイリアス、フォールバック Web 検索、スライディングウィンドウ制限、ログの秘匿化、堅牢化されたランチャーフローにパターンを移植しました。 |
| composer-api | 347 | Cursor Composer のツール選択、出力制約、ツールコミットのパターンをネイティブ Cursor executor に適用しました。 |
| codex-multi-auth | 561 | Codex OAuth の再認証に、新規ログインと refresh-token ローテーションのパターンを移植しました。 |
| opencode-anthropic-auth | 562 | Claude Code 互換の変換デフォルトと課金ヘッダーの動作を、OmniRoute の設定駆動型ブリッジへと一般化しました。 |
| grok2api-merged | 2 | その Grok モデルマッピング、偽の TypeError Statsig ジェネレーター、リクエストおよびデバイスのデフォルト、NDJSON レスポンスプロセッサーを、OmniRoute の Grok Web executor に実質的に適用しました。 |
| TQZHR/grok2api | 707 | grok2api-merged の背後にある主要な間接コードソースです。そのモデル、ヘッダー、ペイロード、Statsig、プロセッサーの実装は、Grok Web の系譜に保持されています。 |
| chenyme/grok2api | 7,874 | Grok のペイロードとデバイスのデフォルト、Statsig ジェネレーター、および result.response プロセッサーの基盤となる MIT ソースであり、TQZHR と grok2api-merged を経由して引き継がれています。 |
| grok2api-pro | 27 | プロキシプール層について grok2api-merged が帰属先として挙げている間接的なソースです。OmniRoute はその系譜に関する注記を保持していますが、範囲を限定した Grok Web executor にプロキシプールを移植したとは主張していません。 |
| GrokProxy | 52 | Cookie 認証された Grok プロキシと result.response.token のストリーミングパターンが、OmniRoute の Grok Web トランスポートに影響を与えました。 |
| GrokBridge | 5 | 元の Grok Web 実装について、その HTTP / ブラウザー上流設計を参照しました。その直接 HTTP パスは GrokProxy に由来するため、独立したコード移植は主張していません。 |
### 🗜️ コンテキストとトークンの圧縮 — エンジン
| プロジェクト | ⭐ | OmniRoute に与えた影響 |
| Caveman | 116,957 | 話題となった「少ないトークンで足りるのに、なぜ多くのトークンを使うのか」プロジェクト。その原始人風の表現哲学が、標準圧縮モードと30以上の冗長表現除去/短縮ルールの基盤となっています。 |
| RTK – Rust Token Killer | 85,350 | 高性能なコマンド出力圧縮。RTK エンジン、JSON フィルター DSL、生出力の復元、そして RTK → Caveman の多段パイプラインに着想を与えました。 |
| headroom | 78,672 | 可逆的なコンテキスト圧縮(SmartCrusher)。headroom エンジンと、ccr の取得マーカーパターンに着想を与えました。 |
| LLMLingua | 6,797 | プロンプト圧縮の研究(LLMLingua / LLMLingua-2)。非同期でコードに安全かつフェイルオープンな llmlingua エンジンに着想を与えました。 |
| llmlingua-2-js | 33 | LLMLingua エンジンのワーカースレッド用バックエンドとして使用している JS/ONNX ポート(MobileBERT / XLM-RoBERTa)です。 |
| Troglodita | 50 | ブラジルポルトガル語のトークン圧縮。ブラジルポルトガル語の文法に合わせて調整された冗語の削減と不要語の除去を行う、pt-BR 言語パックの基盤となっています。 |
| ponytail | 182,929 | 話題となった「怠け者のシニア開発者」向け YAGNI コーディングスキル。_生成される_コードを削減する、動作する最小限の変更へ導く less-code 出力スタイルに着想を与えました(Caveman の簡潔な文章に対応する出力軸の兄弟機能です)。 |
| i-have-adhd | 59,838 | 行動を優先する ADHD フレンドリーな応答スタイルを、5言語に対応した OmniRoute の簡潔な出力スタイルへ適用しました。 |
### 🧩 コンパクト形式、トークン研究、コード対応ツール
| プロジェクト | ⭐ | OmniRoute に与えた影響 |
| TOON | 25,602 | Token-Oriented Object Notation。その列指向の「ヘッダー+行」モデルが、表形式圧縮ステージの設計に影響を与えました。 |
| GCF – Graph Compact Format | 61 | コンパクトなグラフ形式と汎用プロファイル設計が、OmniRoute の表形式圧縮と Headroom コーデック形式の参考になりました。 |
| gcf-typescript | 4 | Headroom の汎用プロファイルコーデックとして直接ベンダリングし、拡張した MIT ライセンスの TypeScript 実装です。 |
| token-optimizer-mcp | 566 | Brotli/SQLite キャッシュとセッション単位のコンテキスト差分。session-dedup エンジンに着想を与えました。 |
| token-savior | 1,203 | Bash 出力の圧縮と MCP プロファイル。圧縮を中止する判断基準と、MCP ツールマニフェストの削減に着想を与えました。 |
| token-saver | 162 | コンテンツを考慮したファイル形式別の出力圧縮と、失敗を考慮した中止処理。形式別の振り分けと、最小削減量に満たない場合のスキップが妥当であることを裏付けました。 |
| token-optimizer | 2,853 | 「見えないトークンを見つける」という発想。そのオフロードと復元可能なハンドルのパターンが、CCR のオフロード設計の参考になりました。 |
| TokenMizer | 34 | セッショングラフとターンをまたぐ行重複排除の設計例であり、session-dedup の設計に影響を与えました。 |
| OmniCompress | 3 | Rust による列指向 JSON、コンテンツアドレス方式の取得、メッセージ間の重複排除。headroom/ccr/session-dedup エンジンの設計と、キャッシュの安定性を保証する「圧縮形式は位置に依存しない」という不変条件が妥当であることを裏付けました。 |
| mcp-compressor | 140 | MCP ツールのスキーマ/説明の圧縮。MCP ツールマニフェストのカーディナリティ削減の参考になりました。 |
| RepoMapper | 218 | Aider 形式のリポジトリマップランキング。リポジトリマップ/検索ランキングの検討に影響を与えました。 |
| quiet-shell-mcp | 4 | MCP を介した宣言的なシェル出力削減。宣言的な Bash 出力圧縮が妥当であることを裏付けました。 |
| ts-morph | 6,222 | TypeScript Compiler API ツールキット。文字列、テンプレート、正規表現リテラルを保持する、パーサーベースのコメント除去に着想を与えました。 |
### 🧠 メモリと RAG
| プロジェクト | ⭐ | OmniRoute への影響 |
| Mem0 | 68,294 | ユニバーサルメモリーレイヤー — プロキシを介した書き込み/読み取り境界モデルが、当社のメモリアーキテクチャの形成に影響を与えました。 |
| Letta (MemGPT) | 25,321 | 階層化メモリを備えたステートフルエージェント — Context Control & Recovery (CCR) の階層モデルに影響を与えました。 |
| WFGY | 1,804 | 繰り返し発生する RAG/LLM の16の障害モードを分類した ProblemMap タクソノミー — トラブルシューティングガイドで使用する共通語彙の基盤となりました。 |
### 🛰️ トラフィック検査、MITM、透過プロキシ
| プロジェクト | ⭐ | OmniRoute への影響 |
| llm-interceptor | 81 | コーディングアシスタントと LLM 間の MITM によるトラフィックの傍受・分析は、初期の Traffic Inspector 要件に影響を与えました。以前に派生した4つのモジュール — SSE のマージ、会話の正規化、シークレットのマスキング、ヘッダーのサニタイズ — は、公開プロトコル標準に基づく独立したクリーンルーム実装に置き換えられています。2つのホストパススルー領域(passthrough.ts および _internal/bypass.cjs)は、OmniRoute 内部の独立した実装として引き続き扱われます。これらは、その置き換えの一環として書き直されたものではありません。 |
| ProxyBridge | 6,978 | プロセス単位の透過プロキシルーティング — クラッシュセーフな MITM のティアダウン、ソケットのアイドルタイムアウト、/proc によるプロセスの帰属、TPROXY キャプチャに影響を与えました。 |
### 📚 モデルデータ、可観測性、UI
| プロジェクト | ⭐ | OmniRoute への影響 |
| models.dev | 7,486 | AI モデルの仕様、価格、機能に関するオープンデータベース — 当社のモデルカタログにネイティブに同期されています。 |
| React Flow / xyflow | 38,874 | リアルタイムの Compression Studio と Combo/Routing Studio を支えるノードベースのグラフライブラリです。 |
| LangGraph | 44,349 | LangGraph Studio のライブワークフローグラフ可視化は、当社の Studio におけるリアルタイムのカスケード表示に影響を与えました。 |
| Langfuse | 36,907 | その trace → span → generation という可観測性モデルが、当社の Compression Studio のウォーターフォール表示の形を作りました。 |
| Kiali | 3,647 | Istio サービスメッシュの可観測性 — Routing/Combo Studio におけるサーキットブレーカーのバッジとエラーエッジの表示に影響を与えました。 |
| lobe-icons | 2,666 | ダッシュボード全体でプロバイダーアイコンとして表示される AI/LLM ブランドロゴを提供します。 |
| flag-icons | 12,499 | README の言語セレクターで使用される MIT ライセンスの SVG 国旗を提供します。 |
### 🛡️ セキュリティ
| プロジェクト | ⭐ | OmniRoute への影響 |
| awesome-secure-defaults | 723 | セキュアなデフォルト設定を備えたライブラリの厳選リストであり、当社のセキュリティ上の選択(Helmet.js、DOMPurify、ssrf-req-filter、safe-regex、Google Tink)の指針となっています。 |
### 🧭 補完的なツール
| プロジェクト | ⭐ | OmniRoute への影響 |
| ClawRouter | 6,649 | リクエストの重複排除、緊急時のゼロコストフォールバック、プラuggable な Auto-Combo 戦略、多言語のインテント分類に影響を与えました。 |
| Antigravity-Manager | 32,785 | アカウントを考慮したモデルのリマッピング、実行可能ファイルパスの検証、プランラベルの動作が、OmniRoute の Antigravity ランタイムに影響を与えました。 |
| vscode-antigravity-cockpit | 4,852 | コンパクトなクォータリセットのカウントダウン形式が、OmniRoute における対応するプロバイダー制限表示の着想となりました。 |
| AionUi | 33,996 | その ACP 統合が、インストール済み CLI エージェントの OmniRoute による自動検出に影響を与えました。 |
| CodexBar | 22,955 | Grok Build のクォータ領域を特定しました。その後、OmniRoute はライブのワイヤー形式を独自に検証し、修正しました。 |
## 📄 ライセンス
MITライセンス - 詳細は [LICENSE](LICENSE) を参照してください。
---
**[⬆ トップに戻る](#-omniroute)** · オープンソースAIコミュニティのために❤️を込めて作られています。
Diego Souza 作成 · OmniRoute v3.8.54 · Node ≥22.22.2 · MITライセンス · omniroute.online