# README (Français) 🌐 **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) · 🇮🇪 [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) · 🇯🇵 [ja](../ja/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) ---
Tableau de bord OmniRoute

# 🚀 OmniRoute — La passerelle IA gratuite OmniRoute — Ne cessez jamais de coder. Chaque outil d'IA → 358 fournisseurs — 150+ gratuits — via un seul point d'accès. Claude Code, Codex, Cursor, Cline, Copilot & Antigravity vers Claude / GPT / Gemini GRATUITS avec repli automatique. La compression empilée RTK + Caveman économise 15 à 95 % des jetons (moy. ~89 %) — ne jamais atteindre les limites. 358 fournisseurs d'IA · 150+ niveaux gratuits · ~1,62 milliard de jetons gratuits/mois · 19 stratégies de routage · 0 $ pour commencer.
## 💰 ~1,62 Md de tokens gratuits / mois
> Cumuler manuellement les offres gratuites est fastidieux — des dizaines de SDK, des dizaines de limites de débit, et aucun moyen de savoir de quelle capacité vous disposez réellement. OmniRoute répertorie **489 entrées d’offres gratuites réparties sur 35 clés de pools récurrents** et calcule le total de tokens affiché à partir des **17 pools disposant d’un budget mensuel positif publié, auxquels s’ajoutent cinq plafonds Groq par modèle**, avec déduplication des pools partagés. Les quotas qui ne deviennent accessibles qu’après une vérification d’identité régionale (actuellement : ModelScope) sont affichés séparément, soit +~6 M après vérification d’identité régionale, et ne sont jamais inclus dans le total principal. Le résultat reste visible dans le tableau de bord (`/dashboard/free-tiers`). Carte du budget des offres gratuites d’OmniRoute : ~1,62 Md de tokens gratuits par mois en régime permanent, jusqu’à ~2,22 Md le premier mois grâce aux crédits d’inscription, provenant de 35 clés de pools récurrents documentées couvrant 489 entrées d’offres gratuites répertoriées derrière un point d’accès unique. Calcul transparent avec déduplication des pools — chaque pool partagé n’est compté qu’une seule fois, notamment 17 pools récurrents disposant d’un budget mensuel positif publié, auxquels s’ajoutent cinq plafonds Groq par modèle ; 13 fournisseurs sont marqués « avoid » dans le catalogue des risques liés aux conditions d’utilisation afin que vous puissiez décider. La barre de budget comprend Mistral 1 Md, Nara 210 M, LLM7 150 M, xKiro 150 M, Groq 30 M (cinq plafonds par modèle) et des pools plus petits, ainsi que les crédits d’inscription du premier mois et les fournisseurs gratuits en permanence sans plafond de tokens, présentés séparément afin qu’ils ne gonflent jamais le total principal. Consommation et solde disponibles en direct sur /dashboard/free-tiers. > Résumé animé de la page active `/dashboard/free-tiers`. Méthodologie complète (déduplication des pools, niveaux de crédits, conditions des fournisseurs) : **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**. > > Ces chiffres sont réaudités toutes les deux semaines par rapport au catalogue actif et **peuvent évoluer dans les deux sens** — lorsqu’un fournisseur met fin à une offre gratuite, le chiffre baisse ; lorsqu’une nouvelle offre apparaît, il augmente. Nous publions ce que le catalogue calcule réellement, jamais une estimation optimiste arrondie à la hausse.

⭐ Ajoutez une étoile au dépôt si OMNIROUTE vous a aidé à économiser de l’argent et à faciliter votre travail.

[![Étoiles](https://img.shields.io/github/stars/diegosouzapw/OmniRoute?style=social)](https://github.com/diegosouzapw/OmniRoute) diegosouzapw%2FOmniRoute | Trendshift [![Classement de l’historique des étoiles](https://api.star-history.com/badge?repo=diegosouzapw/OmniRoute&theme=dark)](https://www.star-history.com/diegosouzapw/omniroute) [![olud.ai](https://olud.ai/badge.php?tool=diegosouzapw-omniroute)](https://olud.ai/project/diegosouzapw-omniroute.html) ### 💬 Rejoignez la communauté **👋 Suivez le mainteneur — découvrez en avant-première les nouveaux fournisseurs, les versions et les conseils :** [![Suivre Diego sur LinkedIn](https://img.shields.io/badge/Follow_Diego_on-LinkedIn-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/diegosouzapw/) [![Suivre @diegosouzapw sur GitHub](https://img.shields.io/github/followers/diegosouzapw?style=for-the-badge&logo=github&logoColor=white&label=Follow%20on%20GitHub&color=181717)](https://github.com/diegosouzapw) [![Discord](https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/U47eFqAXCn) [![Telegram](https://img.shields.io/badge/Telegram-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/omnirouteOficial) [![WhatsApp mondial](https://img.shields.io/badge/WhatsApp_Global-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) [![WhatsApp Brésil](https://img.shields.io/badge/WhatsApp_Brasil-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) [![Site web](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) **Questions, conseils sur les fournisseurs, feuille de route et assistance → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Mondial](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brésil](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [Portail](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 La passerelle continue de s’agrandir
| | v3.8.49 | **v3.8.50** | `v3.8.51+` | | --------------------------------- | :-----: | :-------------------------: | :---------------: | | 🌐 Fournisseurs | 290 | **357** | davantage à venir | | 🧠 ID uniques de modèles de chat | 1185 | **1312** | — | | 🖼️ Passerelle multimodale | — | 🆕 vision + audio + vidéo | — | | 📡 Catalogue gratuit de Radar | — | 🆕 participation volontaire | — | | ⚖️ Planification selon les quotas | — | 🆕 Quota-Share | — | | 📊 Télémétrie des quotas | — | 🆕 en direct | — | **→ [Feuille de route](ROADMAP.md) — en route vers `v3.9.0 LTS`**

## 🧩 Disponible [![version npm](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) ![Téléchargements mensuels NPM](https://img.shields.io/npm/dm/omniroute?label=npm/month&color=cb3837&logo=npm) [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) [![Licence : MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](LICENSE) ![Téléchargements Docker](https://img.shields.io/docker/pulls/diegosouzapw/omniroute?label=docker%20pulls&logo=docker&color=2496ED) ![Téléchargements Electron](https://img.shields.io/github/downloads/diegosouzapw/omniroute/total?style=flat&label=electron%20downloads&logo=electron&color=47848F)
🚀 Démarrer 🚀 Démarrage rapide 📦 Installation 🆓 Sans configuration
💡 Découvrir 💥 La promesse 🤔 Pourquoi OmniRoute 🏆 Ce qui le distingue
⚙️ Fonctionnalités 🎯 Combos 🌐 Fournisseurs 🔌 CLI et MCP
🗜️ Compression 🖥️ Où l’exécuter 🔒 Privé
👀 Découvrir 🎬 En action ✨ Nouveautés 🤖 CLI compatibles
💚 Soutien 💚 Soutenir / Faire un don 💬 Communauté 💖 Sponsors
📦 Projet 🛠️ Pile technologique 📖 Documentation 👥 Contributeurs
🌐 En 66 langues

English (en) Português — Brasil (pt-BR) Português (pt) Español (es) Français (fr) Italiano (it) Deutsch (de) Nederlands (nl) Русский (ru) Українська (uk-UA) Polski (pl) Čeština (cs) Slovenčina (sk) Română (ro) Magyar (hu) Български (bg) Dansk (da) Suomi (fi) Norsk (no) Svenska (sv) 中文 — 简体 (zh-CN) 中文 — 繁體 (zh-TW) 日本語 (ja) 한국어 (ko) ไทย (th) Tiếng Việt (vi) Bahasa Indonesia (id) Bahasa Melayu (ms) Filipino (phi) हिन्दी (hi) ગુજરાતી (gu) मराठी (mr) தமிழ் (ta) తెలుగు (te) বাংলা (bn) اردو (ur) فارسی (fa) العربية (ar) עברית (he) Türkçe (tr) Azərbaycan (az) Kiswahili (sw) Ελληνικά (el) Hrvatski (hr) Српски (sr) Lietuvių (lt) Eesti (et) Latviešu (lv) Slovenščina (sl) Malti (mt) Gaeilge (ga) ಕನ್ನಡ (kn) മലയാളം (ml) ଓଡ଼ିଆ (or) ਪੰਜਾਬੀ (pa) नेपाली (ne) සිංහල (si) မြန်မာ (my) ខ្មែរ (km) Hausa (ha) Yorùbá (yo) Igbo (ig) አማርኛ (am) Oʻzbekcha (uz) ქართული (ka) Հայերեն (hy)


## 🆓 Fonctionne dès l'installation — pas de clés, pas de configuration
Fonctionne dès l'installation — zéro configuration. Trois étapes : 1. Installer — npm i -g omniroute, le serveur démarre sur localhost:20128. 2. Pointer votre outil vers http://localhost:20128/v1 — tout outil compatible OpenAI (Claude Code, Cursor, Cline). 3. Il répond — appeler le modèle auto pour une réponse instantanée, sans clé API, sans inscription, sans configuration. Le fournisseur sans clé OpenCode Free est pré-câblé dans le combo auto, donc une nouvelle installation répond immédiatement. ```bash # Nouvelle installation, zéro identifiants — `auto` fonctionne déjà : curl http://localhost:20128/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}' ``` Vous préférez un backend gratuit spécifique ? Appelez `oc/…` (OpenCode Free) directement. Ensuite, passez à `auto` et laissez OmniRoute choisir. 📦 Scripts de démarrage rapide à copier-coller pour **Python, Node.js, PHP et cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 La Promesse
La Promesse — Un seul point d'accès et 358 fournisseurs. Le repli automatique maintient le routage tant qu'une cible saine est disponible. Six piliers : repli résilient sur 358 fournisseurs · jusqu'à 95 % d'économies de jetons sur les charges de travail éligibles · 0 $ pour commencer avec plus de 150 niveaux gratuits et 54 fournisseurs gratuits à vie récurrents/sans clé · 36 intégrations CLI/agent via une seule configuration · Compatibilité OpenAI, Claude, Gemini et Responses API sur /v1 · contrôles de production incluant disjoncteurs, furtivité TLS, outils MCP 110, A2A, mémoire, garde-fous, évaluations et plus de 39 000 déclarations de tests statiques sur plus de 5 100 fichiers de test suivis.

# 🤔 Pourquoi OmniRoute ?
Pourquoi OmniRoute — arrêtez de jongler avec 10 tableaux de bord, des clés API mortes et des factures surprises. Dix problèmes quotidiens vs solutions : quota expirant inutilisé → maximiser les abonnements ; limites de débit en plein codage → repli automatique à 4 niveaux (Abonnement → API → Bon marché → Gratuit) ; sorties d'outils brûlant des jetons → compression RTK + Caveman (15-95 %) ; API coûteuses → routage optimisé en termes de coûts ; chaque outil sa propre configuration → un point d'accès, un tableau de bord ; IA bloquée → proxy à 3 niveaux + furtivité TLS ; clés mortes → résilience à 3 niveaux (disjoncteurs, temps de recharge des clés, verrouillage du modèle) ; équipe partageant un abonnement → pools de clés avec quotas équitables ; invites via le cloud de quelqu'un → local-first avec clés chiffrées AES-256-GCM ; aucune visibilité des dépenses → analyses en direct (utilisation, quota, économies, latence p95).
Flux de requête OmniRoute : votre IDE ou CLI (Claude Code, Cursor, Cline…) appelle un point d'accès local (http://localhost:20128/v1) ; le routeur intelligent OmniRoute (compression RTK + Caveman, 19 stratégies de routage, disjoncteurs, furtivité TLS, MCP, A2A, garde-fous) peut se replier sur 4 niveaux de fournisseurs tant qu'une cible saine éligible reste disponible — Niveau 1 Abonnement, Niveau 2 Clé API, Niveau 3 Bon marché et Niveau 4 Gratuit.

## 🤝 Soutenu par nos Amis Open Source

Kimi K3 — Intelligence de pointe ouverte · 2.8T paramètres · Contexte de 1M de jetons

> **Vous voulez nous rejoindre en tant qu'Ami Open Source ?** Ce sont les entreprises qui soutiennent l'open source et aident à maintenir OmniRoute en mouvement — et nous déclarons publiquement où va chaque jeton qu'elles nous donnent. Contactez-nous : [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi (Moonshot AI)
Kimi
Moonshot AI

Ami Fondateur Open Source
Merci à Kimi (Moonshot AI), notre Ami Fondateur Open Source, de soutenir ce projet ! Kimi est le laboratoire d'IA derrière les familles de modèles à poids ouverts K2 et K3 — Kimi K3 offre une fenêtre contextuelle de 1M de jetons, une vision native et un codage de pointe à une fraction des prix des modèles fermés, et fonctionne directement avec Claude Code, Codex et tous les outils de codage qu'OmniRoute prend en charge.

Ce que le soutien de Kimi finance : Les crédits API de Kimi alimentent le pipeline de publication validé par l'IA d'OmniRoute — l'étape de validation de fusion alimentée par Kimi K3 qui examine chaque pull request avant sa publication — ainsi que le développement quotidien de fonctionnalités. Le support de première classe de Kimi est disponible sur les deux rails : l'API directe Kimi (kimi-k3) et le plan de codage Kimi Code (OAuth et clé API). OmniRoute est également le premier projet open source brésilien dans le programme de soutien de Kimi. Obtenez une clé API Kimi avec 15% de crédits supplémentaires →
Inférence Moins Chère
Cheaper Inference
cheaperinference.com

Ami Open Source
Merci à Cheaper Inference, un Ami Open Source d'OmniRoute, de soutenir ce projet ! Cheaper Inference est une passerelle classée par coût qui revend 42 modèles de pointe — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok et MiniMax — derrière un seul point d'accès compatible OpenAI, acheminant chaque requête vers le fournisseur éligible le moins cher sans jamais facturer au-dessus du prix catalogue du créateur du modèle.

Support de première classe dans OmniRoute : Chat Completions, le point d'accès natif /v1/responses, la vision, l'appel d'outils et 3 modèles d'image (grok-imagine, nano-banana-pro, nano-banana-2, accessibles sous cheaperinference/<model>). Obtenez une clé API →
Les liens tagués aff=omniroute sont des liens partenaires. Ils financent le projet sans coût supplémentaire pour vous.
🎟️ Promo Affiliés — coupons d'inscription gratuits de fournisseurs que nous ne sponsorisons pas (cliquez pour développer) Cette section est uniquement destinée aux codes de parrainage/coupon. Les partenariats sponsorisés se trouvent dans 🤝 Soutenu par nos Amis Open Source ci-dessus. OmniRoute n'a aucun parrainage ou partenariat avec les fournisseurs listés ici — ce sont des coupons publics que tout le monde peut utiliser.
AgentRouter
AgentRouter
agentrouter.org
AgentRouter — inscription affiliée · 100 $ de crédits gratuits à l'inscription (serveur gratuit, attendez-vous à une latence plus élevée — idéal pour les tests, pas pour la production). Support de première classe dans OmniRoute depuis la v3.8.50 : Chat Completions, le format de fil compatible Anthropic et le chemin compatible OpenAI. Les modèles disponibles incluent claude-opus-4-8, claude-opus-5, gpt-5.6-sol et plus encore. Récupérez vos 100 $ →

⚠️ Lien d'affiliation — OmniRoute n'a aucun parrainage ou partenariat avec ce fournisseur.
Vous connaissez un autre fournisseur avec un généreux coupon d'inscription gratuit qui profite aux utilisateurs d'OmniRoute ? Ouvrez une issue et nous l'ajouterons ici.

## 🎯 Combos — La fonctionnalité phare
Les 19 stratégies de routage des combos animées — une vignette par stratégie : priorité, remplissage prioritaire, pondérée, tourniquet, p2c, moins utilisé, aléatoire, aléatoire stricte, optimisation des coûts, marge disponible, fenêtre de réinitialisation, prise en compte de la réinitialisation, relais de contexte, optimisation du contexte, optimisation du cache, lkgp, automatique, fusion, pipeline. Consultez le tableau ci-dessus pour connaître le rôle de chacune. > Un **combo** est une chaîne de modèles entre lesquels OmniRoute effectue le routage **automatiquement**. Si le quota est épuisé, qu'un fournisseur échoue ou que les coûts augmentent brusquement, le combo peut passer au prochain modèle éligible et opérationnel. 🛡️ ### ⚡ Aucune configuration — utilisez simplement `auto` Aucun combo à créer. Définissez votre modèle sur `auto` (ou une variante) et OmniRoute crée un combo virtuel à partir de vos fournisseurs connectés, avec une évaluation en temps réel :
ID du modèleCe qu'il optimise
auto🎯 Paramètre par défaut équilibré (LKGP — reste sur votre dernier fournisseur fiable)
auto/coding🧑💻 Pondérations privilégiant la qualité pour la génération de code
auto/fast⚡ Latence la plus faible en priorité
auto/cheap💰 Coût par jeton le plus bas en priorité
auto/offline🔋 Quota ou marge de limite de débit les plus élevés en priorité
auto/smart🔭 Qualité en priorité + 10 % d'exploration pour découvrir de meilleurs modèles
auto/lkgp📌 Affinité explicite avec le dernier fournisseur fiable connu
auto/chaos🧪 Pondérations d'injection de pannes pour tester la résilience (ingénierie du chaos)
## ### 🔀 Ou créez le vôtre — 19 stratégies de routage Les **19** stratégies — à combiner librement à chaque étape du combo :
# Stratégie Ce qu'elle fait
1 priority Liste ordonnée privilégiant la première cible — épuise chacune avant de passer à la suivante 🥇
2 fill-first Utilise entièrement le quota de chaque cible avant de passer à la suivante
3 weighted Sélection aléatoire pondérée selon le poids de chaque cible
4 round-robin Parcourt les cibles à tour de rôle, dans l'ordre
5 p2c Équilibrage de charge aléatoire selon la méthode des deux choix
6 least-used Sélectionne la cible ayant la charge actuelle la plus faible
7 random Sélection aléatoire uniforme (sans doublons)
8 strict-random Sélection aléatoire sans éliminer les répétitions 🎲
9 cost-optimized Minimise le coût en $ par requête selon les tarifs actuels du catalogue 💸
10 headroom Sélectionne la cible disposant du quota restant le plus élevé
11 reset-window Privilégie la cible dont la fenêtre de quota sera réinitialisée le plus tôt
12 reset-aware Classe les cibles selon l'heure de réinitialisation du quota — fenêtres courtes en premier 📊
13 context-relay Transmet le contexte d'une cible à l'autre pour les longues conversations 🧠
14 context-optimized Sélectionne la cible la mieux adaptée à la taille actuelle du contexte
15 cache-optimized Associe chaque préfixe d'invite réutilisable au même compte — maximise les accès réussis au cache d'invites 🎯
16 lkgp Dernier chemin fiable connu — reste sur le dernier fournisseur ayant réussi, puis se rabat sur les règles
17 auto Évaluation en temps réel selon 16 facteurs pour chaque connexion 🤖
18 fusion Distribue la requête à un panel de modèles, puis un modèle juge synthétise une réponse unique 🧬
19 pipeline Enchaîne les étapes — la sortie de chaque cible alimente la suivante 🔗
Le moteur Auto-Combo évalue chaque candidat selon **16 facteurs** (état de fonctionnement, quota, coût, latence, adéquation à la tâche, qualité, disponibilité de la session…) — consultez [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md). ## ### 🧱 La résilience est intégrée (3 couches indépendantes) Résilience d’OmniRoute — 3 couches d’auto-rétablissement indépendantes, la bonne couche pour la bonne défaillance. Couche 1, disjoncteur de fournisseur (fournisseur entier) : se déclenche uniquement en cas de 408/5xx, seuils OAuth 8× / clé API 12× / local 2×, se réinitialise après 60s/30s/15s avec une sonde HALF-OPEN, récupération différée ; tant qu’il est OPEN, la combinaison redirige vers le fournisseur suivant. Couche 2, délai de récupération de la connexion (une clé/un compte) : base de 5s pour OAuth / 3s pour une clé API, temporisation exponentielle ×2 avec protection contre les afflux simultanés, 429 respecte Retry-After, une réussite efface tout l’état d’erreur ; une clé en cours de récupération est ignorée tandis que les clés sœurs continuent de servir. Couche 3, verrouillage de modèle (un modèle) : les erreurs 429 propres au modèle, les erreurs 404 locales ou les refus liés au mode verrouillent uniquement ce modèle — jamais la connexion entière. Les états définitifs (banni, expiré, crédits épuisés) relèvent de l’opérateur, pas des délais de récupération. 📖 [Moteur de combinaison automatique](docs/routing/AUTO-COMBO.md) · [Guide de résilience](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Ce qui distingue OmniRoute
Ce qui distingue OmniRoute — un aperçu des fonctionnalités daté comparé à 9router, OpenRouter, CLIProxyAPI et LiteLLM sur 13 capacités. OmniRoute : 358 fournisseurs, plus de 150 niveaux gratuits intégrés, 19 stratégies de routage, compression de jetons à 12 moteurs, serveur MCP intégré avec 110 outils, protocole d'agent A2A, mémoire persistante, garde-fous, agents cloud, furtivité d'empreinte TLS, Desktop/Termux/PWA et 42 locales d'interface utilisateur i18n. OmniRoute est sous licence MIT et auto-hébergeable. Les capacités et les chiffres des concurrents peuvent changer ; voir la méthodologie liée. 📊 Méthodologie complète & détails par fonctionnalité vs 9router, OpenRouter, CLIProxyAPI & LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Soutenir OmniRoute OmniRoute est sous licence MIT et maintenu de manière ouverte. S’il vous fait gagner du temps ou de l’argent, voici comment contribuer à préserver son indépendance — choisissez l’option qui vous convient. Le parrainage n’influence jamais la priorité de routage ; il offre de la visibilité, pas un meilleur classement.
⭐ Ajouter une étoile au dépôtGratuit — cela améliore réellement sa visibilitéAjouter une étoile à OmniRoute
🐙 GitHub SponsorsDon ponctuel ou mensuel · aucuns frais de plateformegithub.com/sponsors/diegosouzapw
☕ Ko-fiPourboire ponctuel rapide, sans inscription pour le donateurko-fi.com/diegosouzapw
🧋 Buy Me a CoffeePetit geste informelbuymeacoffee.com/diegosouzapw
🖐 LiberapayRécurrent · sans but lucratif · open sourceliberapay.com/diegosouzapw
🇧🇷 PIX (Brésil)Instantané, sans fraisclé et code QR ci-dessous
₿ CryptomonnaiesBTC · ETH · USDT-TRC20 · USDC-Solanaadresses ci-dessous
**🇧🇷 PIX** — instantané, sans frais (Brésil) Code QR PIX d’OmniRoute Clé (aléatoire) : `5d865059-bc44-483a-962d-43ceb80126eb` Pix à copier-coller : ``` 00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD ```
₿ Cryptomonnaies — BTC · ETH · USDT-TRC20 · USDC-Solana (cliquez pour développer)
₿ BTCBitcoin (SegWit)bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETHEthereum (ERC20)0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDTTron (TRC20)TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDCSolana2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ Envoyez chaque cryptomonnaie uniquement sur le réseau indiqué — un envoi sur le mauvais réseau peut entraîner la perte des fonds.
🐛 Vous avez trouvé un bug ou avez des commentaires ? Ouvrez une [Discussion](https://github.com/diegosouzapw/OmniRoute/discussions).

Notes pour les développeurs : Le projet peut générer un fichier local .env pendant npm install/postinstall afin de faciliter le travail des développeurs. Ce fichier est volontairement ignoré via .gitignore (voir .gitignore) et ne doit jamais être validé dans le dépôt — s’il l’est accidentellement, renouvelez tous les secrets exposés et supprimez le fichier de l’historique. Consultez docs/DEVELOPER-ENVIRONMENT.md pour obtenir des recommandations sur la gestion des fichiers d’environnement locaux et des secrets.

## 📡 Radar OmniRoute Le principal chiffre à retenir pour l’offre gratuite reste **~1,62 milliard de tokens/mois**, d’après le catalogue documenté et dédupliqué par pool ci-dessus. Les crédits temporaires accordés lors de l’inscription auprès des fournisseurs peuvent porter séparément le premier mois à **~2,22 milliards**. Radar est une surcouche de catalogue facultative et signée, destinée aux personnes qui souhaitent disposer d’informations plus récentes sur la disponibilité des modèles gratuits entre les versions d’OmniRoute ; le catalogue communautaire et toutes les fonctionnalités gratuites existantes restent gratuits. Les contributeurs peuvent recevoir le catalogue en temps réel ainsi que des possibilités supplémentaires offertes par les fournisseurs. Son plafond distinct et variable est d’**environ 3 milliards de tokens/mois au maximum**, selon la disponibilité des fournisseurs. Ce plafond n’est pas garanti : les fournisseurs peuvent modifier à tout moment les quotas, les critères d’éligibilité, les modèles ou les régions. Radar est facultatif et utilise uniquement des requêtes GET. Le client OmniRoute ne transmet ni les prompts, ni le trafic, ni la configuration des fournisseurs, ni les données télémétriques d’utilisation, ni l’état local de masquage des annonces. Pour en savoir plus sur l’éligibilité et consulter le catalogue actuel, rendez-vous sur **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Nouveautés
> Points forts récents de **v3.8.20 → v3.8.50**. Historique complet dans [`CHANGELOG.md`](CHANGELOG.md). - **🎛️ OmniConductor** — délégation A2A entrante vers votre flotte d’agents, compétences Conductor sur l’Agent Card et panneau de tableau de bord avec chat vocal push-to-talk Faro. → [Serveur A2A](docs/frameworks/A2A-SERVER.md) - **🛂 Admission adaptative et protection contre la surcharge** — les requêtes de chat lourdes sont mises en file d’attente plutôt que de générer des erreurs 503, avec des baux glissants RPM atomiques par connexion. → [Guide de résilience](docs/architecture/RESILIENCE_GUIDE.md) - **🗂️ Ordonnancement canonique de `/v1/models`** — un bloc contigu regroupé par fournisseur pour chaque fournisseur (combinaisons épinglées en premier), stable pour toutes les sources du catalogue. → [Référence de l’API](docs/reference/API_REFERENCE.md) - **🗜️ Renforcement de la compression** — protection contre l’inflation activée par défaut, packs Caveman pour DE / FR / JA + chinois (wényán), filtres RTK pour Gradle et .NET. → [Compression](docs/compression/COMPRESSION_ENGINES.md) - **💸 Coût forfaitaire transparent** — les fournisseurs sur abonnement / forfait de codage affichent un coût de **$0** dans les analyses ; le budget, le quota et le routage continuent d’effectuer des estimations. → [Référence de l’API](docs/reference/API_REFERENCE.md) - **⚖️ Routage Quota-Share** — répartit équitablement le quota d’un compte partagé entre les clés mutualisées, tout en optimisant l’utilisation afin que les parts inutilisées soient prêtées. → [Guide de résilience](docs/architecture/RESILIENCE_GUIDE.md) - **🤖 Configuration des CLI/agents en une seule commande** — 13 commandes `setup-*` enregistrées ; `omniroute run` lance 7 CLI (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI) ; `omniroute configure` prend en charge 10 cibles avec un sélecteur interactif de fournisseur et de modèle, ainsi que des favoris propres à chaque contexte. → [Intégrations CLI](docs/guides/CLI-INTEGRATIONS.md) - **🛰️ Mode distant** — pilotez une instance OmniRoute distante à l’aide de jetons à portée limitée (`connect` / `contexts` / `tokens`) et d’un assistant OAuth `antigravity` pour les installations sur VPS. → [Mode distant](docs/guides/REMOTE-MODE.md) - **🧭 Routage automatique plus intelligent** — combinaisons `auto/:`, **Fusion** (panel de modèles + juge), routage tenant compte de la tâche, remplacement par requête du modèle / mode / budget en USD. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **🗜️ Compression modulaire** — 12 moteurs composables + Compression Studios : LLMLingua-2, Ultra à deux niveaux, omniglyph, contrôle de fidélité à chaque étape, GCF v3.2, éditeur avec réorganisation par glisser-déposer. → [Compression](docs/compression/COMPRESSION_ENGINES.md) - **🕵️ Déchiffrement MITM transparent (TPROXY)** — interceptez les CLI qui ignorent les variables d’environnement de proxy, avec une autorité de certification par SNI et un programme d’installation pour le magasin de confiance. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md) - **💸 Télémétrie des coûts partout** — en-têtes de coût/d’utilisation `X-OmniRoute-*` sur chaque point de terminaison, en-tête d’économies en cas de cache HIT, quotas de dépenses en USD par clé. → [Référence de l’API](docs/reference/API_REFERENCE.md) - **🧠 Une mémoire que vous contrôlez** — désactivée par défaut, quantification vectorielle int8 et décroissance typée sur activation, `x-omniroute-no-memory` par requête. → [Mémoire](docs/frameworks/MEMORY.md) - **🛡️ Sécurité** — protection contre les injections de prompt sur chaque route LLM (suite red-team), garde-fou optionnel de masquage des identifiants (expurge les clés API/secrets divulgués dans les deux sens), recherche web DuckDuckGo gratuite en dernier recours et portail de connexion OIDC facultatif pour le tableau de bord (la connexion par mot de passe reste toujours disponible). → [Garde-fous](docs/security/GUARDRAILS.md) - **🖼️ Nouveaux points de terminaison** — `/v1/ocr` (Mistral OCR) et `/v1/audio/translations` (de type Whisper) complètent la gamme multimédia. → [Référence de l’API](docs/reference/API_REFERENCE.md) - **🎨 Génération d’images / vidéos / contenus audio** — une API unique pour les médias : xAI Grok Imagine et les vidéos Novita AI, ComfyUI, Magnific, Adobe Firefly, Segmind, ainsi que des fournisseurs vocaux tels qu’ElevenLabs. → [Référence de l’API](docs/reference/API_REFERENCE.md) - **🌍 Déploiement et exploitation** — `basePath` pour proxy inverse, détection automatique de la langue du navigateur, suivi des appareils par clé, confiance MITM sans accès root, localisation zh-TW. → [Environnement](docs/reference/ENVIRONMENT.md) - **🤝 Davantage de fournisseurs et d’agents** — agents cloud (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) avec navigateur + connexion OAuth, fiche Ollama de premier ordre, Claude Opus 5 et Sonnet 5, partenariat officiel avec Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… ainsi qu’un **catalogue actualisé de 352 fournisseurs**. → [Fournisseurs](docs/reference/PROVIDER_REFERENCE.md) - **📡 Transparence du routage** — chaque réponse contient un en-tête `X-OmniRoute-Decision` indiquant la stratégie/le fournisseur/la latence qui l’a servie ; une nouvelle stratégie de combinaison `cache-optimized` et le facteur `cacheAffinity` d’Auto-Combo redirigent les requêtes répétées vers la connexion détenant le préfixe mis en cache ; enfin, un point de terminaison en lecture seule `/v1/auto-combo/{channel}/candidates` expose le pool actif de candidats d’un canal `auto/*`. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **⚡ Performances locales et infrastructure** — Redis local en un clic, outils de déploiement de relais pour Cloudflare Workers / Deno Deploy, Bifrost et Mux en tant que services intégrés supervisés. → [Services intégrés](docs/frameworks/EMBEDDED-SERVICES.md) - **🧩 Également inclus** — framework de plugins + place de marché, frameworks de compétences Omni/Agent/GitHub, intégration des coffres Obsidian (22 outils MCP), API Batch et Files compatibles OpenAI, cache sémantique des réponses, ludification avec classements, découverte d’agents ACP (15 agents intégrés), export planifié des journaux vers BigQuery, injection de pannes `auto/chaos`, passerelle pour bot Telegram, gestionnaire de versions intégré à l’application et classements LMArena-ELO des fournisseurs gratuits. → [Documentation](docs/README.md)
## 🤖 CLI et agents de codage compatibles > Une seule configuration — `http://localhost:20128/v1` — et **tous** les IDE ou CLI d’IA fonctionnent avec des modèles gratuits et à faible coût.
Claude Code
Claude Code
                           
Codex CLI
Codex CLI
                           
Cline
Cline
                           
Kilo Code
Kilo Code
Zoo Code
Zoo Code
Continue
Continue
                           
Aider
Aider
                           
ForgeCode
ForgeCode
                           
jcode
jcode
                           
DeepSeek TUI
DeepSeek TUI
                           
CodeWhale
CodeWhale
                           
OpenCode
OpenCode
                           
Factory Droid
Factory Droid
                           
GitHub Copilot CLI
Copilot CLI
                           
Cursor CLI
Cursor CLI
                           
Smelt
Smelt
                           
Pi (pi-coding-agent)
Pi
                           
Grok Build (xAI)
Grok Build
                           
Hermes Agent (Nous Research)
Hermes Agent
                           
OpenClaw
OpenClaw
                           
Goose
Goose
                           
Open Interpreter
Open Interpreter
                           
Warp AI
Warp AI
                           
deyin.ai
deyin.ai
                           
+ fonctionne également avec · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · tout outil compatible avec OpenAI
📖 Configuration propre à chacun des 36 outils (26 CLI de code + 10 agents CLI) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 Extension OpenCode → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)

**Lancez n’importe quel CLI pris en charge via OmniRoute avec une seule commande** — aucun fichier de configuration n’est créé, les identifiants sont injectés pour chaque processus, et Qwen/Gemini disposent d’un répertoire personnel isolé et temporaire : ```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" # Ou choisissez interactivement le fournisseur et le modèle, puis écrivez la configuration propre à l’outil : omniroute configure codex # également : claude opencode qwen aider goose gemini cline continue kilo ``` Chaque commande respecte le contexte distant actif (`omniroute connect `), `--dry-run` affiche un aperçu exact des variables d’environnement et des arguments sans rien exécuter, et `--api-key-env NAME` évite que les secrets figurent dans l’historique de votre shell. → [Intégrations CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 357 fournisseurs d’IA — 152 marqués comme gratuits dans le catalogue
> **357 fournisseurs enregistrés** répartis entre les collections canoniques de chat, de médias, de recherche, d’exécution locale, d’agents cloud et de systèmes, dont **152 disposent de la métadonnée de découverte `hasFree: true`**. Le registre des modèles de chat couvre **229 fournisseurs / 2 554 paires fournisseur-modèle distinctes / 1 283 identifiants de modèle bruts** ; le catalogue distinct des budgets gratuits contient **491 entrées par modèle**, **35 pools récurrents** et **54 fournisseurs gratuits à vie, récurrents ou sans clé**. Ces dénominateurs sont différents par conception ; les définitions et les calculs dédupliqués par pool figurent dans la [Référence des fournisseurs](docs/reference/PROVIDER_REFERENCE.md) et les [Offres gratuites](docs/reference/FREE_TIERS.md).
### 🏢 Tous les grands laboratoires — via un point de terminaison unique
OpenAI
OpenAI
                           
Anthropic
Anthropic
                           
Gemini
Gemini
                           
xAI Grok
xAI Grok
                           
DeepSeek
DeepSeek
                           
Mistral
Mistral
                           
Qwen
Qwen
                           
Meta Llama
Meta Llama
                           
Groq
Groq
                           
NVIDIA
NVIDIA
                           
MiniMax
MiniMax
                           
Cohere
Cohere
                           
Perplexity
Perplexity
                           
Hugging Face
HuggingFace
                           
Together
Together
                           
Fireworks
Fireworks
                           
Cloudflare
Cloudflare
                           
Baidu
Baidu
                           
…et plus de 330 autres — chaque icône est chargée en direct depuis le catalogue de fournisseurs du tableau de bord. 📖 [Référence des fournisseurs](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Gratuit à vie — 0 $, sans carte bancaire
OpenCode Zen
OpenCode Zen
DeepSeek V4, Nemotron 3
Aucune limite de jetons
Kilo Code
Kilo Code
Routeur automatique, Tencent Hy3
Gratuit pour toujours
Requesty
Requesty
GPT-OSS 120B, Nemotron
Gratuit pour toujours
SiliconFlow
SiliconFlow
DeepSeek V3.2 / R1
Offre gratuite
Z.AI GLM
Z.AI GLM
GLM-4.7 / 4.5-Flash
Gratuit pour toujours
Baidu ERNIE
Baidu ERNIE
ERNIE 4.0
Gratuit pour toujours
Qoder AI
Qoder AI
Qwen3-Max, Kimi-K2
GRATUIT et illimité
Pollinations
Pollinations
GPT, Llama, Claude
Aucune clé requise
Cloudflare AI
Cloudflare AI
Plus de 50 modèles
10 000 neurones/jour
NVIDIA NIM
NVIDIA NIM
GLM, MiniMax
~40 RPM gratuitement
Cerebras
Cerebras
GLM 4.7, GPT-OSS
1M de jetons/jour
OpenRouter
OpenRouter
Modèles :free
+10 $ → RPM plus élevé
📖 Catalogue complet lisible par machine → [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ Où fonctionne OmniRoute — partout
> Même application, votre machine, vos règles. D’une installation globale avec npm jusqu’à **votre téléphone** via Termux.
PlateformeInstallationPoints forts
📦 npm (global)npm install -g omnirouteUne seule commande, sur tous les systèmes d’exploitation
🐳 Dockerdocker run … diegosouzapw/omnirouteMultiarchitecture AMD64 + ARM64
🖥️ Bureau (Electron)npm run electron:buildFenêtre native + zone de notification — Windows / macOS / Linux
🎩 Barre des menus (OmniRouteTray)brew install --cask zoispag/tap/omniroute-traySupervise et met automatiquement à jour le serveur — macOS
💪 ARMarm64 natifRaspberry Pi, serveurs ARM, Apple Silicon
📱 Android (Termux)pkg install nodejs && npx -y omnirouteFonctionne sur votre téléphone, 24 h/24 et 7 j/7, sans accès root
📲 PWA« Ajouter à l’écran d’accueil »Plein écran, hors ligne, installable depuis le navigateur
🧩 Extension OpenCode@omniroute/opencode-providerIntégration native à OpenCode
🤖 VS Code Copilot Chatinstaller l’extension OmniCopilotTous les modèles OmniRoute dans le sélecteur natif de Copilot Chat — versions stable et Insiders
🛠️ Depuis les sourcesnpm install && npm run devModifiez-le, contribuez
📖 [Guide Docker](docs/guides/DOCKER_GUIDE.md) · [Bureau](electron/README.md) · [Barre des menus](https://github.com/zoispag/omniroute-tray) · [Termux](docs/guides/TERMUX_GUIDE.md) · [PWA](docs/guides/PWA_GUIDE.md) · [OpenCode](docs/frameworks/OPENCODE.md)
### 🧩 Nouveau : OmniRoute dans l’interface native de Copilot Chat de VS Code
> Aucune nouvelle barre latérale, aucune nouvelle interface de discussion — chaque modèle fourni par OmniRoute apparaît directement dans le > **sélecteur de modèles de Copilot Chat que vous utilisez déjà**. Depuis VS Code 1.122, les modèles des fournisseurs fonctionnent > sans connexion à GitHub ni abonnement Copilot — mode agent, appels d’outils et vision, > gratuitement. Installez l’extension **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**, configurez-la pour utiliser votre serveur OmniRoute (`localhost:20128` par défaut), puis ouvrez Copilot Chat → sélecteur de modèles → **Gérer les modèles…** → **OmniRoute**.
BoutiqueLienCompatible avec
🧩 VS Code MarketplaceInstaller →VS Code — versions stable et Insiders
🔓 Open VSX RegistryInstaller →Cursor, Windsurf, VSCodium, Theia, code-server, Gitpod, Antigravity, Kiro…
Depuis l’éditeur : ouvrez la vue **Extensions**, recherchez **« OmniRoute »**, puis cliquez sur **Installer** — le fonctionnement est identique dans les deux boutiques. Le code source, les tickets et le guide de publication sont disponibles sur [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot). 📖 [Guide de VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — configuration, contenu du sélecteur, tableau de bord dans un onglet, dépannage
### 🎩 Nouveau : OmniRouteTray — votre passerelle, directement dans la barre des menus
> `omniroute serve` donne le meilleur de lui-même lorsqu’il fonctionne en permanence. **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)** > en fait une application macOS pour la barre des menus que vous configurez une fois pour toutes : elle démarre le serveur, le maintient actif > après les redémarrages, le met à jour sur place et vous permet de consulter votre budget de jetons en direct en un clic — **sans > fenêtre de terminal laissée ouverte ni installation `npm install -g omniroute` à surveiller.** Conçue avec [Tauri v2](https://v2.tauri.app/) (un cœur Rust minuscule), elle embarque son propre environnement d’exécution Node 24 signé et gère une installation d’OmniRoute propre à l’application, afin de ne jamais entrer en conflit avec vos installations globales de `node`/`bun`. Elle **partage votre configuration et votre base de données `~/.omniroute/` existantes** — c’est donc le même OmniRoute que vous utilisez déjà, simplement coiffé d’un chapeau. 🎩
FonctionnalitéFonctionnement
🟢 Supervise le serveurLance omniroute serve et adopte une instance déjà en cours d’exécution au lieu de la dupliquer
📊 Utilisation en direct d’un seul coup d’œilBarres de quota des fournisseurs, limites de session/hebdomadaires de Claude avec comptes à rebours avant réinitialisation, ventilation des coûts sur 30 jours
🔄 Mises à jour automatiques sur placeInstallation intermédiaire, remplacement atomique, retour en arrière en cas d’échec — toujours sur la version la plus récente
🚀 Démarrage à l’ouverture de sessionLancement facultatif à l’ouverture de session ; uniquement dans la barre des menus, sans icône dans le Dock
🩺 Diagnostic et journauxDiagnostic en un clic et accès aux journaux du serveur
```sh brew install --cask zoispag/tap/omniroute-tray ``` Vous préférez un téléchargement ? Récupérez le dernier fichier .dmg depuis les versions publiées. Le code source, les tickets et la documentation de compilation sont disponibles sur zoispag/omniroute-tray.
💛 Un projet communautaire par @zoispag — il ne s’agit pas d’une version officielle d’OmniRoute.

## 🔒 Privé et local par défaut
Privé et local par défaut — la passerelle et le plan de contrôle d’OmniRoute s’exécutent sur votre machine. Les prompts sont envoyés au fournisseur en amont sélectionné pour chaque requête ; OmniRoute n’ajoute aucun intermédiaire hébergé pour le traitement des prompts et la télémétrie est désactivée par défaut. Les identifiants sont chiffrés au repos avec AES-256-GCM ; les contrôles comprennent la définition de la portée des clés API, le filtrage IP, les limites de débit, les protections contre l’injection de prompts, le nettoyage des en-têtes en amont, la suppression facultative des PII, les erreurs assainies et une piste d’audit SQLite locale. OmniRoute est sous licence MIT et peut être auto-hébergé. 📖 [Autorisation](docs/architecture/AUTHZ_GUIDE.md) · [Garde-fous](docs/security/GUARDRAILS.md) · [Conformité](docs/security/COMPLIANCE.md)
## 🔌 CLI complète + A2A et MCP
> Au-delà du serveur, OmniRoute est un **véritable poste de pilotage en ligne de commande** proposant **plus de 80 commandes**, ainsi que des protocoles ouverts pour agents afin qu’un agent d’IA puisse le piloter **de manière autonome**. ### ⌨️ Une véritable CLI (pas seulement `start`) ```bash omniroute # lancer la passerelle et le tableau de bord (port 20128) omniroute chat # client de chat TUI interactif (commandes obliques : /model /combo /skill /memory) omniroute setup # assistant guidé de première configuration omniroute doctor # diagnostiquer les fournisseurs, les ports et les dépendances natives ``` ### 🛰️ Mode distant — exécutez la CLI ici et OmniRoute sur un VPS OmniRoute est installé sur un serveur ? Pilotez-le depuis votre ordinateur portable avec la **même CLI**. Connectez-vous une seule fois avec un jeton d’accès à portée limitée ; chaque commande ciblera ensuite le serveur distant. ```bash omniroute connect 192.168.0.15 # mot de passe → jeton à portée limitée, enregistré comme contexte omniroute models list # ← s’exécute sur le serveur DISTANT omniroute configure codex # ← sélectionne un modèle distant et écrit un profil Codex local omniroute tokens create --name ci --scope read # créer des jetons à portée plus restreinte pour d’autres machines omniroute contexts use default # ← revenir au serveur local ``` Les jetons disposent des portées `read` / `write` / `admin` ; les routes qui lancent des processus restent limitées à l’interface de bouclage. 📖 [Mode distant](docs/guides/REMOTE-MODE.md)
Démonstration animée dans un terminal de la CLI OmniRoute — omniroute providers list, omniroute combo list et omniroute health — parcourant les 86 commandes principales disponibles : providers · oauth · keys · combo · nodes · models · cache · compression · cost · usage · quota · health · resilience · telemetry · logs · audit · mcp · a2a · cloud · memory · skills · eval · tunnel · backup · sync · webhooks · policy · pricing · translator · simulate …
### 🤝 Connectez un agent — et laissez-le contrôler OmniRoute lui-même Exposez OmniRoute via **MCP**, **A2A**, une **API REST**, des **webhooks** ou une **CLI distante** — tout agent compatible (ou votre propre code) obtient les clés de l’ensemble de la passerelle : routage, fournisseurs, combinaisons, cache, compression, mémoire — de manière autonome. Les points de terminaison HTTP ci-dessous sont servis sous `http://localhost:20128`.
InterfacePoint de terminaison / commandeUtilisation
🧰 MCP (stdio)omniroute --mcpIntégration à Claude Desktop, Cursor ou tout client MCP
🌊 MCP (HTTP)/api/mcp/streamMCP distant — 110 outils, 33 portées (application facultative), piste d’audit complète
📡 MCP (SSE)/api/mcp/sseTransport MCP en continu
🤝 A2A/.well-known/agent.jsonD’agent à agent, JSON-RPC 2.0 + SSE, 6 compétences
🌐 API REST/v1/*Compatible avec OpenAI — chat, embeddings, images, audio, OCR
🔔 Webhooks/api/webhooksEnvoyer les événements de requête et de quota à Slack, Discord, Telegram ou toute URL
🛰️ CLI distanteomniroute connect Piloter une instance distante avec des jetons d’accès à portée limitée
```bash # Fournir à Claude Code l’ensemble complet des outils OmniRoute via MCP : claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream ``` 📖 [Serveur MCP](docs/frameworks/MCP-SERVER.md) · [Serveur A2A](docs/frameworks/A2A-SERVER.md) · [Protocoles pour agents](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Économisez automatiquement 15 à 95 % de tokens
### 📖 Fonctionnement — pipeline, architecture et calcul des économies Pipeline de compression OmniRoute : une requête client illustrative de 10 000 tokens traverse 12 moteurs composables — Session-Dedup, CCR, Lite, RTK, Responses Tool Output, Headroom, Relevance, Caveman, Aggressive, LLMLingua-2, Ultra et OmniGlyph — et peut parvenir au fournisseur avec environ 1 080 tokens dans l’exemple documenté d’empilement. Le contenu structuré est protégé par des mécanismes de préservation et des contrôles de fidélité à chaque étape ; les modes explicitement destructifs ou expérimentaux peuvent transformer le contenu admissible. La combinaison empilée par défaut exécute `RTK → Caveman`. Lorsque les deux agissent sur la même charge utile d’outil ou de contexte, les économies se cumulent : ```txt combined = 1 − (1 − RTK) × (1 − Caveman_input) average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2% range = 78.4 – 94.6% ``` Les blocs de code, les URL, le JSON et les données structurées sont **toujours protégés** par le moteur de préservation. > **Pourquoi utiliser beaucoup de tokens quand quelques-uns suffisent ?** Chaque requête traverse le pipeline de compression d’OmniRoute **de manière transparente** — aucune modification côté client. Il s’agit désormais d’une **pile de 12 moteurs composables** qui s’exécutent dans l’ordre et peuvent être combinés selon chaque configuration de routage — en s’appuyant sur les idées de [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua) et [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR). ### 🧱 La pile de 12 moteurs Les moteurs s’exécutent dans l’ordre du pipeline ; chacun peut être activé ou désactivé et configuré indépendamment pour chaque combinaison :
#MoteurFonctionnement
1Session-DedupSupprime le contenu répété d’un tour à l’autre (adressé par le contenu, entre les tours)
2CCRArchive les blocs volumineux derrière des marqueurs de récupération, consultés à la demande
3LiteRéduction des espaces et des URL d’images (base légère en latence)
4RTKFiltrage intelligent, déduplication et troncature des résultats d’outils (avec prise en compte des commandes)
5Responses Tool OutputJSON sans perte en priorité + compression limitée des diagnostics pour les sorties de shell/patch/recherche/build (Responses API)
6HeadroomCompactage tabulaire sans perte des tableaux JSON (~30 %) via un codec GCF intégré
7RelevanceÉvaluation extractive des phrases par rapport à la dernière requête de l’utilisateur
8CavemanCompression de texte fondée sur des règles (~65–75 % sur la sortie)
9AggressiveRésumé + vieillissement progressif des anciens tours
10LLMLingua-2Élagage sémantique par ML via MobileBERT ONNX — sans risque pour le code, asynchrone
11UltraÉlagage heuristique des tokens avec un niveau facultatif basé sur un petit modèle (SLM)
12OmniGlyphEncodage expérimental du contexte sous forme d’image pour Claude Fable 5 mesuré sur la connexion directe à Anthropic ; les transformeurs GPT 5.6 restent fermés par défaut dans l’attente des reçus du fournisseur. Quatre profils de compression (agressif par défaut, équilibré, sûr pour le code, transmission directe) (le plus agressif ; sur activation)
Les blocs de code, les URL et les données structurées sont **toujours préservés** à l’octet près. Des **préréglages en un clic** combinent les moteurs :
ModeÉconomiesIdéal pour
🪶 Lite~15%Valeur par défaut sûre, toujours active
🪨 Standard (Caveman)~30%Développement quotidien
⚡ Aggressive~50%Longues sessions utilisant beaucoup d’outils
🔥 Ultra~75%Économies maximales
🧰 RTK60–90%Sorties de shell/test/build/git
🔗 Empilé (RTK → Caveman)78–95%Prompts mixtes + journaux d’outils
**Exemple réel — mode Standard :** > **Avant (69 tokens) :** _« La raison pour laquelle votre composant React s’affiche à nouveau vient probablement du fait que vous créez une nouvelle référence d’objet à chaque cycle de rendu. Lorsque vous transmettez un objet en ligne en tant que prop, la comparaison superficielle de React le considère chaque fois comme un objet différent, ce qui déclenche un nouveau rendu. Je vous recommande d’utiliser useMemo pour mémoriser l’objet. »_ > > **Après (19 tokens) :** _« Nouvelle référence d’objet à chaque rendu. Objet en ligne comme prop = nouvelle référence = nouveau rendu. Encapsulez-le dans useMemo. »_ > > **Même réponse. 72 % de tokens en moins. Aucune perte de précision.** ✅ **Exemple PT-BR — mode [Troglodita](https://github.com/leninejunior/troglodita) :** > **Avant (42 tokens) :** _« Le problème est que le composant effectue un nouveau rendu, car une nouvelle référence d’objet est créée à chaque cycle de rendu. Je recommanderais d’utiliser useMemo. »_ > > **Après (12 tokens) :** _« Nouveau rendu : nouvelle réf. à chaque cycle (objet inline recréé). Utiliser `useMemo`. »_ > > **Même réponse. Environ 70 % de tokens en moins. Précision technique intacte.** ✅
### 🎚️ Au-delà des moteurs — styles de sortie, réglage adaptatif et contrôle par requête Les 12 moteurs ci-dessus réduisent ce qui **entre**. Trois couches supplémentaires déterminent **comment**, **quand** et ce qui **sort** : - **🪄 Styles de sortie** _(pilotage de l’axe de sortie)_ — injectent des instructions déterministes et compatibles avec le cache pour façonner les réponses ; combinables, chacune avec une intensité `lite` / `full` / `ultra`. Ajouter un style ne nécessite qu’une ligne dans le registre : - **Prose concise** — supprimer le remplissage, les articles et les précautions oratoires ; préserver exactement le fond technique. - **Moins de code** — YAGNI façon « développeur senior paresseux » : la plus petite modification fonctionnelle, sans structure non demandée. - **Queue de cheval (développeur senior paresseux)** — gravir l’échelle YAGNI, corriger la cause profonde, produire le plus petit diff fonctionnel. - **J’ai un TDAH (action d’abord)** — commencer par l’action suivante, numéroter les étapes, fournir une seule prochaine étape concrète, sans préambule. - **CJK concis (文言)** — style chinois classique ultra-concis (limité aux paramètres régionaux `zh`). - **🎯 Budget de contexte adaptatif** _(le réglage)_ — au lieu d’un seuil de tokens binaire unique, activer progressivement les moteurs les moins coûteux et les plus fidèles, uniquement dans la mesure nécessaire pour **tenir dans la fenêtre de contexte du modèle**. Politique : `reserve-output` (par défaut, adaptée au modèle) · `percentage` · `absolute`. Mode : `floor` (garantit la compatibilité) · `replace-autotrigger` (votre choix explicite prévaut) · `off` (seuil historique). - **🎛️ Où la compression est décidée** _(priorité, de la plus élevée à la plus faible)_ — en-tête `x-omniroute-compression` par requête › remplacement par combinaison de routage › profil nommé actif › déclenchement adaptatif / automatique › valeur par défaut du panneau › désactivée. Le plan appliqué est renvoyé dans l’en-tête de réponse `X-OmniRoute-Compression: ; source=`. Déclenchez automatiquement selon un seuil de tokens, activez le réglage adaptatif, épinglez un profil nommé, définissez un paramètre ponctuel par requête ou attribuez un pipeline à chaque combinaison de routage — selon les besoins de la charge de travail. Un **banc d’évaluation** hors ligne facultatif (`npm run eval:compression`) mesure la fidélité par rapport aux économies sur un corpus épinglé avant la mise en production d’une modification. 📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Démarrage rapide
**1) Installer et exécuter** ```bash npm install -g omniroute omniroute ``` > 💡 Vous voyez `npm warn ERESOLVE` ou des avertissements concernant les dépendances homologues ? [Ils sont sans conséquence](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated). Tableau de bord sur `http://localhost:20128` · API sur `http://localhost:20128/v1`. **2) Connecter un fournisseur GRATUIT (sans inscription)** Tableau de bord → **Fournisseurs** → connectez **Kiro AI** (Claude gratuit, environ 50 crédits/mois par compte) ou **OpenCode Free** (sans authentification) → terminé. **3) Configurer votre outil de programmation** ```txt URL de base : http://localhost:20128/v1 Clé API : [copier depuis Tableau de bord → Points de terminaison] Modèle : auto (routage intelligent sans configuration — ou tout fournisseur/modèle) ``` **4) Vérifier que tout fonctionne** ```bash curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY" ``` Vous devriez voir la liste de vos modèles connectés. 🎉 C’est tout — commencez à programmer ; OmniRoute assure automatiquement le routage et le basculement pour vous. Si votre client ne peut pas envoyer d’en-têtes personnalisés, OmniRoute expose également des alias de compatibilité avec token : ```txt Catalogue OpenAI : http://localhost:20128/vscode/YOUR_KEY/ Modèles OpenAI : http://localhost:20128/vscode/YOUR_KEY/models Chat OpenAI : http://localhost:20128/vscode/YOUR_KEY/chat/completions Réponses OpenAI : http://localhost:20128/vscode/YOUR_KEY/responses Chat Ollama : http://localhost:20128/vscode/YOUR_KEY/api/chat Tags Ollama : http://localhost:20128/vscode/YOUR_KEY/api/tags ``` Utilisez-les uniquement pour les clients qui ne peuvent pas joindre `Authorization: Bearer ...`. L’authentification par en-tête reste le mode recommandé.
## 📦 Autres méthodes d’installation — Docker, code source, 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` suit la version SemVer stable **publiée** la plus élevée. Elle ne suit pas la branche git `main`. Épinglez `:X.Y.Z` pour GitOps. Consultez [Canaux de publication Docker](docs/guides/DOCKER_GUIDE.md#release-channels). L’image définit **`OMNIROUTE_MEMORY_MB=1024`**. Cela suffit pour le tableau de bord et une conversation légère. Les **agents de programmation** (`POST /v1/responses` depuis Claude Code, Codex, Grok, …) nécessitent un tas V8 bien plus important, sans quoi le processus déclenche une `FATAL ERROR` à environ 12 Gio avec deux longs contextes qui se chevauchent. Dimensionnez le conteneur au-dessus de la taille du tas (les tampons natifs se trouvent en dehors de V8) : | Charge de travail | Tas (`-e OMNIROUTE_MEMORY_MB`) | Conteneur (`--memory`) | | ------------------------------------- | ------------------------------------- | ---------------------- | | Tableau de bord / conversation légère | `1024` (valeur par défaut de l’image) | ≥2 g | | Un agent de programmation | `8192` | ≥10 g | | Deux longs `/v1/responses` simultanés | `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 ``` Tableau complet : [Guide Docker — RAM d’exécution](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents). > **Canal Docker de préversion :** `diegosouzapw/omniroute:next` et > `diegosouzapw/omniroute:next-web` suivent la branche `release/v*` actuellement > définie par défaut. Ces balises modifiables sont uniquement destinées à tester des correctifs > non publiés et ne sont **pas prises en charge en production**. Consultez > [Canaux de publication Docker](docs/guides/DOCKER_GUIDE.md#release-channels). **🥟 Bun** L’installation standard avec `bun install` et l’installation globale (`bun install -g omniroute`) sont prises en charge grâce à la détection de l’environnement d’exécution Bun : - **`bun:sqlite` intégré** : OmniRoute utilise le pilote `bun:sqlite` intégré à Bun lors de son exécution sous Bun, avec repli sur `better-sqlite3` sous Node.js ou sur `sql.js`. - **Sélection automatique de Webpack pour le regroupement en développement** : le mode développement (`bun run dev`) détecte automatiquement Bun et désactive Turbopack au profit de Webpack afin d’éviter les incompatibilités avec les liaisons V8 natives. Les compilations de production (`bun run build`) respectent précisément `OMNIROUTE_USE_TURBOPACK`, comme sous Node : Turbopack par défaut, ou `OMNIROUTE_USE_TURBOPACK=0` pour compiler avec Webpack (`Dockerfile.bun` l’expose en tant que `--build-arg`). - **Dockerfile dédié à Bun** : `Dockerfile.bun` multiétape pour les déploiements natifs de Bun en production (`docker build -f Dockerfile.bun -t omniroute:bun .`). ```bash # Installer et exécuter avec Bun bun install bun run dev ``` **🛠️ Depuis le code source** ```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 # Avec les flakes Nix nix develop npm run dev # Ou avec devbox devbox run npm run dev ``` 📖 [Guide Docker](docs/guides/DOCKER_GUIDE.md) — Profils Compose, HTTPS avec Caddy, tunnels Cloudflare. **🦭 Podman** ```bash # 1. Préparer le répertoire de données monté par liaison mkdir -p data # 2. Uniquement sous Linux avec Podman local sans privilèges root (jamais avec un client Podman Machine distant) : podman unshare chown 1000:1000 ./data # 3. Définir l’indication d’environnement d’exécution, créer l’image Compose locale et démarrer echo "CONTAINER_HOST=podman" >> .env podman compose --profile base up -d --build ``` Sous macOS ou Windows, Podman utilise une Podman Machine distante : ignorez `podman unshare` et suivez les [instructions relatives au répertoire de données propres à la topologie](contrib/podman/README.md#data-directory-permissions-by-topology). 📖 [Guide Podman](contrib/podman/README.md) — Compilations Compose, Podman Machine et configuration de Quadlet avec Linux/systemd. **⚡ Installation plus rapide / légère (sans compilation native)** Le moteur SQLite natif (`better-sqlite3`) est une dépendance **facultative** ; une installation globale n’est donc jamais bloquée par une compilation depuis le code source : elle utilise un binaire précompilé lorsqu’il en existe un pour votre plateforme/Node et, dans le cas contraire, se replie de façon transparente sur un moteur JavaScript pur (`node:sqlite` sous Node 22+, sinon le moteur WASM `sql.js` inclus) — aucun outil de compilation n’est requis. Pour ignorer entièrement la préparation native après l’installation (CI, environnement sans interface graphique ou machines lentes) : ```bash OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 l’ignore également ``` Pour des installations plus rapides, privilégiez **pnpm** (stockage adressé par contenu + liens physiques — voir ci-dessus). Pour un environnement d’exécution sans tableau de bord et sans interface graphique, utilisez le profil Docker `base` (ci-dessus) ou le [guide Termux](docs/guides/TERMUX_GUIDE.md). La CLI et le tableau de bord web sont servis par le même processus sur un seul port ; il n’existe donc actuellement aucun paquet distinct exclusivement destiné à la CLI.
# 🎬 OmniRoute en action
## 📹 Guides vidéo
Instantané du tableau de bord au 2026-08-24 · Catalogue brut : YT 809 | TT 137 | IG 124 · Fraîcheur (jours) : YT 1 | TT 21 | IG 22
Reel Instagram
🎬 #1 — Instagram
nick_saraev — 3,042,474 vues
Reel Instagram — theopenstack
🎬 #2 — Instagram
theopenstack — 692,419 vues
TikTok — milesreevesai
🎬 #3 — TikTok
milesreevesai — 620,400 vues
YouTube — Vaibhav Sisinty
🎬 #4 — YouTube
Vaibhav Sisinty — 391,109 vues
Reel Instagram — buildwithai.club
🎬 #5 — Instagram
buildwithai.club — 347,652 vues
**Classement complet (URL canoniques dédupliquées, `v > 0`, portée maximale) :** | #1 | #2 | #3 | #4 | #5 | | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | | [nick_saraev — Instagram](https://www.instagram.com/reel/Da8ZthUPK98/) — **3,042,474** | [theopenstack — Instagram](https://www.instagram.com/reel/DaSs65mMrHk/) — **692,419** | [milesreevesai — TikTok](https://www.tiktok.com/@milesreevesai/video/7667980059189366019) — **620,400** | [Vaibhav Sisinty — YouTube](https://www.youtube.com/watch?v=QucgvbO5gsM) — **391,109** | [buildwithai.club — Instagram](https://www.instagram.com/reel/DbIt9AjK7-U/) — **347,652** | | #6 | #7 | #8 | #9 | #10 | | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | | [nivedan.ai — Instagram](https://www.instagram.com/reel/DbIrCksJiqq/) — **331,973** | [vaibhavsisinty — Instagram](https://www.instagram.com/reel/Dae05TSAK1l/) — **263,744** | [Nick Automates — YouTube Shorts](https://www.youtube.com/shorts/fZIBK_4fKq8) — **218,174** | [theroshankrishna — Instagram](https://www.instagram.com/reel/Dapjs58z0P0/) — **186,786** | [midudev — TikTok](https://www.tiktok.com/@midudev/video/7664636453544152342) — **177,800** | Métriques canoniques au 2026-08-24 : **1.029 vidéos uniques** · **11.132.922 vues connues** (`v > 0`) · **639 chaînes/profils par réseau**. Le tableau de bord brut contient 1.070 lignes ; 41 doublons Instagram ont été normalisés à partir de l’URL canonique, en conservant le nombre de vues le plus élevé pour chaque vidéo. > 🎬 **Vous avez réalisé une vidéo sur OmniRoute ?** Ouvrez une [issue](https://github.com/diegosouzapw/OmniRoute/issues/new) ou une [discussion](https://github.com/diegosouzapw/OmniRoute/discussions) avec le lien — nous la mettrons en avant ici.
# 📧 Communauté et aide > Tout au même endroit — suivez le mainteneur, échangez avec la communauté ou ouvrez une issue. | Canal | Où / comment | | ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | | 💼 **LinkedIn** — suivre le mainteneur | [linkedin.com/in/diegosouzapw](https://www.linkedin.com/in/diegosouzapw/) | | 🐙 **GitHub** — suivre les versions et astuces | [@diegosouzapw](https://github.com/diegosouzapw) | | 💬 **Discord** | [discord.gg/U47eFqAXCn](https://discord.gg/U47eFqAXCn) | | ✈️ **Telegram** | [t.me/omnirouteOficial](https://t.me/omnirouteOficial) | | 🟢 **WhatsApp — 🌍 Monde** | [rejoindre le groupe](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) | | 🟢 **WhatsApp — 🇧🇷 Brésil** | [rejoindre le groupe](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) | | 🌍 **Site web** | [omniroute.online](https://omniroute.online) | | 🌍 **Communauté 🌍StHub OmniRoute (gratuite)** | [portail sthub](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK) | | 📦 **Code source** | [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) | | 🐛 **Signaler un bug** | [ouvrir un ticket](https://github.com/diegosouzapw/OmniRoute/issues) — joignez la sortie de `npm run system-info` | | 🤝 **Contribuer** | [CONTRIBUTING.md](CONTRIBUTING.md) · [Modèle de branches et de publication](docs/ops/BRANCHING_MODEL.md) · choisissez une `good first issue` | | 💚 **Soutenir le projet** | [Façons de contribuer ↑](#-support-omniroute) · [GitHub Sponsors](https://github.com/sponsors/diegosouzapw) |
---
## 🛠️ Pile Technologique
CoucheTechnologie
Environnement d'exécutionNode.js 22.x / 24.x LTS — >=22.22.2 <23 || >=24.0.0 <27
LangageTypeScript 6.0 — 100% TypeScript dans src/ et open-sse/ (aucun any dans le cœur depuis la v2.0)
FrameworkNext.js 16 + React 19 + Tailwind CSS 4
Base de donnéesbetter-sqlite3 (SQLite, journalisation WAL) + LowDB (JSON hérité) — 122 modules de domaine, 183 migrations
MémoireSQLite FTS5 texte intégral + embeddings vectoriels quantifiés int8, dégradation typée
SchémasZod 4 — Validation E/S d'outils MCP + contrats d'API
ProtocolesMCP (stdio / HTTP / SSE) + A2A v0.3 (JSON-RPC 2.0 + SSE)
StreamingServer-Sent Events (SSE) + pont WebSocket (/v1/ws)
CompressionPipeline à 12 moteurs — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph
Authentification & sécuritéOAuth 2.0 (PKCE) + JWT + Clés API + Authentification MCP à portée · AES-256-GCM au repos · DOMPurify
Furtivitéwreq-js — Usurpation d'empreinte TLS JA3 / JA4, proxy à 3 niveaux
RésilienceDisjoncteur, attente exponentielle, anti-effet troupeau, auto-réparation combinée
Journalisationpino — journaux JSON structurés avec contexte de requête
TestsExécuteur de tests Node.js + Vitest — plus de 39 000 déclarations de tests statiques sur plus de 5 100 fichiers de tests suivis (unitaires, d'intégration, E2E, de sécurité, d'écosystème)
PlateformesBureau (Electron) · Android (Termux) · PWA (tout navigateur)
CI/CDGitHub Actions — publication npm automatique + Docker Hub à la sortie
LiensSite web · npm · Docker Hub

## 📖 Documentation
### 📘 Bien démarrer
DocumentDescription
Guide de l’utilisateurFournisseurs, combinaisons, intégration CLI, déploiement
Guide de configurationMéthodes d’installation complètes, configurations des outils CLI, configuration des protocoles, réglage des délais d’expiration
Guide des outils CLIConfiguration par outil pour Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo, Copilot
Mode distantPilotez un OmniRoute distant (VPS) depuis le CLI de votre ordinateur portable grâce à des jetons d’accès à portée limitée
Configuration de Claude CodeConnectez Claude Code à OmniRoute (local/distant) avec launch et des profils propres à chaque modèle
Démarrage rapideInstallation en 3 étapes → connexion → configuration
### 🔧 Exploitation et déploiement
DocumentDescription
Guide DockerExécution de Docker, profils Compose, HTTPS avec Caddy, tunnels, balises d’image
Guide PodmanIntégration à systemd avec Quadlet, podman-compose, SELinux
Déploiement sur une VMGuide complet : configuration d’une VM, de nginx et de Cloudflare
Déploiement sur Fly.ioDéployez sur Fly.io avec un stockage persistant
Guide TermuxExécutez OmniRoute sur Android via Termux
Guide PWAInstallation, mise en cache et architecture de l’application web progressive
Guide de désinstallationSuppression propre pour toutes les méthodes d’installation
Configuration de l’environnementListe complète des variables .env et références associées
### 🧠 Fonctionnalités et architecture
DocumentDescription
ArchitectureArchitecture du système, flux de données et fonctionnement interne
Guide de compressionPipeline à 7 options : désactivée / légère / standard / agressive / ultra / RTK / empilée
Compression RTKCompression de la sortie des commandes, filtres, confiance, vérification, récupération de la sortie brute
Moteurs de compressionCaveman, RTK, pipelines empilés, interfaces du tableau de bord, de l’API et de MCP
Format des règles de compressionSchémas JSON des paquets de règles pour les filtres Caveman et RTK
Paquets linguistiques de compressionDétection de la langue et création de paquets de règles Caveman
Guide de résilienceDisjoncteurs, périodes de temporisation, file d’attente, prévention des afflux simultanés, usurpation TLS
Moteur Auto-ComboÉvaluation selon 16 facteurs, paquets de modes, autoréparation
Guide des proxysSystème de proxys à 3 niveaux, place de marché 1proxy, opérations CRUD du registre
Offres gratuitesRépertoire consolidé : 35 pools récurrents documentés / 489 entrées d’offres gratuites cataloguées
Galerie des fonctionnalitésVisite visuelle du tableau de bord avec captures d’écran
Documentation de la base de codePrésentation de la base de code adaptée aux débutants
### 🤖 Protocoles et API
DocumentDescription
Référence de l’APITous les points de terminaison avec des exemples
Spécification OpenAPISpécification OpenAPI 3.0
Serveur MCP110 outils MCP, configurations d’IDE, clients Python/TS/Go
Guide du serveur MCPInstallation de MCP, transports et référence des outils
Serveur A2AProtocole JSON-RPC 2.0, compétences, diffusion en continu, gestion des tâches
Guide du serveur A2AFiche d’agent A2A, tâches, compétences et diffusion en continu
### 📋 Projet et qualité
DocumentDescription
ContributionConfiguration et directives de développement
Modèle de branches et de publicationBranches ciblées par les PR (release/*), signification de main et des balises
Journal des modificationsHistorique complet des publications pour chaque version
Politique de sécuritéSignalement des vulnérabilités et pratiques de sécurité
Guide d’i18nPrise en charge de 42 langues, processus de traduction, RTL
Liste de contrôle de publicationÉtapes de validation avant publication
Plan de couvertureStratégie de couverture des tests pour plus de 39 000 déclarations de tests statiques réparties dans plus de 5 100 fichiers de test suivis

# ⭐ Principaux contributeurs > OmniRoute est façonné par une communauté open source passionnée. Ces personnes ont apporté des contributions exceptionnelles qui ont une incidence directe sur la qualité, la stabilité et la portée du projet. **Merci.** ### Contributeurs externes par demandes de tirage fusionnées
RangContributeurPR fusionnées~Lignes modifiées
1backryun190227,977
2oyi77180407,678
3rdself14580,663
4JxnLexn128387,049
5KooshaPari101125,747
6herjarsa88230,872
7RaviTharuma7955,106
8maxmad64bis69394,715
9artickc5933,260
10HouMinXi5147,334
10chirag127515,153
12xz-dev50245,976
13hartmark4752,185
14rqzbeh39143,181
15dhaern3419,559
16Dingding-leo331,986
17NomenAK3213,854
18MumuTW3016,953
19benzntech2911,641
20pacocartones249,331
20Prudhvivuda246,312
Statistiques figées à la pointe active de release/v3.8.50, au commit dafb4ae808, avec les fusions effectuées jusqu’au 2026-08-24 à 05:26:03 UTC. Le recensement paginé via l’API GraphQL de GitHub contient 5 911 PR fusionnées : 2 707 par le propriétaire du dépôt, 179 par Dependabot et 3 025 PR externes provenant de 535 contributeurs distincts. Les « lignes modifiées » correspondent aux ajouts et suppressions comptabilisés par GitHub et incluent les fichiers générés, les fichiers de verrouillage, les catalogues, les traductions et la documentation ; elles représentent le volume de modifications, et non les lignes de code rédigées. Les ex æquo au seuil de classement sont conservés. ### Commits attribués par GitHub
backryun
backryun

🥇 220 commits attribués par GitHub
Paijo
Paijo

🥈 219 commits attribués par GitHub
Randi
Randi

🥉 108 commits attribués par GitHub
Ravi Tharuma
Ravi Tharuma

🏅 81 commits attribués par GitHub
Chris
Chris

🏅 70 commits attribués par GitHub
Markus Hartung
Markus Hartung

🏅 69 commits attribués par GitHub · ex æquo à la 6e place
Dizzle
Dizzle

🏅 69 commits attribués par GitHub · ex æquo à la 6e place
Jan Leon
Jan Leon

🏅 64 commits attribués par GitHub
zenobit
zenobit

🏅 62 commits attribués par GitHub
Bob.Hou
Bob.Hou

🏅 51 commits attribués par GitHub · ex æquo à la 10e place
Xiangzhe
Xiangzhe

🏅 51 commits attribués par GitHub · ex æquo à la 10e place
Revérifié le 2026-08-24 à 06:14:31 UTC : commits attribués par GitHub et signalés par l’API Contributors du dépôt pour la branche par défaut release/v3.8.50. L’API a renvoyé 525 identités (415 utilisateurs, 2 bots et 108 anonymes) ; ce tableau exclut le responsable de la maintenance, les bots et les identités anonymes, et conserve les ex æquo. Il est distinct à la fois du classement des PR fusionnées ci-dessus et du recensement de 639 personnes fondé sur les métadonnées Git ci-dessous. > 🙏 Les fonctionnalités, les corrections de bogues et les améliorations de l’infrastructure apportées par ces contributeurs constituent une **composante essentielle** de ce qui rend OmniRoute fiable et riche en fonctionnalités. Chaque pull request, chaque cas de test et chaque fichier de traduction i18n compte. L’open source est construit par des personnes comme elles.
---
## 💖 Sponsors
Un grand merci aux personnes qui financent OmniRoute de leur propre poche — chaque contribution permet au projet de rester gratuit, indépendant et dynamique.
Andrew
Andrew

💛 Sponsor mensuel actif
Vlad I
Vlad I

💛 Sponsor mensuel actif
Paco Cartones
Paco Cartones

💛 Sponsor ponctuel actif
Professor Igor Morais Vasconcelos
Prof. Igor Morais

💛 Ancien contributeur ponctuel
longtao
longtao

💛 Ancien contributeur ponctuel
… et d’autres personnes qui préfèrent rester anonymes 💛 Les sponsors GitHub publics ont été revérifiés le 2026-08-24. Le statut activeOnly de GitHub détermine les libellés d’activité ci-dessus ; les contributeurs ponctuels publics précédemment déclarés restent remerciés, tandis que les sponsors privés restent anonymes. 💖 Devenir sponsor → — chaque dollar permet à OmniRoute de rester gratuit et indépendant.

## 👥 Plus de 600 contributeurs
[![Contributeurs](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=639&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) Audit réalisé le 2026-08-24 à partir de la base figée ac02c5b42f, puis revérifié à la pointe active de release/v3.8.50, dafb4ae808 : 639 identités Git humaines normalisées — 407 apparaissent comme auteurs de commits (y compris le mainteneur) et 232 uniquement dans des lignes explicites Co-authored-by. Le recensement normalise les identifiants GitHub noreply, exclut 26 identités de bots, d’agents, de services ou d’espaces réservés, et ne fusionne pas les adresses e-mail ordinaires au seul motif que leurs noms d’affichage correspondent. ### Comment contribuer 1. Forkez le dépôt 2. Créez votre branche à partir de la pointe **active** de `release/vX.Y.Z` (et non de `main`) — consultez le [modèle de branches et de versions](docs/ops/BRANCHING_MODEL.md) 3. Créez votre branche de fonctionnalité (`git checkout -b feat/amazing-feature`) 4. Commitez vos modifications (`git commit -m 'feat: add amazing feature'`) 5. Poussez vers la branche (`git push origin feat/amazing-feature`) 6. Ouvrez une Pull Request avec **base = cette branche `release/vX.Y.Z`** Consultez [CONTRIBUTING.md](CONTRIBUTING.md) pour obtenir des directives détaillées. ### Publier une nouvelle version ```bash # Créer une version — npm publish s’exécute automatiquement VERSION=x.y.z gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes ```
## 📊 Étoiles Graphique de l’historique des étoiles
## 🌍 StarMapper StarMapper

## 🙏 Remerciements
OmniRoute repose sur les épaules de géants. Le projet a commencé comme un fork de **[9router](https://github.com/decolua/9router)** et un portage TypeScript du projet Go **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — puis, à partir de là, chacun des sous-systèmes ci-dessous s’est inspiré d’un projet open source qui l’avait précédé. Chacun d’entre eux a façonné une partie concrète d’OmniRoute. Nous tenons à tous les remercier. 🙏 > ⭐ nombre d’étoiles vérifié à partir de l’API REST de GitHub le 24 août 2026 — allez attribuer une étoile à ces projets. Ces nombres constituent un instantané exact à cette date et évolueront naturellement. ### 🧬 Filiation et passerelle
Projet⭐Comment il a inspiré OmniRoute
9router26,161Le projet d’origine sur lequel repose ce fork — étendu ici avec des API multimodales et une réécriture complète en TypeScript.
CLIProxyAPI48,497L’implémentation en Go qui a inspiré ce portage JavaScript / TypeScript.
LiteLLM57,100La passerelle d’IA dont le jeu de données public sur les tarifs alimente notre synchronisation du suivi des coûts et dont le modèle de normalisation des fournisseurs a guidé notre routage.
codex-chatgpt-web1,410Code source sous licence MIT adapté dans la passerelle intégrée ChatGPT Web → Codex Responses, notamment les adaptateurs de session de navigateur, de structuration des réponses, d’utilisation et de recherche sur le Web.
free-claude-code48,112Modèles portés dans la récupération des flux, les alias sans raisonnement, la recherche Web de secours, les limites par fenêtre glissante, la caviardisation des journaux et les flux renforcés du lanceur.
composer-api322Modèles de sélection d’outils, de contraintes de sortie et de validation d’outils de Cursor Composer adaptés dans l’exécuteur Cursor natif.
codex-multi-auth457Modèles de nouvelle connexion et de rotation des jetons d’actualisation portés dans la réauthentification OAuth de Codex.
opencode-anthropic-auth510Valeurs par défaut de transformation compatibles avec Claude Code et comportement des en-têtes de facturation généralisés dans la passerelle d’OmniRoute pilotée par la configuration.
grok2api-merged2Ses correspondances de modèles Grok, son générateur Statsig simulant une TypeError, ses valeurs par défaut pour les requêtes et les appareils, ainsi que son processeur de réponses NDJSON ont été adaptés de manière substantielle dans l’exécuteur Grok Web d’OmniRoute.
TQZHR/grok2api705La principale source de code transitive à l’origine de grok2api-merged ; ses implémentations des modèles, des en-têtes, des charges utiles, de Statsig et du processeur sont préservées dans la lignée de Grok Web.
chenyme/grok2api7,520La source sous-jacente sous licence MIT pour les valeurs par défaut des charges utiles et des appareils de Grok, le générateur Statsig et le processeur result.response repris par l’intermédiaire de TQZHR et de grok2api-merged.
grok2api-pro27Une source transitive créditée par grok2api-merged pour sa couche de pool de proxys ; OmniRoute conserve cette mention de filiation, mais ne revendique pas le portage d’un pool de proxys dans son exécuteur Grok Web délimité.
GrokProxy50Son proxy Grok authentifié par cookie et son modèle de diffusion en continu result.response.token ont guidé le transport Grok Web d’OmniRoute.
GrokBridge5L’implémentation Grok Web d’origine a pris en compte sa conception du service en amont HTTP/navigateur ; son chemin HTTP direct dérive de GrokProxy, aucun portage de code indépendant n’est donc revendiqué.
grok-web-api14Ses schémas Rust ChatOptions et d’enveloppe de réponse ont guidé les types TypeScript d’OmniRoute pour les requêtes Grok et les réponses en continu.
### 🗜️ Compression du contexte et des jetons — moteurs
Projet⭐Comment il a inspiré OmniRoute
Caveman100,538Le projet viral « pourquoi utiliser beaucoup jetons quand peu jetons faire affaire » — sa philosophie de langage d’homme des cavernes alimente notre mode de compression standard et plus de 30 règles de suppression des mots de remplissage et de condensation.
RTK – Rust Token Killer77,185Compression haute performance des sorties de commandes — a inspiré notre moteur RTK, notre DSL de filtrage JSON, la récupération de la sortie brute et le pipeline en cascade RTK → Caveman.
headroom67,310Compression réversible du contexte (SmartCrusher) — a inspiré notre moteur headroom et le modèle de marqueur de récupération ccr.
LLMLingua6,598Recherche sur la compression des invites (LLMLingua / LLMLingua-2) — a inspiré notre moteur llmlingua asynchrone, compatible avec le code et conçu pour rester opérationnel en cas d’échec.
llmlingua-2-js31Le portage JS/ONNX (MobileBERT / XLM-RoBERTa) utilisé comme moteur d’exécution dans un thread de travail pour notre moteur LLMLingua.
Troglodita40Compression de jetons en portugais brésilien — alimente notre pack linguistique pt-BR : réduction des pléonasmes et suppression des mots de remplissage adaptées à la grammaire du portugais brésilien.
ponytail108,957La compétence virale de « développeur senior paresseux » adepte de YAGNI — a inspiré notre style de sortie less-code : privilégier la plus petite modification fonctionnelle afin de réduire le code _généré_ (l’équivalent, côté sortie, de la prose concise de Caveman).
i-have-adhd23,526Son style de réponse axé sur l’action et adapté au TDAH a été intégré au style de sortie concis d’OmniRoute dans cinq langues.
### 🧩 Formats compacts, recherche sur les jetons et outils tenant compte du code
Projet⭐Comment il a inspiré OmniRoute
TOON25,233Notation d’objet orientée jetons — son modèle en colonnes, composé d’un en-tête et de lignes, a façonné notre étape de compactage tabulaire.
GCF – Graph Compact Format41Son format de graphe compact et sa conception fondée sur un profil générique ont influencé le compactage tabulaire d’OmniRoute et le format du codec Headroom.
gcf-typescript4L’implémentation TypeScript sous licence MIT, directement intégrée et étendue pour servir de codec à profil générique de Headroom.
token-optimizer-mcp494Cache Brotli/SQLite et delta de contexte par session — a inspiré notre moteur session-dedup.
token-savior1,122Compactage des sorties Bash et profils MCP — a inspiré notre discipline d’abandon de la compression et la réduction des manifestes d’outils MCP.
token-saver138Compression de sortie tenant compte du contenu, adaptée à chaque type de fichier et avec abandon en cas d’échec — a validé notre répartition par type et notre mécanisme d’omission en cas de gain insuffisant.
token-optimizer1,951« Trouvez les jetons fantômes » — son modèle de déport et d’identifiant récupérable a influencé notre réflexion sur le déport CCR.
TokenMizer28Un modèle de graphe de session et de déduplication des lignes entre plusieurs tours qui a influencé la conception de notre moteur session-dedup.
OmniCompress3JSON en colonnes sous Rust, récupération adressée par le contenu et déduplication entre messages — a validé la conception de nos moteurs headroom/ccr/session-dedup ainsi que l’invariant de stabilité du cache selon lequel « la forme compressée est indépendante de la position ».
mcp-compressor113Compression des schémas et descriptions d’outils MCP — a influencé notre réduction de la cardinalité des manifestes d’outils MCP.
RepoMapper197Classement de cartes de dépôt dans le style d’Aider — a influencé notre exploration de la cartographie des dépôts et du classement pour la récupération.
quiet-shell-mcp4Réduction déclarative des sorties shell via MCP — a validé notre compactage déclaratif des sorties Bash.
ts-morph6,162Boîte à outils pour l’API du compilateur TypeScript — a inspiré notre suppression des commentaires fondée sur un analyseur syntaxique, qui préserve les littéraux de chaîne, de modèle et d’expression régulière.
### 🧠 Mémoire et RAG
Projet⭐Comment il a inspiré OmniRoute
Mem063,902Couche de mémoire universelle — son modèle de proxy servant de frontière de lecture/écriture a façonné notre architecture de mémoire.
Letta (MemGPT)24,382Agents avec état et mémoire hiérarchisée — a inspiré notre modèle hiérarchisé de contrôle et de récupération du contexte (CCR).
WFGY1,781La taxonomie ProblemMap de 16 modes de défaillance récurrents des systèmes RAG/LLM — le vocabulaire commun utilisé dans notre guide de dépannage.
### 🛰️ Inspection du trafic, MITM et proxy transparent
Projet⭐Comment il a inspiré OmniRoute
llm-interceptor66L'interception et l'analyse MITM du trafic entre assistants de programmation et LLM ont contribué à définir les premières exigences de l'Inspecteur de trafic. Quatre modules précédemment dérivés — fusion SSE, normalisation des conversations, masquage des secrets et assainissement des en-têtes — ont été remplacés par des implémentations indépendantes en salle blanche, fondées sur des normes de protocole publiques. Les deux surfaces de transmission directe vers l'hôte (passthrough.ts et _internal/bypass.cjs) restent des implémentations internes à OmniRoute, classées indépendamment ; elles n'ont pas été réécrites dans le cadre de ce remplacement.
ProxyBridge5,995Routage transparent du proxy par processus — a inspiré notre arrêt MITM résistant aux plantages, les délais d'inactivité des sockets, l'attribution des processus via /proc et la capture TPROXY.
### 📚 Données des modèles, observabilité et interface utilisateur
Projet⭐Comment il a inspiré OmniRoute
models.dev6,555Base de données ouverte regroupant les spécifications, les tarifs et les capacités des modèles d'IA — synchronisée nativement avec notre catalogue de modèles.
React Flow / xyflow38,108La bibliothèque de graphes à base de nœuds qui alimente en temps réel notre Studio de compression et notre Studio de combinaisons/routage.
LangGraph40,314La visualisation en direct des graphes de flux de travail de LangGraph Studio a inspiré la vue en cascade en temps réel de nos Studios.
Langfuse33,592Son modèle d'observabilité trace → span → génération a façonné la vue en cascade de notre Studio de compression.
Kiali3,631Observabilité du maillage de services Istio — a inspiré nos badges de coupe-circuit et la représentation visuelle des arêtes en erreur dans le Studio de routage/combinaisons.
lobe-icons2,428Logos de marques d'IA/LLM utilisés pour afficher les icônes des fournisseurs dans l'ensemble de notre tableau de bord.
flag-icons12,354Fournit les drapeaux SVG sous licence MIT utilisés par le sélecteur de langue du README.
### 🛡️ Sécurité
Projet⭐Comment il a inspiré OmniRoute
awesome-secure-defaults721Une liste soigneusement sélectionnée de bibliothèques sécurisées par défaut qui guide nos choix en matière de sécurité (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
### 🧭 Outils complémentaires
Projet⭐Comment il a inspiré OmniRoute
ClawRouter6,564A inspiré la déduplication des requêtes, le repli d'urgence sans coût, les stratégies Auto-Combo enfichables et la classification multilingue des intentions.
Antigravity-Manager30,652Ses mécanismes de remappage des modèles tenant compte des comptes, de validation des chemins d'exécutables et de gestion des libellés de forfait ont influencé l'environnement d'exécution Antigravity d'OmniRoute.
vscode-antigravity-cockpit4,817Son format compact de compte à rebours avant la réinitialisation des quotas a inspiré l'affichage correspondant des limites des fournisseurs dans OmniRoute.
AionUi32,230Ses intégrations ACP ont inspiré la détection automatique par OmniRoute des agents CLI installés.
CodexBar20,507A permis d'identifier l'interface de quota de Grok Build ; OmniRoute a ensuite vérifié et corrigé indépendamment le format réellement utilisé sur le réseau.
## 📄 Licence Licence MIT — consultez le fichier [LICENSE](LICENSE) pour plus de détails. ---
**[⬆ Retour en haut](#-omniroute)** · Conçu avec ❤️ pour la communauté de l’IA open source. OmniRoute v3.8.51 · Node ≥22.22.2 · Licence MIT · omniroute.online