# README (Italiano) 🌐 **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) · 🇯🇵 [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) ---
Dashboard di OmniRoute

# 🚀 OmniRoute — Il gateway AI gratuito **Creato da [Diego Souza](https://github.com/diegosouzapw)** OmniRoute — Non smettere mai di programmare. Ogni strumento AI → 388 provider — 150+ gratuiti — attraverso un unico endpoint. Claude Code, Codex, Cursor, Cline, Copilot e Antigravity verso Claude / GPT / Gemini GRATUITI con fallback automatico. La compressione combinata RTK + Caveman consente di risparmiare il 15–95% dei token (~89% in media) — non raggiungere mai i limiti. 388 provider AI · oltre 150 piani gratuiti · ~1,62 miliardi di token gratuiti/mese · 20 strategie di routing · 0 $ per iniziare.
## 💰 ~1,62B di token / mese attraverso i free tier di terze parti
> **Usa i tuoi account dei provider.** Si tratta di un aggregato stimato tra free tier di terze parti idonei separatamente, non di un credito di token fornito da OmniRoute. Registrati, ottieni le credenziali quando richiesto e collega i provider che puoi utilizzare; ogni provider controlla i propri limiti, la disponibilità e i propri termini. > > Accumulare manualmente i free tier è complicato — decine di SDK, decine di limiti di frequenza e nessuna idea di quanti token si abbiano effettivamente a disposizione. OmniRoute cataloga **465 voci di free tier distribuite su 34 chiavi di pool ricorrenti** e calcola il totale dei token dai **17 pool con un budget mensile positivo pubblicato, più cinque limiti Groq per modello**, deduplicati in base al pool condiviso. Le quote che diventano disponibili solo dopo una verifica dell'identità regionale (oggi: ModelScope) vengono mostrate separatamente, +~6M dopo la verifica dell'identità regionale, e non vengono sommate al totale principale. Il risultato resta visibile nella dashboard (`/dashboard/free-tiers`). Scheda del budget dei free tier di OmniRoute: ~1,62B di token gratuiti al mese in modo costante, fino a ~2,22B nel primo mese con i crediti di registrazione, da 34 chiavi di pool ricorrenti documentate che coprono 465 voci di free tier catalogate, accessibili tramite un unico endpoint. Calcolo trasparente con deduplicazione dei pool — ogni pool condiviso viene conteggiato una sola volta, inclusi 17 pool ricorrenti con un budget mensile positivo pubblicato di token, più cinque limiti Groq per modello; 12 provider sono contrassegnati come da evitare nel catalogo dei rischi dei termini, quindi la decisione spetta a te. La barra del budget include Mistral 1B, Nara 210M, LLM7 150M, xKiro 150M, Groq 30M (cinque limiti per modello) e pool più piccoli, oltre ai crediti di registrazione del primo mese e ai provider permanentemente gratuiti senza un limite di token, mostrati separatamente per evitare che gonfino il totale principale. Valori utilizzati/rimanenti aggiornati in tempo reale su /dashboard/free-tiers. > Riepilogo animato della pagina `/dashboard/free-tiers` aggiornata in tempo reale. Metodologia completa (deduplicazione dei pool, livelli di credito, termini dei provider): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**. > > Queste cifre vengono riesaminate ogni due settimane confrontandole con il catalogo aggiornato e **possono variare in entrambe le direzioni** — se un provider termina un free tier, il numero diminuisce; se ne arriva uno nuovo, aumenta. Pubblichiamo ciò che il catalogo calcola effettivamente, mai un caso ottimistico arrotondato per eccesso.

⭐ Metti una stella al repository se OMNIROUTE ti ha aiutato a risparmiare e a rendere più semplice il tuo lavoro.

[![Stelle](https://img.shields.io/github/stars/diegosouzapw/OmniRoute?style=social)](https://github.com/diegosouzapw/OmniRoute) diegosouzapw%2FOmniRoute | Trendshift [![Posizione nella classifica della cronologia delle stelle](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) ### 💬 Unisciti alla community **👋 Segui il maintainer — ricevi per primo nuovi provider, release e consigli:** [![Segui Diego su 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/) [![Segui @diegosouzapw su 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 Global](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 Brasile](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) [![Sito web](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) **Domande, consigli sui provider, roadmap e supporto → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Globale](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brasile](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [Portale](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 Il gateway continua a crescere
| | v3.8.50 | **v3.8.51** | `v3.8.54+` | | ----------------------------------------- | :------------------------: | :---------: | :-------------------: | | 🌐 Provider | 352 | **358** | 388 | | 🧠 ID univoci dei modelli di chat | 1320 | **1374** | 1491 | | 🖼️ Bridge delle modalità | 🆕 visione + audio + video | ✓ | ✓ | | 📡 Catalogo gratuito Radar | 🆕 adesione volontaria | ✓ | ✓ | | ⚖️ Pianificazione consapevole delle quote | 🆕 Quota-Share | ✓ | ✓ | | 📊 Telemetria delle quote | 🆕 in tempo reale | ✓ | ✓ | | 🧰 Modalità headless | — | — | 🆕 `serve --headless` | | 🛤️ Infrastruttura della linea LTS | — | — | 🆕 canali di rilascio | | 🔎 API di individuazione dei modelli | — | — | 🆕 `/v1/models/query` | **→ [Roadmap](ROADMAP.md) — percorri la linea fino a `v3.9.0 LTS`**

## 🧩 Disponibile [![versione npm](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) ![NPM mensili](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) [![Licenza: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](LICENSE) ![Download Docker](https://img.shields.io/docker/pulls/diegosouzapw/omniroute?label=docker%20pulls&logo=docker&color=2496ED) ![Download Electron](https://img.shields.io/github/downloads/diegosouzapw/omniroute/total?style=flat&label=electron%20downloads&logo=electron&color=47848F)
🚀 Inizia 🚀 Avvio rapido 📦 Installa 🆓 Collega un provider
💡 Scopri 💥 La promessa 🤔 Perché OmniRoute 🏆 Cosa lo distingue
⚙️ Funzionalità 🎯 Combo 🌐 Provider 🔌 CLI & MCP
🗜️ Compressione 🖥️ Dove funziona 🔒 Privato
👀 Guardalo 🎬 In azione ✨ Novità 🤖 CLI compatibili
💚 Supporta 💚 Supporto / Dona 💬 Community 💖 Sponsor
📦 Progetto 🛠️ Stack tecnologico 📖 Documentazione 👥 Contributori
🌐 In 67 lingue

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) Bosanski (bs)


## 🆓 Installa, collega un provider, quindi instrada tramite un unico endpoint
Tre passaggi: installa e avvia OmniRoute, collega un provider idoneo con il tuo account o la tua chiave API, quindi configura il tuo strumento per usare localhost:20128/v1 con una chiave API OmniRoute e il modello auto. L'instradamento dipende dalle connessioni idonee disponibili e dai limiti del provider. ```bash # Dopo aver collegato un provider, copia la tua chiave OmniRoute da Dashboard → Endpoints: 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` richiede un percorso idoneo. Una nuova installazione potrebbe non avere destinazioni idonee senza chiave e un provider senza chiave potrebbe rifiutare i client di terze parti. I provider contrassegnati con `tos: avoid`, incluso Kiro, sono esclusi dall'instradamento automatico per impostazione predefinita; collegare un account non annulla questa impostazione. Consulta la [Guida ai piani gratuiti](docs/getting-started/FREE-TIERS-GUIDE.md) prima di scegliere un provider. 📦 Script quickstart da copiare e incollare per **Python, Node.js, PHP e cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 La promessa
La promessa — Un endpoint e 388 provider. Il fallback automatico mantiene l'instradamento attivo finché è disponibile un'altra destinazione operativa. Sei pilastri: fallback resiliente tra 388 provider · fino al 95% di risparmio sui token per i carichi di lavoro idonei · $0 per iniziare con oltre 150 piani gratuiti e 52 provider gratuiti ricorrenti/senza chiave per sempre · 39 integrazioni CLI/agent tramite un'unica configurazione · compatibilità con le API OpenAI, Claude, Gemini e Responses su /v1 · controlli per la produzione, inclusi circuit breaker, TLS stealth, MCP con 110 strumenti, A2A, memoria, guardrail, valutazioni e oltre 56.000 dichiarazioni di test statiche in oltre 7.800 file di test monitorati.

# 🤔 Perché OmniRoute?
Perché OmniRoute — smetti di gestire 10 dashboard, chiavi API scadute e fatture inattese. Dieci problemi quotidiani e relative soluzioni: quota in scadenza inutilizzata → massimizza gli abbonamenti; limiti di frequenza durante la programmazione → fallback automatico a 4 livelli (Abbonamento → API → Economico → Gratuito); output degli strumenti che consumano token → compressione RTK + Caveman (15–95%); API costose → instradamento ottimizzato per i costi; ogni strumento con la propria configurazione → un endpoint, una dashboard; IA bloccata → proxy a 3 livelli + TLS stealth; chiavi non funzionanti → resilienza a 3 livelli (circuit breaker, raffreddamento delle chiavi, esclusione temporanea del modello); team che condivide un unico abbonamento → pool di chiavi con quote a ripartizione equa; prompt che passano dal cloud di qualcun altro → approccio local-first con chiavi crittografate con AES-256-GCM; nessuna visibilità sulla spesa → analisi in tempo reale (utilizzo, quota, risparmi, latenza p95).
Flusso delle richieste di OmniRoute: il tuo IDE o CLI (Claude Code, Cursor, Cline…) chiama un unico endpoint locale (http://localhost:20128/v1); lo Smart Router di OmniRoute (compressione RTK + Caveman, 20 strategie di instradamento, circuit breaker, TLS stealth, MCP, A2A, guardrail) può effettuare il fallback tra 4 livelli di provider finché rimane disponibile una destinazione idonea e operativa — Livello 1 Abbonamento, Livello 2 Chiave API, Livello 3 Economico e Livello 4 Gratuito.

## 🤝 Supportato dai nostri Amici Open Source

Kimi K3 — Open Frontier Intelligence · 2.8T parameters · 1M-token context

> **Vuoi unirti come Amico Open Source?** Queste sono le aziende che supportano l'open source e aiutano a mantenere OmniRoute in movimento — e noi dichiariamo pubblicamente dove va ogni token che ci danno. Contattaci: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi (Moonshot AI)
Kimi
Moonshot AI

Amico Fondatore Open Source
Grazie a Kimi (Moonshot AI), il nostro Amico Fondatore Open Source, per aver supportato questo progetto! Kimi è il laboratorio di IA dietro le famiglie di modelli open-weight K2 e K3 — Kimi K3 offre una finestra di contesto da 1M di token, visione nativa e codifica a livello di frontiera a una frazione dei prezzi dei modelli chiusi, e funziona immediatamente con Claude Code, Codex e ogni strumento di codifica che OmniRoute serve.

Cosa alimenta il supporto di Kimi: I crediti API di Kimi alimentano la pipeline di rilascio convalidata dall'IA di OmniRoute — la fase di validazione della fusione alimentata da Kimi K3 che esamina ogni pull request prima che venga spedita — oltre allo sviluppo quotidiano delle funzionalità. Il supporto di prima classe per Kimi viene fornito su entrambi i binari: l'API Kimi diretta (kimi-k3) e il piano di codifica Kimi Code (OAuth e chiave API). OmniRoute è anche il primo progetto open-source brasiliano nel programma di supporto di Kimi. Ottieni una chiave API Kimi con il 15% di crediti extra →
Cheaper Inference
Cheaper Inference
cheaperinference.com

Amico Open Source
Grazie a Cheaper Inference, un Amico Open Source di OmniRoute, per aver supportato questo progetto! Cheaper Inference è un gateway classificato per costo che rivende 42 modelli all'avanguardia — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok e MiniMax — dietro un unico endpoint compatibile con OpenAI, instradando ogni richiesta al provider idoneo più economico senza mai addebitare un prezzo superiore a quello di listino del creatore del modello.

Supporto di prima classe in OmniRoute: Chat Completions, l'endpoint nativo /v1/responses, visione, tool calling e 3 modelli di immagine (grok-imagine, nano-banana-pro, nano-banana-2, raggiungibili come cheaperinference/<model>). Ottieni una chiave API →
I link taggati aff=omniroute sono link partner. Finanziano il progetto senza costi aggiuntivi per te.
🎟️ Promo Affiliati — coupon di iscrizione gratuiti da provider che non sponsorizziamo (clicca per espandere) Questa sezione è solo per codici di riferimento/coupon. Le partnership sponsorizzate si trovano in 🤝 Supportato dai nostri Amici Open Source sopra. OmniRoute non ha sponsorizzazioni o partnership con i provider elencati qui — questi sono coupon pubblici che chiunque può usare.
AgentRouter
AgentRouter
agentrouter.org
AgentRouter — iscrizione affiliato · $100 di crediti gratuiti all'iscrizione (server gratuito, aspettati una latenza maggiore — ottimo per test, non per la produzione). Supporto di prima classe in OmniRoute dalla v3.8.50: Chat Completions, il formato wire compatibile con Anthropic e il percorso compatibile con OpenAI. I modelli disponibili includono claude-opus-4-8, claude-opus-5, gpt-5.6-sol e altro. Prendi i tuoi $100 →

⚠️ Link affiliato — OmniRoute non ha sponsorizzazioni o partnership con questo provider.
Conosci un altro provider con un generoso coupon di iscrizione gratuito che beneficia gli utenti di OmniRoute? Apri un'issue e lo aggiungeremo qui.

## 🎯 Combo — La funzionalità di punta
Esempi animati per 18 delle 20 strategie di instradamento delle combo — un riquadro per strategia: priority, fill-first, weighted, round-robin, p2c, least-used, random, strict-random, cost-optimized, headroom, reset-window, reset-aware, context-relay, context-optimized, lkgp, auto, fusion, pipeline. cache-optimized e quota-weighted non sono animate; la tabella seguente descrive tutte e 20. > Una **combo** è una catena di modelli tra i quali OmniRoute instrada le richieste **automaticamente**. Se la quota si esaurisce, un provider non risponde o i costi aumentano, la combo può passare al successivo modello idoneo e operativo. 🛡️ ### ⚡ Configurazione zero — usa semplicemente `auto` Non serve creare alcuna combo. Imposta il modello su `auto` (o su una variante) e OmniRoute crea una combo virtuale a partire dai provider connessi, valutandoli in tempo reale:
ID modelloCosa ottimizza
auto🎯 Impostazione predefinita bilanciata (LKGP — mantiene l'ultimo provider funzionante)
auto/coding🧑💻 Pesi orientati alla qualità per la generazione di codice
auto/fast⚡ Prima la latenza più bassa
auto/cheap💰 Prima il costo per token più basso
auto/subscription🎟️ Solo la quota dell'abbonamento che già paghi — in caso di errore si blocca, senza mai ricorrere a un fallback a pagamento (guida)
auto/thrifty🪜 Prima la quota del piano, poi un livello alla volta verso le opzioni a pagamento più economiche — torna al piano dopo il ripristino della quota (guida)
auto/offline🔋 Prima il margine maggiore di quota / limite di frequenza
auto/smart🔭 Prima la qualità + 10% di esplorazione per individuare modelli migliori
auto/lkgp📌 Preferenza esplicita per l'ultimo provider funzionante noto
auto/chaos🧪 Distribuzione parallela a un gruppo di modelli (uno per provider, 5 per impostazione predefinita), restituisce una sola risposta; una chiamata upstream per ciascun modello del gruppo, non è un'iniezione di guasti
## ### 🔀 Oppure crea la tua combo — 20 strategie di instradamento Tutte e **20** le strategie — combinabili liberamente per ogni passaggio della combo:
# Strategia Cosa fa
1 priority Elenco ordinato con precedenza al primo target — esaurisce ciascuno prima di passare al successivo 🥇
2 fill-first Utilizza interamente la quota di ciascun target prima di passare al successivo
3 weighted Selezione casuale ponderata in base al peso di ogni target
4 round-robin Scorre ciclicamente i target in ordine
5 p2c Bilanciamento casuale del carico con scelta tra due opzioni
6 least-used Seleziona il target con il carico corrente più basso
7 random Selezione casuale uniforme (senza duplicati)
8 strict-random Selezione casuale senza eliminare le ripetizioni 🎲
9 cost-optimized Riduce al minimo il costo per richiesta in base ai prezzi aggiornati del catalogo 💸
10 headroom Seleziona il target con la quota residua maggiore
11 quota-weighted Ignora gli account esauriti, quindi seleziona in proporzione alla quota residua ÷ carico in corso — le conversazioni esistenti rimangono vincolate allo stesso target ⚖️
12 reset-window Preferisce il target la cui finestra di quota si ripristina prima
13 reset-aware Ordina in base al momento di ripristino della quota — prima le finestre più brevi 📊
14 context-relay Trasferisce il contesto tra i target per le conversazioni lunghe 🧠
15 context-optimized Seleziona il target più adatto alle dimensioni correnti del contesto
16 cache-optimized Vincola ogni prefisso di prompt riutilizzabile allo stesso account — massimizza i riscontri nella cache dei prompt 🎯
17 lkgp Ultimo percorso funzionante noto — mantiene l'ultimo provider che ha risposto correttamente, quindi applica le regole di fallback
18 auto Valutazione in tempo reale basata su 16 fattori per ogni connessione 🤖
19 fusion Distribuisce le richieste a un gruppo di modelli + un giudice sintetizza una sola risposta 🧬
20 pipeline Concatena i passaggi — l'output di ogni target alimenta quello successivo 🔗
Il motore Auto-Combo assegna un punteggio a ogni candidato in base a **16 fattori** (integrità, quota, costo, latenza, adeguatezza all'attività, qualità, disponibilità della sessione…) — consulta [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md). ## ### 🧱 La resilienza è integrata (3 livelli indipendenti) Resilienza di OmniRoute — 3 livelli indipendenti di autoripristino, il livello giusto per ogni errore. Livello 1: circuit breaker del provider (intero provider): scatta solo in caso di 408/5xx, soglie OAuth 8× / chiave API 12× / locale 2×, si reimposta dopo 60s/30s/15s passando a una sonda HALF-OPEN, ripristino differito; mentre è OPEN, la combinazione reindirizza al provider successivo. Livello 2: cooldown della connessione (una chiave/account): base di 5s per OAuth / 3s per chiave API, backoff esponenziale ×2 con protezione contro il thundering herd, il 429 rispetta Retry-After, un esito positivo azzera tutto lo stato di errore; una chiave in cooldown viene ignorata mentre le chiavi associate continuano a servire le richieste. Livello 3: blocco del modello (un modello): un 429 specifico del modello, un 404 locale o il rifiuto di una modalità bloccano soltanto quel modello, mai l'intera connessione. Gli stati terminali (escluso, scaduto, crediti esauriti) richiedono l'intervento dell'operatore, non un cooldown. 📖 [Motore Auto-Combo](docs/routing/AUTO-COMBO.md) · [Guida alla resilienza](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Cosa distingue OmniRoute
Cosa distingue OmniRoute — un'istantanea datata delle funzionalità rispetto a 9router, OpenRouter, CLIProxyAPI e LiteLLM per 13 capacità. OmniRoute: 388 provider, oltre 150 livelli gratuiti integrati, 20 strategie di routing, compressione dei token tramite 12 motori, server MCP integrato con 110 strumenti, protocollo per agenti A2A, memoria persistente, guardrail, agenti cloud, stealth dell'impronta TLS, Desktop/Termux/PWA e 67 locali dell'interfaccia utente per l'internazionalizzazione. OmniRoute è distribuito con licenza MIT e può essere ospitato autonomamente. Le funzionalità e i conteggi dei concorrenti possono cambiare; consulta la metodologia collegata. 📊 Metodologia completa e dettagli per funzionalità rispetto a 9router, OpenRouter, CLIProxyAPI e LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Sostieni OmniRoute OmniRoute è distribuito con licenza MIT e mantenuto apertamente. Se ti fa risparmiare tempo o denaro, ecco come contribuire a mantenerlo indipendente: scegli l'opzione che preferisci. Le sponsorizzazioni non influiscono mai sulla priorità di routing; offrono visibilità, non un posizionamento migliore.
⭐ Aggiungi una stella al repositoryGratis — aiuta davvero la visibilitàAggiungi una stella a OmniRoute
🐙 GitHub SponsorsUna tantum o mensile · nessuna commissione della piattaformagithub.com/sponsors/diegosouzapw
☕ Ko-fiDonazione rapida una tantum, senza registrazione per il donatoreko-fi.com/diegosouzapw
🧋 Buy Me a CoffeePiccolo gesto informalebuymeacoffee.com/diegosouzapw
🖐 LiberapayRicorrente · senza scopo di lucro · open sourceliberapay.com/diegosouzapw
🇧🇷 PIX (Brasile)Istantaneo, senza commissionichiave e codice QR qui sotto
₿ CriptovaluteBTC · ETH · USDT-TRC20 · USDC-Solanaindirizzi qui sotto
**🇧🇷 PIX** — istantaneo, senza commissioni (Brasile) Codice QR PIX di OmniRoute Chiave (casuale): `5d865059-bc44-483a-962d-43ceb80126eb` Pix copia e incolla: ``` 00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD ```
₿ Criptovalute — BTC · ETH · USDT-TRC20 · USDC-Solana (fai clic per espandere)
₿ BTCBitcoin (SegWit)bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETHEthereum (ERC20)0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDTTron (TRC20)TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDCSolana2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ Invia ogni valuta esclusivamente sulla rete indicata: l'invio sulla rete sbagliata può comportare la perdita dei fondi.
🐛 Hai trovato un bug o vuoi lasciare un feedback? Apri una [Discussione](https://github.com/diegosouzapw/OmniRoute/discussions).

Note per gli sviluppatori: Il progetto può generare un file locale .env durante npm install/postinstall per agevolare gli sviluppatori. Questo file viene intenzionalmente ignorato tramite .gitignore (consulta .gitignore) e non deve mai essere incluso in un commit; se viene incluso accidentalmente, sostituisci tutti i segreti esposti e rimuovi il file dalla cronologia. Consulta docs/DEVELOPER-ENVIRONMENT.md per indicazioni sulla gestione dei file di ambiente locali e dei segreti.

## 📡 OmniRoute Radar Il dato principale del piano gratuito rimane **~1,62 miliardi di token/mese**, in base al catalogo documentato e deduplicato per pool riportato sopra. I crediti temporanei di registrazione dei provider possono incrementare separatamente il primo mese fino a **~2,22 miliardi**. Radar è un overlay opzionale e firmato del catalogo, destinato a chi desidera informazioni più aggiornate sulla disponibilità dei modelli gratuiti tra una release di OmniRoute e l'altra; il catalogo della community e tutte le funzionalità gratuite esistenti rimangono gratuiti. I sostenitori possono ricevere il catalogo in tempo reale e ulteriori opportunità offerte dai provider. Il relativo limite massimo, separato e variabile, è **di circa 3 miliardi di token/mese al massimo**, a seconda della disponibilità dei provider. Tale limite non è garantito: i provider possono modificare quote, requisiti di idoneità, modelli o regioni in qualsiasi momento. Radar è facoltativo ed effettua esclusivamente richieste GET. Il client OmniRoute non carica prompt, traffico, configurazioni dei provider, telemetria sull'utilizzo o lo stato locale relativo alla chiusura degli annunci. Scopri i requisiti di idoneità e il catalogo attuale su **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Novità
> Ultime novità da **v3.8.20 → v3.8.54**. Cronologia completa in [`CHANGELOG.md`](CHANGELOG.md). - **⚖️ Routing `quota-weighted`** — la ventesima strategia combo ignora gli account esauriti, quindi seleziona tra quelli rimanenti in proporzione a quota residua ÷ carico in corso, mantenendo associate le conversazioni esistenti. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **🧰 Modalità headless** — `omniroute serve --headless` (oppure `OMNIROUTE_HEADLESS=1`) esegue solo il motore proxy `/v1/*`, con dashboard e sottosistemi esclusivi della dashboard disattivati. → [Modalità headless](docs/guides/HEADLESS.md) - **🔎 Individuazione dei modelli** — `/v1/models` filtra per funzionalità, contesto, tipo e testo, mentre `POST /v1/models/query` restituisce una breve lista deterministica con la stessa visibilità per chiave. → [Riferimento API](docs/reference/API_REFERENCE.md) - **🔑 Controllo del routing per chiave** — associa una chiave API a un singolo modello o combo con `forcedModel` e aggiungi o rimuovi atomicamente modelli e combo di una chiave (`/api/keys/{id}/access`). → [Riferimento API](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml) - **🛡️ Controlli PII più granulari** — selezione per tipo, fino a 20 pattern di mascheramento personalizzati convalidati e contatori di rilevamento per tipo; il mascheramento rimane comunque disattivato per impostazione predefinita. → [Guardrail](docs/security/GUARDRAILS.md) - **🌍 67 lingue** — dashboard, mirror della documentazione e CLI, con `npm run i18n:add-locale` che aggiunge una lingua ovunque con un solo comando. → [Guida i18n](docs/guides/I18N.md) - **🎛️ OmniConductor** — delega A2A in ingresso alla tua flotta di agenti, competenze Conductor nella Agent Card e un pannello della dashboard con chat vocale Faro push-to-talk. → [Server A2A](docs/frameworks/A2A-SERVER.md) - **🛂 Ammissione adattiva e protezione dal sovraccarico** — le richieste chat pesanti vengono accodate invece di restituire 503, con lease rolling RPM atomici per connessione. → [Guida alla resilienza](docs/architecture/RESILIENCE_GUIDE.md) - **🗂️ Ordinamento canonico di `/v1/models`** — un unico blocco contiguo raggruppato per provider per ciascun provider (con le combo in cima), stabile su ogni origine del catalogo. → [Riferimento API](docs/reference/API_REFERENCE.md) - **🗜️ Hardening della compressione** — protezione dall'espansione attiva per impostazione predefinita, pacchetti Caveman per DE / FR / JA + cinese (wényán), filtri RTK per Gradle e .NET. → [Compressione](docs/compression/COMPRESSION_ENGINES.md) - **💸 Costi flat-rate trasparenti** — i provider con abbonamento / piano di codifica mostrano **$0** nelle analisi dei costi; budget, quota e routing continuano a effettuare stime. → [Riferimento API](docs/reference/API_REFERENCE.md) - **⚖️ Routing Quota-Share** — suddivide equamente la quota di un account condiviso tra chiavi raggruppate, sfruttando le risorse disponibili affinché le porzioni inattive possano essere prestate. → [Guida alla resilienza](docs/architecture/RESILIENCE_GUIDE.md) - **🤖 Configurazione CLI/agent con un solo comando** — 15 comandi `setup-*` registrati; `omniroute run` avvia 7 CLI (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` supporta 11 destinazioni con un selettore interattivo di provider+modello e preferiti per contesto. → [Integrazioni CLI](docs/guides/CLI-INTEGRATIONS.md) - **🛰️ Modalità remota** — controlla un OmniRoute remoto con token limitati (`connect` / `contexts` / `tokens`) + un helper OAuth `antigravity` per installazioni VPS. → [Modalità remota](docs/guides/REMOTE-MODE.md) - **🧭 Routing automatico più intelligente** — combo `auto/:`, **Fusion** (pannello di modelli + valutatore), routing consapevole dell'attività, override per richiesta di modello / modalità / budget in USD. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **🗜️ Compressione estensibile** — 12 motori componibili + Compression Studios: LLMLingua-2, Ultra a due livelli, omniglyph, controllo della fedeltà per fase, GCF v3.2, editor con riordinamento tramite trascinamento. → [Compressione](docs/compression/COMPRESSION_ENGINES.md) - **🕵️ Decrittazione MITM trasparente (TPROXY)** — CLI di acquisizione che ignorano le variabili d'ambiente del proxy, con CA per-SNI + installer del trust store. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md) - **💸 Telemetria dei costi ovunque** — header di costo/utilizzo `X-OmniRoute-*` su ogni endpoint, header dei risparmi derivanti dagli HIT della cache, quote di spesa in USD per chiave. → [Riferimento API](docs/reference/API_REFERENCE.md) - **🧠 Memoria sotto il tuo controllo** — disattivata per impostazione predefinita, quantizzazione vettoriale int8 attivabile con decadimento tipizzato, `x-omniroute-no-memory` per richiesta. → [Memoria](docs/frameworks/MEMORY.md) - **🛡️ Sicurezza** — protezione contro il prompt injection su ogni route LLM (suite red-team), guardrail opzionale per il mascheramento delle credenziali (oscura chiavi API/segreti divulgati in entrambe le direzioni), ricerca web gratuita di ultima istanza con DuckDuckGo e gate di accesso OIDC opzionale per la dashboard (l'accesso con password rimane sempre disponibile). → [Guardrail](docs/security/GUARDRAILS.md) - **🖼️ Nuovi endpoint** — `/v1/ocr` (Mistral OCR) e `/v1/audio/translations` (in stile Whisper) completano la superficie multimediale. → [Riferimento API](docs/reference/API_REFERENCE.md) - **🎨 Generazione di immagini / video / audio** — un'unica API per i contenuti multimediali: xAI Grok Imagine e video Novita AI, ComfyUI, Magnific, Adobe Firefly, Segmind e provider vocali come ElevenLabs. → [Riferimento API](docs/reference/API_REFERENCE.md) - **🌍 Deployment e operazioni** — `basePath` per il reverse proxy, rilevamento automatico della lingua del browser, tracciamento dei dispositivi per chiave, trust MITM senza privilegi root, localizzazione zh-TW. → [Ambiente](docs/reference/ENVIRONMENT.md) - **🤝 Più provider e agenti** — agenti cloud (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) con browser + accesso OAuth, card nativa per Ollama, Claude Opus 5 e Sonnet 5, partnership ufficiale con Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… e un catalogo aggiornato di **388 provider**. → [Provider](docs/reference/PROVIDER_REFERENCE.md) - **📡 Trasparenza del routing** — ogni risposta include un header `X-OmniRoute-Decision` che indica la strategia/provider/latenza che l'ha gestita, una nuova strategia combo `cache-optimized` + il fattore `cacheAffinity` di Auto-Combo reindirizza le richieste ripetute alla connessione che contiene il prefisso nella cache e un endpoint in sola lettura `/v1/auto-combo/{channel}/candidates` espone il pool di candidati attivo di un canale `auto/*`. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **⚡ Prestazioni e infrastruttura locali** — Redis locale con un clic, strumenti di distribuzione relay per Cloudflare Workers / Deno Deploy, Bifrost e Mux come servizi incorporati supervisionati. → [Servizi incorporati](docs/frameworks/EMBEDDED-SERVICES.md) - **🧩 Incluso anche** — framework per plugin e marketplace, framework di competenze Omni/Agent/GitHub, integrazione con i vault di Obsidian (22 strumenti MCP), API Batch e Files compatibili con OpenAI, cache semantica delle risposte, gamification con classifiche, rilevamento degli agenti ACP (15 agenti integrati), esportazione pianificata dei log in BigQuery, fan-out parallelo multi-modello `auto/chaos`, un bridge per bot Telegram, un gestore delle versioni integrato nell'app e classifiche dei provider gratuiti LMArena-ELO. → [Documentazione](docs/README.md)
## 🤖 CLI e agenti di codifica compatibili > Una sola configurazione — `http://localhost:20128/v1` — e **ogni** IDE o CLI AI funziona con modelli gratuiti e a basso costo.
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
                           
+ funziona anche con · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · qualsiasi strumento compatibile con OpenAI
📖 Configurazione per singolo strumento per tutti i 39 strumenti (28 CLI Code + 11 CLI Agents) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 Plugin OpenCode → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)

**Avvia qualsiasi CLI supportata tramite OmniRoute con un solo comando** — nessun file di configurazione scritto, credenziali iniettate per processo, Qwen/Gemini ottengono una home isolata temporanea: ```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" # Oppure scegli provider+modello in modo interattivo e scrivi la configurazione propria dello strumento: omniroute configure codex # anche: claude opencode qwen aider goose gemini cline continue kilo 5dive ``` Ogni comando rispetta il contesto remoto attivo (`omniroute connect `), `--dry-run` mostra in anteprima l'ambiente/argomenti esatti senza eseguire, e `--api-key-env NAME` mantiene i segreti fuori dalla cronologia della tua shell. → [Integrazioni CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 388 provider AI — 153 contrassegnati come gratuiti nel catalogo
> **388 provider registrati** nelle raccolte canoniche di chat, media, ricerca, locali, agenti cloud e sistema, inclusi **153 con metadati di rilevamento `hasFree: true`**. Il registro dei modelli di chat comprende **239 provider / 3.059 coppie provider-modello distinte / 1.475 ID modello grezzi**; il catalogo separato dei budget gratuiti conta **471 righe per modello**, **34 pool ricorrenti** e **52 provider gratuiti ricorrenti/senza chiave per sempre**. Questi denominatori sono diversi per progettazione; le definizioni e i calcoli deduplicati per pool sono disponibili in [Riferimento provider](docs/reference/PROVIDER_REFERENCE.md) e [Livelli gratuiti](docs/reference/FREE_TIERS.md).
### 🏢 Ogni grande laboratorio — attraverso un unico endpoint
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
                           
…e oltre 350 altri — ogni icona viene risolta in tempo reale dal catalogo dei provider della dashboard. 📖 [Riferimento provider](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Gratis per sempre — $0, nessuna carta di credito
OpenCode Zen
OpenCode Zen
DeepSeek V4, Nemotron 3
Nessun limite di token
Kilo Code
Kilo Code
Router automatico, Tencent Hy3
Gratis per sempre
Requesty
Requesty
GPT-OSS 120B, Nemotron
Gratis per sempre
SiliconFlow
SiliconFlow
DeepSeek V3.2 / R1
Piano gratuito
Z.AI GLM
Z.AI GLM
GLM-4.7 / 4.5-Flash
Gratis per sempre
Baidu ERNIE
Baidu ERNIE
ERNIE 4.0
Gratis per sempre
Qoder AI
Qoder AI
Qwen3-Max, Kimi-K2
GRATIS illimitato
Pollinations
Pollinations
GPT, Llama, Claude
Nessuna chiave necessaria
Cloudflare AI
Cloudflare AI
Oltre 50 modelli
10.000 neuroni/giorno
NVIDIA NIM
NVIDIA NIM
GLM, MiniMax
~40 RPM gratuiti
Cerebras
Cerebras
GLM 4.7, GPT-OSS
Credito una tantum di $5; carta necessaria
OpenRouter
OpenRouter
modelli :free
+$10 → RPM più elevato
📖 Catalogo completo leggibile dalle macchine → [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ Dove funziona OmniRoute : ovunque
> La stessa app, la tua macchina, le tue regole. Da un'installazione npm globale a** il tuo telefono** tramite Termux.
Piattaforma Installa evidenza
📦 npm (globale) npm install -g omniroute Un comando, qualsiasi OS
⚡ Bun (globale) bun add -g omniroute Stesso tarball del registro, installazioni più veloci
🐳 Docker docker run … diegosouzapw/omniroute Multi-arco AMD64 + ARM64
🖥️ Desktop (Electron) npm esegui elettrone:build Finestra nativa + vassoio di sistema — Windows / macOS / Linux
🎩 Barra dei menu (OmniRouteTray) brew install --cask zoispag/tap/omniroute-tray Supervisiona & aggiorna automaticamente il server — macOS
💪 ARM nativo arm64 Raspberry Pi, server ARM, Apple Silicon
📱 Android (Termux) pkg install nodejs && npx -y omniroute Esegue sul tuo telefono , 24/7, no root
📲 PWA"Aggiungi alla schermata iniziale" Schermo intero, offline, installabile dal browser
🧩 OpenCode plugin @omniroute/opencode-provider Integrazione OpenCode nativa
🤖 VS Codice Copilot Chat installa OmniCopilot estensione Ogni modello OmniRoute nel selettore chat nativo Copilot : stabile & Insider
🛠️ Dal sorgente npm installa && npm esegui dev Hackalo, contribuisci
📖 [Docker Guida](docs/guides/DOCKER_GUIDE.md) · [Desktop](electron/README.md) · [Barra dei menu](https://github.com/zoispag/omniroute-tray) · [Termux](docs/guides/TERMUX_GUIDE.md) · [PWA](docs/guides/PWA_GUIDE.md) · [OpenCode](docs/frameworks/OPENCODE.md)
### 🧩 Novità: OmniRoute all'interno della chat Copilot nativa di VS Code
> Nessuna nuova barra laterale, nessuna nuova chat UI : ogni modello servito da OmniRoute viene visualizzato direttamente nel file**Copilot Selettore modello di chat che già usi** . A partire dal codice VS 1.122, i modelli dei provider funzionano senza accesso GitHub o abbonamento Copilot : modalità agente, chiamata allo strumento e visione, gratuitamente. Installa il** [OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)** estensione, puntala sul tuo server OmniRoute (il valore predefinito è `localhost:20128`), quindi apri Copilot Chat → selettore modello →** Gestisci modelli…** →**OmniRoute** . < td allinea ="sinistra">VS Codice: stabile & Insider < td allinea ="sinistra">Cursor, Windsurf, VSCodium, Theia, code-server, Gitpod, Antigravity, Kiro…
Negozio Link Funziona con
🧩 VS Mercato dei codici Installa →
🔓 Apri registro VSX Installa →
Dall'interno dell'editor: apri il file** Estensioni** visualizzare, cercare** "OmniRoute"** , fare clic** Installare** - funziona allo stesso modo su entrambi i negozi. Fonte, problemi e runbook di pubblicazione in diretta su [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot). 📖 [VS Codice Copilot Guida alla chat](docs/guides/VSCODE-COPILOT.md) : configurazione, cosa mostra il selettore, dashboard in una scheda, risoluzione dei problemi
### 🎩 Novità: OmniRouteTray : il tuo gateway, situato nella barra dei menu
> `omniroute serve` è più felice quando è sempre acceso.** [OmniRouteTray](https://github.com/zoispag/omniroute-tray)** lo trasforma in un'app della barra dei menu imposta e dimentica per macOS: avvia il server, lo mantiene attivo durante i riavvii, lo aggiorna in posizione e mette il budget del tuo token live a un clic di distanza —** nessuna finestra del terminale lasciata aperta, niente `npm install -g omniroute` a cui fare da babysitter.** Costruito con [Tauri v2](https://v2.tauri.app/) (un core Rust delle dimensioni di un errore di arrotondamento), fornisce il proprio runtime Node 24 firmato e gestisce un'installazione OmniRoute di proprietà dell'app, quindi non combatte mai il tuo `node`/`bun` globale. Esso** condivide la configurazione e il database `~/.omniroute/` esistenti** - quindi è lo stesso OmniRoute che già corri, solo con il cappello in testa. 🎩
Cosa fa Come
🟢 Supervisiona il server Genera omniroute serve , adotta un'istanza già in esecuzione invece di duplicarla
📊 Utilizzo in tempo reale a colpo d'occhio Barre delle quote del provider, Claude session/weekly limiti con conto alla rovescia reimpostato, suddivisione dei costi in 30 giorni
🔄 Aggiornamenti automatici sul posto Installazione graduale, scambio atomico, rollback in caso di errore: sempre sulla versione più recente
🚀 Avvia all'accesso Avvio opzionale all'accesso; solo nel vassoio, nessuna icona nel dock
🩺 Doctor & logs Diagnostica con un clic e accesso al log del server
```sh brew install --cask zoispag/tap/omniroute-tray ``` Preferisci un download? Prendi l'ultimo .dmg da Rilascia . Fonte, problemi e costruzione i documenti vivono su zoispag/omniroute-tray.
💛 Un progetto comunitario di @zoispag — non una versione ufficiale OmniRoute.

## 🔒 Privato e local-first
Privato e local-first — il gateway e il piano di controllo di OmniRoute vengono eseguiti sulla tua macchina. I prompt vengono inviati al provider upstream selezionato per ciascuna richiesta; OmniRoute non aggiunge alcun passaggio ospitato per l'elaborazione dei prompt e la telemetria è disabilitata per impostazione predefinita. Le credenziali sono crittografate a riposo con AES-256-GCM; i controlli includono limitazione dell'ambito delle chiavi API, filtraggio IP, limiti di frequenza, protezioni contro la prompt injection, rimozione degli header upstream, oscuramento opzionale dei dati PII, errori anonimizzati e un audit trail SQLite locale. OmniRoute è distribuito con licenza MIT e può essere ospitato autonomamente. 📖 [Autorizzazione](docs/architecture/AUTHZ_GUIDE.md) · [Misure di sicurezza](docs/security/GUARDRAILS.md) · [Conformità](docs/security/COMPLIANCE.md)
## 🔌 CLI completa + A2A e MCP
> Oltre al server, OmniRoute è una **console completa da riga di comando** con **oltre 80 comandi**, più protocolli aperti per agenti che consentono a un agente IA di gestirla **in autonomia**. ### ⌨️ Una vera CLI (non solo `start`) ```bash omniroute # avvia il gateway + la dashboard (porta 20128) omniroute chat # client di chat TUI interattivo (comandi slash: /model /combo /skill /memory) omniroute setup # procedura guidata per la prima configurazione omniroute doctor # diagnostica provider, porte e dipendenze native ``` ### 🛰️ Modalità remota — esegui la CLI qui e OmniRoute su un VPS OmniRoute è su un server? Gestiscila dal tuo laptop con la **stessa CLI**. Accedi una sola volta con un token di accesso con ambito limitato; da quel momento ogni comando verrà eseguito sul server remoto. ```bash omniroute connect 192.168.0.15 # password → token con ambito limitato, salvato come contesto omniroute models # ← viene eseguito sul server REMOTO omniroute configure codex # ← seleziona un modello remoto e scrive un profilo Codex locale omniroute tokens create --name ci --scope read # genera token con privilegi più limitati per altre macchine omniroute contexts use default # ← torna al server locale ``` I token hanno ambito `read` / `write` / `admin`; le route che avviano processi rimangono accessibili solo tramite loopback. 📖 [Modalità remota](docs/guides/REMOTE-MODE.md)
Demo animata nel terminale della CLI di OmniRoute — omniroute providers list, omniroute combo list e omniroute health — che scorre gli 89 comandi principali disponibili: 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 …
### 🤝 Connetti un agente — e controllerà autonomamente OmniRoute Esponi OmniRoute tramite **MCP**, **A2A**, una **REST API**, **webhook** o una **CLI remota**: qualsiasi agente compatibile (o il tuo codice) avrà accesso all'intero gateway, inclusi routing, provider, combinazioni, cache, compressione e memoria, in piena autonomia. Gli endpoint HTTP riportati di seguito sono disponibili all'indirizzo `http://localhost:20128`.
InterfacciaEndpoint / comandoUtilizzo
🧰 MCP (stdio)omniroute --mcpIntegralo con Claude Desktop, Cursor o qualsiasi client MCP
🌊 MCP (HTTP)/api/mcp/streamMCP remoto — 110 strumenti, 33 ambiti (applicazione opzionale), audit trail completo
📡 MCP (SSE)/api/mcp/sseTrasporto MCP in streaming
🤝 A2A/.well-known/agent.jsonComunicazione agente-agente, JSON-RPC 2.0 + SSE, 6 competenze
🌐 REST API/v1/*Compatibile con OpenAI — chat, embedding, immagini, audio, OCR
🔔 Webhook/api/webhooksInvia eventi relativi a richieste e quote a Slack, Discord, Telegram o qualsiasi URL
🛰️ CLI remotaomniroute connect Gestisci un'istanza remota con token di accesso con ambito limitato
```bash # Fornisci a Claude Code l'intero set di strumenti OmniRoute tramite MCP: claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream ``` 📖 [Server MCP](docs/frameworks/MCP-SERVER.md) · [Server A2A](docs/frameworks/A2A-SERVER.md) · [Protocolli per agenti](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Risparmia il 15–95% di token — automaticamente
### 📖 Come funziona — pipeline, architettura e calcolo del risparmio Pipeline di compressione OmniRoute: una richiesta client illustrativa di 10.000 token attraversa 12 motori componibili — Session-Dedup, CCR, Lite, RTK, Responses Tool Output, Headroom, Relevance, Caveman, Aggressive, LLMLingua-2, Ultra e OmniGlyph — e può raggiungere il provider con circa 1.080 token nell'esempio documentato con applicazione in sequenza. I contenuti strutturati sono protetti da guardie di preservazione e controlli di fedeltà per ogni passaggio; le modalità esplicitamente con perdita o sperimentali possono trasformare i contenuti idonei. La combinazione predefinita in sequenza esegue `RTK → Caveman`. Quando entrambi agiscono sullo stesso payload di strumento/contesto, i risparmi si cumulano: ```txt combined = 1 − (1 − RTK) × (1 − Caveman_input) average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2% range = 78.4 – 94.6% ``` I blocchi di codice, gli URL, il JSON e i dati strutturati sono **sempre protetti** dal motore di preservazione. > **Perché usare molti token quando ne bastano pochi?** Ogni richiesta passa attraverso la pipeline di compressione di OmniRoute **in modo trasparente** — senza modifiche al client. Ora è una **catena di 12 motori componibili** che vengono eseguiti in ordine e possono essere combinati liberamente in base alla combinazione di routing — basandosi sulle idee di [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua) e [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR). ### 🧱 La catena dei 12 motori I motori vengono eseguiti nell'ordine della pipeline; ciascuno può essere attivato o disattivato e configurato indipendentemente per ogni combinazione:
#MotoreCosa fa
1Session-DedupRimuove i contenuti ripetuti tra i turni (indirizzati al contenuto, tra turni diversi)
2CCRArchivia i blocchi di grandi dimensioni dietro marcatori di recupero, acquisendoli su richiesta
3LiteRimozione degli spazi vuoti e riduzione degli URL delle immagini (baseline a bassa latenza)
4RTKFiltraggio intelligente dei risultati degli strumenti, deduplicazione e troncamento (consapevole dei comandi)
5Responses Tool OutputJSON con priorità alla conservazione senza perdite + compressione diagnostica vincolata per gli output di shell/patch/ricerca/build (Responses API)
6HeadroomCompattazione senza perdite delle tabelle di array JSON (~30%) tramite un codec GCF incluso nel progetto
7RelevanceValutazione estrattiva delle frasi rispetto all'ultima query dell'utente
8CavemanCompressione del testo in prosa basata su regole (~65–75% sull'output)
9AggressiveRiepilogo + invecchiamento progressivo dei turni precedenti
10LLMLingua-2Potatura semantica ML tramite MobileBERT ONNX — sicura per il codice, asincrona
11UltraPotatura euristica dei token con un livello opzionale basato su un modello ridotto (SLM)
12OmniGlyphCodifica sperimentale del contesto come immagine per Claude Fable 5, misurata sul collegamento diretto Anthropic; i transformer GPT 5.6 restano in modalità fail-closed in attesa delle ricevute del provider. Quattro profili di compressione (predefinito aggressivo, bilanciato, sicuro per il codice, passthrough) (il più aggressivo; attivazione esplicita)
I blocchi di codice, gli URL e i dati strutturati vengono **sempre conservati** byte per byte. I **preset con un clic** combinano i motori:
ModalitàRisparmioIdeale per
🪶 Lite~15%Impostazione predefinita sicura, sempre attiva
🪨 Standard (Caveman)~30%Programmazione quotidiana
⚡ Aggressive~50%Sessioni lunghe con molti strumenti
🔥 Ultra~75%Risparmio massimo
🧰 RTK60–90%Output di shell/test/build/git
🔗 Stacked (RTK → Caveman)78–95%Prompt misti + log degli strumenti
**Esempio reale — modalità Standard:** > **Prima (69 token):** _"Il motivo per cui il tuo componente React esegue nuovamente il rendering è probabilmente che stai creando un nuovo riferimento a un oggetto a ogni ciclo di rendering. Quando passi un oggetto inline come prop, il confronto superficiale di React lo considera un oggetto diverso ogni volta, attivando un nuovo rendering. Ti consiglierei di usare useMemo per memorizzare l'oggetto."_ > > **Dopo (19 token):** _"Nuovo riferimento all'oggetto a ogni rendering. Prop oggetto inline = nuovo riferimento = nuovo rendering. Racchiudilo in useMemo."_ > > **Stessa risposta. Il 72% di token in meno. Nessuna perdita di accuratezza.** ✅ **Esempio PT-BR — modalità [Troglodita](https://github.com/leninejunior/troglodita):** > **Prima (42 token):** _"Il problema è che il componente esegue nuovamente il rendering perché a ogni ciclo di rendering viene creata una nuova referenza a un oggetto. Consiglierei di usare useMemo."_ > > **Dopo (12 token):** _"Re-render: nuova ref a ogni ciclo (oggetto inline ricreato). Usare `useMemo`."_ > > **Stessa risposta. ~70% di token in meno. Precisione tecnica intatta.** ✅
### 🎚️ Oltre i motori — stili di output, la manopola adattiva e il controllo per richiesta I 12 motori precedenti riducono ciò che va **dentro**. Altri tre livelli definiscono **come**, **quando** e cosa viene restituito: - **🪄 Stili di output** _(orientamento sull'asse dell'output)_ — inseriscono istruzioni deterministiche e sicure per la cache che modellano la risposta; sono combinabili, ciascuno con intensità `lite` / `full` / `ultra`. Aggiungere uno stile richiede una sola voce nel registro: - **Prosa concisa** — elimina riempitivi / articoli / esitazioni; mantiene esatto il contenuto tecnico. - **Meno codice** — YAGNI da "senior dev pigro": la modifica funzionante più piccola, senza impalcature non richieste. - **Coda di cavallo (senior dev pigro)** — percorre la scala YAGNI, risolve la causa principale, produce il diff funzionante più piccolo. - **Ho l'ADHD (prima l'azione)** — la prossima azione viene prima, passaggi numerati, un unico prossimo passo concreto, nessun preambolo. - **CJK conciso (文言)** — stile ultra-conciso in cinese classico (vincolato alla lingua `zh`). - **🎯 Budget di contesto adattivo** _(la manopola)_ — invece di una singola soglia di token attiva/disattiva, aumenta gradualmente i motori più economici e con minore perdita solo quanto basta per **rientrare nella finestra di contesto del modello**. Policy: `reserve-output` (predefinita, consapevole del modello) · `percentage` · `absolute`. Modalità: `floor` (garantisce il rientro) · `replace-autotrigger` (vince la tua scelta esplicita) · `off` (soglia legacy). - **🎛️ Dove viene decisa la compressione** _(precedenza, da alta a bassa)_ — intestazione per richiesta `x-omniroute-compression` › override della combinazione di routing › profilo nominato attivo › attivazione adattiva / automatica › impostazione predefinita del pannello › off. Il piano applicato viene restituito nell'intestazione di risposta `X-OmniRoute-Compression: ; source=`. Attiva automaticamente in base alla soglia di token, aziona la manopola adattiva, fissa un profilo nominato, imposta un valore una tantum per richiesta oppure assegna una pipeline a ogni combinazione di routing — scegli ciò che si adatta meglio al carico di lavoro. Un **eval harness** offline opzionale (`npm run eval:compression`) valuta fedeltà e risparmio su un corpus fissato prima che tu promuova una modifica. 📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Avvio rapido
**1) Installa ed esegui** ```bash npm install -g omniroute omniroute ``` > 💡 Vedi `npm warn ERESOLVE` o avvisi sulle dipendenze peer? [Sono innocui](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated). > **Usi npm 11 o versioni successive?** npm potrebbe bloccare gli script del ciclo di vita dei pacchetti, a meno che non siano autorizzati. Il `postinstall` di OmniRoute (`node scripts/build/postinstall.mjs`) è necessario per preparare i file del runtime nativo. Durante l'installazione globale, autorizza i pacchetti indicati nell'avviso di npm. Per l'insieme di pacchetti segnalato da OmniRoute 3.8.54: > > ```bash > npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute > ``` > > Per riutilizzare questo elenco di autorizzazioni nelle future installazioni globali, configuralo una volta, quindi installa normalmente: > > ```bash > npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user > npm install -g omniroute > ``` > > L'elenco delle dipendenze può cambiare tra una versione e l'altra; se npm segnala un elenco diverso, usa i nomi dei pacchetti riportati in quell'avviso. Autorizzare un pacchetto consente l'esecuzione dei relativi script di installazione. > **Usi Gemini Web o un altro provider basato su cookie web?** Il pacchetto npm include > Playwright, ma non il relativo binario Chromium. Consulta la nota > [Configurazione di Playwright Chromium](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium) > prima di effettuare la prima richiesta al provider web. Dashboard all'indirizzo `http://localhost:20128` · API all'indirizzo `http://localhost:20128/v1`. **2) Collega un provider idoneo usando il tuo account** Dashboard → **Providers** → scegli un provider i cui termini e quota attuali siano adatti al tuo caso d'uso → aggiungi la relativa chiave API o completa la procedura dell'account. I piani gratuiti potrebbero richiedere registrazione, approvazione o un metodo di pagamento. Consulta la [Guida ai piani gratuiti](docs/getting-started/FREE-TIERS-GUIDE.md); la disponibilità senza chiave non è garantita e i provider contrassegnati con `tos: avoid` sono esclusi da `auto` per impostazione predefinita. **3) Configura il tuo strumento di coding** ```txt Base URL: http://localhost:20128/v1 API Key: [copy from Dashboard → Endpoints] Model: auto (routes among eligible connections — or choose provider/model) ``` **4) Verifica che funzioni** ```bash curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY" ``` Dovresti vedere elencati i modelli collegati. 🎉 Tutto qui: inizia a programmare e OmniRoute eseguirà automaticamente il routing e il fallback per te. Se il tuo client non può inviare intestazioni personalizzate, OmniRoute espone anche alias di compatibilità tokenizzati: ```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 ``` Usali solo per i client che non possono aggiungere `Authorization: Bearer ...`. L'autenticazione tramite intestazione resta la modalità preferita.
## 📦 Altri metodi di installazione — Docker, sorgenti, 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` segue la versione SemVer stabile **pubblicata** più recente. Non segue il branch git `main`. Usa `:X.Y.Z` per GitOps. Consulta [Canali di rilascio Docker](docs/guides/DOCKER_GUIDE.md#release-channels). L'immagine imposta **`OMNIROUTE_MEMORY_MB=1024`**. È sufficiente per la dashboard e una chat leggera. Gli **agenti di programmazione** (`POST /v1/responses` da Claude Code, Codex, Grok, …) richiedono un heap V8 molto più grande, altrimenti il processo genera un `FATAL ERROR` a circa 12 GiB con due contesti lunghi sovrapposti. Dimensiona il container al di sopra dell'heap (i buffer nativi risiedono al di fuori di V8): | Carico di lavoro | Heap (`-e OMNIROUTE_MEMORY_MB`) | Container (`--memory`) | | ------------------------------------- | ----------------------------------------- | ---------------------- | | Dashboard / chat leggera | `1024` (valore predefinito dell'immagine) | ≥2 g | | Un agente di programmazione | `8192` | ≥10 g | | Due `/v1/responses` lunghi simultanei | `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 ``` Tabella completa: [Guida Docker — RAM di runtime](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents). > **Canale Docker di pre-release:** `diegosouzapw/omniroute:next` e > `diegosouzapw/omniroute:next-web` seguono il branch `release/v*` predefinito > corrente. Questi tag modificabili sono destinati esclusivamente al test di correzioni non ancora rilasciate e > **non sono supportati in produzione**. Consulta > [Canali di rilascio Docker](docs/guides/DOCKER_GUIDE.md#release-channels). **🥟 Bun** L'installazione standard con `bun install` e quella globale (`bun install -g omniroute`) sono supportate tramite il rilevamento del runtime Bun: - **`bun:sqlite` integrato**: durante l'esecuzione con Bun, OmniRoute utilizza il driver `bun:sqlite` integrato di Bun, ricorrendo a `better-sqlite3` su Node.js oppure a `sql.js`. - **Selezione automatica del bundler Webpack in sviluppo**: la modalità di sviluppo (`bun run dev`) rileva automaticamente Bun e disabilita Turbopack a favore di Webpack per evitare incompatibilità con i binding nativi V8. Le build di produzione (`bun run build`) rispettano esattamente `OMNIROUTE_USE_TURBOPACK` come su Node: Turbopack per impostazione predefinita, `OMNIROUTE_USE_TURBOPACK=0` per compilare con Webpack (`Dockerfile.bun` lo espone come `--build-arg`). - **Dockerfile dedicato a Bun**: `Dockerfile.bun` multi-stage per distribuzioni di produzione native con Bun (`docker build -f Dockerfile.bun -t omniroute:bun .`). ```bash # Installa ed esegui con Bun bun install bun run dev ``` **🛠️ Dai sorgenti** ```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 # Utilizzando i flake di Nix nix develop npm run dev # Oppure utilizzando devbox devbox run npm run dev ``` 📖 [Guida Docker](docs/guides/DOCKER_GUIDE.md) — Profili Compose, HTTPS con Caddy, tunnel Cloudflare. **🦭 Podman** ```bash # 1. Prepara la directory dei dati montata tramite bind mkdir -p data # 2. Solo Linux + Podman rootless locale (mai un client Podman Machine remoto): podman unshare chown 1000:1000 ./data # 3. Imposta l'indicazione del runtime, crea l'immagine Compose locale e avvia echo "CONTAINER_HOST=podman" >> .env podman compose --profile base up -d --build ``` Su macOS o Windows, Podman utilizza una Podman Machine remota: salta `podman unshare` e segui le [indicazioni sulla directory dei dati specifiche per la topologia](contrib/podman/README.md#data-directory-permissions-by-topology). 📖 [Guida Podman](contrib/podman/README.md) — Build Compose, Podman Machine e configurazione Quadlet di Linux/systemd. **⚡ Installazione più veloce / leggera (senza build nativa)** Il motore SQLite nativo (`better-sqlite3`) è una dipendenza **opzionale**, quindi un'installazione globale non rimane mai bloccata durante la compilazione dai sorgenti: utilizza un binario precompilato quando ne esiste uno compatibile con la piattaforma/Node in uso; in caso contrario, passa automaticamente a un motore JavaScript puro (`node:sqlite` su Node 22+, altrimenti il modulo WASM `sql.js` incluso) — senza richiedere strumenti di compilazione. Per saltare completamente l'**inizializzazione nativa** successiva all'installazione (CI, sistemi headless o computer lenti). Nota: questa opzione salta solo il passaggio di inizializzazione di SQLite nativo (`scripts/postinstall.mjs`); l'hook di copia/riparazione del binario (`scripts/build/postinstall.mjs`) viene comunque eseguito normalmente: ```bash OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # Anche CI=1 lo salta ``` Per installazioni più rapide, preferisci **pnpm** (archivio indirizzato in base al contenuto + hard link — vedi sopra). Per un runtime headless senza dashboard, utilizza il profilo Docker `base` (sopra) oppure la [guida Termux](docs/guides/TERMUX_GUIDE.md). La CLI e la dashboard web vengono servite dallo stesso processo su un'unica porta, quindi attualmente non esiste un pacchetto separato dedicato esclusivamente alla CLI.
# 🎬 OmniRoute in azione
## 📹 Guide video
Istantanea del pannello al 2026-10-18 · Catalogo grezzo: YT 1.352 | TT 334 | IG 290 · Aggiornamento (giorni): YT 5 | TT 48 | IG 49
Reel di Instagram — nick_saraev
🎬 #1 — Instagram
nick_saraev — 3,042,474 visualizzazioni
Reel di Instagram — nnapier7
🎬 #2 — Instagram
nnapier7 — 1,454,535 visualizzazioni
YouTube — Amidia AI & Tech
🎬 #3 — YouTube
Amidia AI & Tech — 794,974 visualizzazioni
Reel di Instagram — theopenstack
🎬 #4 — Instagram
theopenstack — 692,419 visualizzazioni
TikTok — migue.baena
🎬 #5 — TikTok
migue.baena — 685,788 visualizzazioni
**Classifica completa (URL canonici deduplicati, `v > 0`, maggiore copertura):** | #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** | Metriche canoniche al 2026-10-18: **1.976 video unici** · **20.220.289 visualizzazioni note** (`v > 0`) · **1.210 canali/profili per piattaforma**. Il pannello grezzo contiene 1.976 righe (YouTube 1.352 = 740 video lunghi + 612 Shorts · TikTok 334 · Instagram 290); dopo la normalizzazione per URL canonico, che conserva il conteggio più alto per ciascun video, non è rimasto alcun duplicato. La raccolta dei dati di YouTube è ferma al 2026-10-13 (quota API esaurita dal 14 al 18/10), mentre quella di TikTok/Instagram è ferma al 2026-09-02 (crediti per la raccolta esauriti); 76 video non hanno ancora un conteggio delle visualizzazioni. > 🎬 **Hai realizzato un video su OmniRoute?** Apri una [segnalazione](https://github.com/diegosouzapw/OmniRoute/issues/new) o una [discussione](https://github.com/diegosouzapw/OmniRoute/discussions) con il link: lo metteremo in evidenza qui.
# 📧 Community e assistenza > Tutto in un unico posto: segui il maintainer, chatta con la community oppure apri una segnalazione. | Canale | Dove / come | | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | | 💼 **LinkedIn** — segui il manutentore | [linkedin.com/in/diegosouzapw](https://www.linkedin.com/in/diegosouzapw/) | | 🐙 **GitHub** — segui per novità e consigli | [@diegosouzapw](https://github.com/diegosouzapw) | | 💬 **Discord** | [discord.gg/U47eFqAXCn](https://discord.gg/U47eFqAXCn) | | ✈️ **Telegram** | [t.me/omnirouteOficial](https://t.me/omnirouteOficial) | | 🟢 **WhatsApp — 🌍 Globale** | [unisciti al gruppo](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) | | 🟢 **WhatsApp — 🇧🇷 Brasile** | [unisciti al gruppo](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) | | 🌍 **Sito web** | [omniroute.online](https://omniroute.online) | | 🌍 **🌍Community StHub OmniRoute (gratuita)** | [portale sthub](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK) | | 📦 **Codice sorgente** | [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) | | 🐛 **Segnala un bug** | [apri una segnalazione](https://github.com/diegosouzapw/OmniRoute/issues) — allega l'output di `npm run system-info` | | 🤝 **Contribuisci** | [CONTRIBUTING.md](CONTRIBUTING.md) · [Modello di branching e rilascio](docs/ops/BRANCHING_MODEL.md) · scegli una `good first issue` | | 💚 **Sostieni il progetto** | [Modi per sostenerci ↑](#-support-omniroute) · [GitHub Sponsors](https://github.com/sponsors/diegosouzapw) |
---
## 🛠️ Stack tecnologico
LivelloTecnologia
RuntimeNode.js 22.x / 24.x LTS — >=22.22.2 <23 || >=24.0.0 <27
LinguaggioTypeScript 6.0 — 100% TypeScript in src/ e open-sse/ (zero any nel core dalla v2.0)
FrameworkNext.js 16 + React 19 + Tailwind CSS 4
Databasebetter-sqlite3 (SQLite, journaling WAL) + LowDB (JSON legacy) — 147 moduli di dominio, 233 migrazioni
MemoriaRicerca full-text SQLite FTS5 + embedding vettoriali quantizzati int8, decadimento tipizzato
SchemiZod 4 — validazione I/O degli strumenti MCP + contratti API
ProtocolliMCP (stdio / HTTP / SSE) + A2A v0.3 (JSON-RPC 2.0 + SSE)
StreamingServer-Sent Events (SSE) + bridge WebSocket (/v1/ws)
CompressionePipeline a 12 motori — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph
Autenticazione & sicurezzaOAuth 2.0 (PKCE) + JWT + chiavi API + autenticazione con ambito MCP · AES-256-GCM a riposo · DOMPurify
Stealthwreq-js — impersonificazione delle impronte TLS JA3 / JA4, proxy a 3 livelli
ResilienzaCircuit breaker, backoff esponenziale, protezione dal thundering herd, auto-combo con autoriparazione
Loggingpino — log JSON strutturati con contesto della richiesta
TestRunner di test Node.js + Vitest — oltre 60.000 dichiarazioni di test statiche in oltre 8.400 file di test tracciati (unitari, di integrazione, E2E, di sicurezza, dell'ecosistema)
PiattaformeDesktop (Electron) · Android (Termux) · PWA (qualsiasi browser)
CI/CDGitHub Actions — pubblicazione automatica su npm + Docker Hub al rilascio
CollegamentiSito web · npm · Docker Hub

## 📖 Documentazione
### 📘 Per iniziare
DocumentoDescrizione
Guida utenteProvider, combinazioni, integrazione CLI, distribuzione
Guida alla configurazioneMetodi di installazione completi, configurazioni degli strumenti CLI, configurazione del protocollo, regolazione dei timeout
Guida agli strumenti CLIConfigurazione specifica per Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo, Copilot
Modalità remotaControlla un OmniRoute remoto (VPS) dalla CLI del tuo laptop tramite token di accesso con ambito limitato
Configurazione di Claude CodeIndirizza Claude Code verso OmniRoute (locale/remoto) con launch + profili per modello
Avvio rapidoInstallazione → connessione → configurazione in 3 passaggi
### 🔧 Operazioni e distribuzione
DocumentoDescrizione
Guida a DockerEsecuzione di Docker, profili Compose, HTTPS con Caddy, tunnel, tag delle immagini
Guida a PodmanIntegrazione con systemd tramite Quadlet, podman-compose, SELinux
Distribuzione su VMGuida completa: configurazione di VM + nginx + Cloudflare
Distribuzione su Fly.ioDistribuzione su Fly.io con archiviazione persistente
Guida a TermuxEsecuzione di OmniRoute su Android tramite Termux
Guida alle PWAInstallazione, memorizzazione nella cache e architettura delle Progressive Web App
Guida alla disinstallazioneRimozione completa per tutti i metodi di installazione
Configurazione dell'ambienteVariabili e riferimenti completi di .env
### 🧠 Funzionalità e architettura
DocumentoDescrizione
ArchitetturaArchitettura del sistema, flusso dei dati e componenti interni
Guida alla compressionePipeline con 7 opzioni: off / lite / standard / aggressive / ultra / RTK / stacked
Compressione RTKCompressione dell'output dei comandi, filtri, attendibilità, verifica, recupero dell'output grezzo
Motori di compressioneCaveman, RTK, pipeline stacked, interfacce dashboard/API/MCP
Formato delle regole di compressioneSchemi dei pacchetti di regole JSON per i filtri Caveman e RTK
Pacchetti linguistici di compressioneRilevamento della lingua e creazione di pacchetti di regole Caveman
Guida alla resilienzaInterruttori automatici, periodi di raffreddamento, coda, prevenzione del sovraccarico simultaneo, spoofing TLS
Motore Auto-ComboValutazione a 16 fattori, pacchetti di modalità, autoriparazione
Guida ai proxySistema proxy a 3 livelli, marketplace 1proxy, operazioni CRUD sul registro
Piani gratuitiDirectory consolidata: 34 pool ricorrenti documentati / 465 voci di piani gratuiti catalogate
Galleria delle funzionalitàPanoramica visiva della dashboard con schermate
Documentazione del codebaseGuida al codebase pensata per i principianti
### 🤖 Protocolli e API
DocumentoDescrizione
Riferimento APITutti gli endpoint con esempi
Specifica OpenAPISpecifica OpenAPI 3.0
Server MCP110 strumenti MCP, configurazioni IDE, client Python/TS/Go
Guida al server MCPInstallazione di MCP, trasporti e riferimento degli strumenti
Server A2AProtocollo JSON-RPC 2.0, competenze, streaming, gestione delle attività
Guida al server A2AAgent card A2A, attività, competenze e streaming
### 📋 Progetto e qualità
DocumentoDescrizione
ContribuireConfigurazione dell'ambiente di sviluppo e linee guida
Modello di branching e rilascioDove sono indirizzate le PR (release/*), cosa significano main e i tag
Registro delle modificheStorico completo dei rilasci per versione
Policy di sicurezzaSegnalazione delle vulnerabilità e pratiche di sicurezza
Guida all'i18nSupporto per 67 lingue, flusso di lavoro per le traduzioni, RTL
Checklist di rilascioPassaggi di convalida precedenti al rilascio
Piano di coperturaStrategia di copertura dei test per oltre 60.000 dichiarazioni di test statiche distribuite in oltre 8.400 file di test tracciati

# ⭐ Principali contributori > OmniRoute è plasmato da una appassionata comunità open source. Queste persone hanno apportato contributi eccezionali che incidono direttamente sulla qualità, la stabilità e la portata del progetto. **Grazie.** ### Contributori esterni per pull request unite
PosizioneContributorePR unite~Righe modificate
1maxmad64bis41825,367,739
2HouMinXi29513,557,796
3pacocartones22281,551
4backryun210270,562
5JxnLexn1983,570,623
6oyi77190411,243
7KooshaPari1515,972,314
8rdself14580,663
9RaviTharuma123500,065
10herjarsa88230,872
11hartmark852,849,623
12jonlwheat2-gif6869,097
13artickc6243,502
14xiaoyaner020159126,220
15chirag127526,661
16xz-dev50245,976
17woodsonl48811,771
18rqzbeh46151,229
19MumuTW4328,166
19QuangBlue4313,112
Censimento effettuato il 2026-11-03 03:01:19 UTC con il tip attivo di release/v3.8.53 05bc048d6c. Il censimento GitHub GraphQL impaginato contiene 9.947 PR unite: 4.130 del proprietario del repository, 240 di Dependabot, 6 di altri bot/app e 5.571 PR esterne provenienti da 883 contributori distinti. “Righe modificate” corrisponde alle aggiunte + eliminazioni riportate da GitHub e include file generati, lockfile, cataloghi, traduzioni e documentazione; rappresenta il churn, non le LOC scritte dagli autori. 53 PR riportano diff GitHub superiori a 500.000 righe (ad esempio #13399, una singola aggiunta di provider, elenca 2.347 file modificati), gonfiando diversi totali riportati sopra. Le posizioni a pari merito sono raggruppate. ### Commit attribuiti a GitHub
Dizzle
Dizzle

🥇 418 commit attribuiti a GitHub
Bob.Hou
Bob.Hou

🥈 294 commit attribuiti a GitHub
Paijo
Paijo

🥉 229 commit attribuiti a GitHub
Paco Cartones
Paco Cartones

🏅 222 commit attribuiti a GitHub
backryun
backryun

🏅 202 commit attribuiti a GitHub
Jan Leon
Jan Leon

🏅 134 commit attribuiti a GitHub
Ravi Tharuma
Ravi Tharuma

🏅 126 commit attribuiti a GitHub
Markus Hartung
Markus Hartung

🏅 115 commit attribuiti a GitHub
Randi
Randi

🏅 108 commit attribuiti a GitHub
Chris
Chris

🏅 70 commit attribuiti a GitHub
WebPerson
WebPerson

🏅 68 commit attribuiti a GitHub
Koosha Paridehpour
Koosha Paridehpour

🏅 68 commit attribuiti a GitHub
Verificato nuovamente il 2026-11-03 02:09:16 UTC: commit attribuiti a GitHub riportati dall'API Contributors di GitHub per il ramo predefinito release/v3.8.53. L'API ha restituito 903 identità (429 utenti, 2 bot, 472 anonime); questa tabella esclude il manutentore, i bot e le identità anonime e mantiene i pari merito. È distinta sia dalla classifica delle PR unite riportata sopra sia dal censimento dei metadati Git riportato sotto. > 🙏 Le funzionalità, le correzioni di bug e i miglioramenti all'infrastruttura di questi contributori sono una **parte fondamentale** di ciò che rende OmniRoute affidabile e ricco di funzionalità. Ogni pull request, ogni caso di test e ogni file di traduzione i18n è importante. L'open source è costruito da persone come loro.
---
## 💖 Sostenitori
Un sentito ringraziamento alle persone che finanziano OmniRoute di tasca propria: ogni contributo mantiene il progetto gratuito, indipendente e in continua evoluzione.
Andrew
Andrew

💛 Sostenitore mensile attivo
Vlad I
Vlad I

💛 Sostenitore mensile attivo
小妍儿
小妍儿

💛 Sostenitore mensile attivo
Guilherme Costa
Guilherme Costa

💛 Sostenitore attivo con donazione una tantum
Henrique Triches Iurkiv
Henrique Iurkiv

💛 Sostenitore attivo con donazione una tantum
Somesh Ghaturle
Somesh Ghaturle

💛 Sostenitore attivo con donazione una tantum
Kolonie AI
Kolonie AI

💛 Precedente sostenitore con donazione una tantum
Professor Igor Morais Vasconcelos
Prof. Igor Morais

💛 Precedente sostenitore con donazione una tantum
Pixma
Pixma

💛 Precedente sostenitore con donazione una tantum
Paco Cartones
Paco Cartones

💛 Precedente sostenitore con donazione una tantum
longtao
longtao

💛 Precedente sostenitore con donazione una tantum
… e altri che preferiscono rimanere anonimi 💛 I sostenitori pubblici di GitHub sono stati riconvalidati il 2026-10-18 tramite l'API GraphQL di GitHub Sponsors: 11 sponsorizzazioni pubbliche (6 attive, 5 passate) su 14 totali. Lo stato isActive di GitHub determina le etichette relative ai sostenitori attivi riportate sopra; i precedenti sostenitori pubblici con donazione una tantum continuano a essere ringraziati, mentre i sostenitori privati rimangono anonimi. Le donazioni tramite Ko-fi, Buy Me a Coffee, Liberapay, PIX e criptovalute non sono elencate perché non dispongono di un registro pubblico dei sostenitori. 💖 Diventa un sostenitore → — ogni dollaro contribuisce a mantenere OmniRoute gratuito e indipendente.

## 👥 Oltre 1.000 collaboratori
[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=1074&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) Verificato il 2026-11-02 sul tip live release/v3.8.53 1c7135e0fb (7.972 commit): 1.074 identità Git umane normalizzate — 759 compaiono come autori di commit (incluso il maintainer) e 315 solo nei trailer espliciti Co-authored-by. Il censimento applica .mailmap, confronta gli indirizzi e-mail senza distinzione tra maiuscole e minuscole, unisce gli indirizzi GitHub noreply numerici e semplici solo quando codificano lo stesso handle, esclude 29 identità di bot/agent/servizio/segnaposto e non unisce indirizzi e-mail ordinari solo perché i loro nomi visualizzati coincidono. L'audit del 2026-08-24 ne aveva pubblicati 639; rieseguendo questo metodo sulla base di quell'audit, ac02c5b42f, si ottengono 619, quindi l'aumento deriva da nuovi collaboratori, non da un metodo meno rigoroso. ### Come contribuire 1. Crea un fork del repository 2. Crea il branch dal tip **attivo** `release/vX.Y.Z` (non da `main`) — consulta [Modello di branching e rilascio](docs/ops/BRANCHING_MODEL.md) 3. Crea il tuo branch delle funzionalità (`git checkout -b feat/amazing-feature`) 4. Esegui il commit delle modifiche (`git commit -m 'feat: add amazing feature'`) 5. Esegui il push sul branch (`git push origin feat/amazing-feature`) 6. Apri una Pull Request con **base = quel branch `release/vX.Y.Z`** Consulta [CONTRIBUTING.md](CONTRIBUTING.md) per le linee guida dettagliate. ### Rilasciare una nuova versione ```bash # Crea un rilascio — npm publish viene eseguito automaticamente VERSION=x.y.z gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes ```
## 📊 Stelle Grafico della cronologia delle stelle
## 🌍 StarMapper StarMapper

## 🙏 Ringraziamenti
OmniRoute poggia sulle spalle dei giganti. È nato come fork di **[9router](https://github.com/decolua/9router)** e come porting in TypeScript del progetto Go **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — e da lì, ogni sottosistema riportato di seguito è stato ispirato da un progetto open source arrivato prima. Ognuno di essi ha contribuito a plasmare una componente concreta di OmniRoute. Questo è il nostro ringraziamento a tutti loro. 🙏 > ⭐ conteggi delle stelle verificati tramite l'API REST di GitHub il 3 novembre 2026 — date una stella a questi progetti. I conteggi sono un'istantanea esatta riferita a quella data e cambieranno naturalmente. ### 🧬 Linea evolutiva e gateway
Progetto⭐Come ha ispirato OmniRoute
9router31,861Il progetto originale su cui si basa questo fork — qui esteso con API multimodali e una riscrittura completa in TypeScript.
CLIProxyAPI57,329L'implementazione in Go che ha ispirato questo porting in JavaScript / TypeScript.
LiteLLM62,580Il gateway per l'IA il cui dataset pubblico dei prezzi alimenta la nostra sincronizzazione del monitoraggio dei costi e il cui modello di normalizzazione dei provider ha influenzato il nostro routing.
codex-chatgpt-web15,435Sorgente MIT adattata nel bridge integrato ChatGPT Web → Codex Responses, inclusi gli adapter per la sessione del browser, l'inquadramento delle risposte, l'utilizzo e la ricerca web.
free-claude-code65,966Pattern portati nel recupero degli stream, negli alias no-thinking, nella ricerca web di fallback, nei limiti a finestra scorrevole, nella redazione dei log e nei flussi di avvio rafforzati.
composer-api347I pattern di selezione degli strumenti, vincolo dell'output e commit degli strumenti di Cursor Composer sono stati adattati nell'executor nativo di Cursor.
codex-multi-auth561I pattern per il login iniziale e la rotazione dei refresh token sono stati portati nella riautenticazione OAuth di Codex.
opencode-anthropic-auth562I valori predefiniti di trasformazione compatibili con Claude Code e il comportamento degli header di fatturazione sono stati generalizzati nel bridge di OmniRoute guidato dalla configurazione.
grok2api-merged2Le sue mappature dei modelli Grok, il generatore Statsig fake-TypeError, i valori predefiniti per richieste e dispositivo e il processore delle risposte NDJSON sono stati adattati in modo sostanziale nell'executor Grok Web di OmniRoute.
TQZHR/grok2api707La principale sorgente di codice transitiva alla base di grok2api-merged; le sue implementazioni di modelli, header, payload, Statsig e processore sono conservate nella linea evolutiva di Grok Web.
chenyme/grok2api7,874La sorgente MIT alla base dei valori predefiniti per payload e dispositivo di Grok, del generatore Statsig e del processore result.response trasmesso attraverso TQZHR e grok2api-merged.
grok2api-pro27Una sorgente transitiva accreditata da grok2api-merged per il suo livello di proxy pool; OmniRoute conserva questa nota sulla linea evolutiva, ma non rivendica un porting del proxy pool nel proprio executor Grok Web delimitato.
GrokProxy52Il suo proxy Grok autenticato tramite cookie e il pattern di streaming result.response.token hanno influenzato il trasporto Grok Web di OmniRoute.
GrokBridge5La sua implementazione originale di Grok Web è stata consultata per la progettazione dell'upstream HTTP/browser; il suo percorso HTTP diretto deriva da GrokProxy, quindi non viene rivendicato alcun porting di codice indipendente.
### 🗜️ Compressione del contesto e dei token — engine
Progetto⭐Come ha ispirato OmniRoute
Caveman116,957Il progetto virale "perché usare molti token quando pochi token fanno il lavoro" — la sua filosofia in stile uomo delle caverne alimenta la nostra modalità di compressione standard e oltre 30 regole di riempimento/condensazione.
RTK – Rust Token Killer85,350Compressione ad alte prestazioni dell'output dei comandi — ha ispirato il nostro motore RTK, il DSL per i filtri JSON, il recupero dell'output non elaborato e la pipeline RTK → Caveman concatenata.
headroom78,672Compressione reversibile del contesto (SmartCrusher) — ha ispirato il nostro motore headroom e il pattern del marcatore di recupero ccr.
LLMLingua6,797Ricerca sulla compressione dei prompt (LLMLingua / LLMLingua-2) — ha ispirato il nostro motore llmlingua asincrono, sicuro per il codice e con apertura in caso di errore.
llmlingua-2-js33Il port JS/ONNX (MobileBERT / XLM-RoBERTa) usato come backend per i thread worker del nostro motore LLMLingua.
Troglodita50Compressione dei token PT-BR — alimenta il nostro language pack pt-BR: riduzione dei pleonasmi e rimozione dei riempitivi ottimizzate per la grammatica portoghese brasiliana.
ponytail182,929La competenza YAGNI del programmatore virale "senior dev pigro" — ha ispirato il nostro Output Style less-code: un orientamento verso la modifica funzionante più piccola possibile che riduce il codice _generato_ (il corrispettivo sull'asse dell'output della prosa concisa di Caveman).
i-have-adhd59,838Il suo stile di risposta, orientato all'azione e adatto alle persone con ADHD, è stato adattato allo stile di output conciso di OmniRoute in cinque lingue.
### 🧩 Formati compatti, ricerca sui token e strumenti consapevoli del codice
Progetto⭐Come ha ispirato OmniRoute
TOON25,602Token-Oriented Object Notation — il suo modello colonnare, con intestazione e righe, ha plasmato la nostra fase di compattazione tabellare.
GCF – Graph Compact Format61Il suo formato compatto per grafi e il design con profilo generico hanno contribuito alla progettazione della compattazione tabellare di OmniRoute e del formato codec di Headroom.
gcf-typescript4L'implementazione TypeScript con licenza MIT, integrata direttamente e ampliata come codec con profilo generico di Headroom.
token-optimizer-mcp566Cache Brotli/SQLite + delta del contesto per sessione — ha ispirato il nostro motore session-dedup.
token-savior1,203Compattazione dell'output Bash + profili MCP — ha ispirato la nostra disciplina di abbandono della compressione e la riduzione del manifest degli strumenti MCP.
token-saver162Compressione dell'output consapevole del contenuto e specifica per tipo di file, con abbandono in caso di errore — ha convalidato il nostro instradamento per tipo e il salto quando il guadagno è minimo.
token-optimizer2,853"Trova i token fantasma" — il suo pattern di esternalizzazione + handle recuperabile ha contribuito alla nostra progettazione dell'esternalizzazione CCR.
TokenMizer34Un modello di session graph + deduplicazione delle righe tra turni che ha contribuito alla progettazione di session-dedup.
OmniCompress3JSON colonnare in Rust + recupero basato sul contenuto + deduplicazione tra messaggi — ha convalidato la progettazione dei nostri motori headroom/ccr/session-dedup e l'invariante stabile per la cache secondo cui la "forma compressa è indipendente dalla posizione".
mcp-compressor140Compressione dello schema e della descrizione degli strumenti MCP — ha contribuito alla riduzione della cardinalità del manifest degli strumenti MCP.
RepoMapper218Classificazione della repo-map in stile Aider — ha contribuito alla nostra esplorazione della repo-map e della classificazione del recupero.
quiet-shell-mcp4Riduzione dichiarativa dell'output della shell tramite MCP — ha convalidato la nostra compattazione dichiarativa dell'output Bash.
ts-morph6,222Toolkit per la TypeScript Compiler API — ha ispirato la nostra rimozione dei commenti basata sul parser, che preserva le stringhe, i template e i literal delle espressioni regolari.
### 🧠 Memoria e RAG
Progetto⭐Come ha ispirato OmniRoute
Mem068,294Livello di memoria universale — il suo modello proxy come confine di scrittura/lettura ha plasmato la nostra architettura della memoria.
Letta (MemGPT)25,321Agenti stateful con memoria a livelli — ha ispirato il nostro modello a livelli Context Control & Recovery (CCR).
WFGY1,804La tassonomia ProblemMap di 16 modalità ricorrenti di errore di RAG/LLM — il vocabolario condiviso nella nostra guida alla risoluzione dei problemi.
### 🛰️ Ispezione del traffico, MITM e proxy trasparente
Progetto⭐Come ha ispirato OmniRoute
llm-interceptor81L'intercettazione/analisi MITM del traffico tra assistenti di programmazione e LLM ha definito i requisiti iniziali di Traffic Inspector. Quattro moduli derivati in precedenza — fusione SSE, normalizzazione delle conversazioni, mascheramento dei segreti e sanificazione degli header — sono stati sostituiti da implementazioni indipendenti realizzate in clean room sulla base di standard di protocollo pubblici. Le due superfici host-passthrough (passthrough.ts e _internal/bypass.cjs) restano implementazioni interne a OmniRoute, classificate indipendentemente; non sono state riscritte nell'ambito di tale sostituzione.
ProxyBridge6,978Instradamento trasparente del proxy per processo — ha ispirato il nostro teardown MITM sicuro in caso di crash, i timeout di inattività dei socket, l'attribuzione dei processi tramite /proc e l'acquisizione TPROXY.
### 📚 Dati dei modelli, osservabilità e interfaccia utente
Progetto⭐Come ha ispirato OmniRoute
models.dev7,486Database aperto delle specifiche, dei prezzi e delle capacità dei modelli di IA — sincronizzato nativamente nel nostro catalogo dei modelli.
React Flow / xyflow38,874La libreria per grafi basati su nodi che alimenta il nostro Compression Studio e il Combo/Routing Studio in tempo reale.
LangGraph44,349La visualizzazione live dei grafi dei flussi di lavoro di LangGraph Studio ha ispirato la vista a cascata in tempo reale dei nostri Studios.
Langfuse36,907Il suo modello di osservabilità trace → span → generation ha plasmato la vista a cascata del nostro Compression Studio.
Kiali3,647Osservabilità della service mesh Istio — ha ispirato i nostri badge dei circuit breaker e gli elementi visivi dei bordi di errore nel Routing/Combo Studio.
lobe-icons2,666Loghi dei brand di IA/LLM che visualizzano le icone dei provider nel nostro dashboard.
flag-icons12,499Fornisce le bandiere SVG con licenza MIT utilizzate dal selettore della lingua del README.
### 🛡️ Sicurezza
Progetto⭐Come ha ispirato OmniRoute
awesome-secure-defaults723Un elenco curato di librerie sicure per impostazione predefinita che guida le nostre scelte di sicurezza (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
### 🧭 Strumenti complementari
Progetto⭐Come ha ispirato OmniRoute
ClawRouter6,649Ha ispirato la deduplicazione delle richieste, il fallback di emergenza a costo zero, le strategie Auto-Combo collegabili e la classificazione multilingue degli intenti.
Antigravity-Manager32,785La sua rimappatura dei modelli consapevole dell'account, la validazione dei percorsi degli eseguibili e il comportamento delle etichette dei piani hanno contribuito a definire il runtime Antigravity di OmniRoute.
vscode-antigravity-cockpit4,852Il suo formato compatto per il conto alla rovescia del ripristino della quota ha ispirato la visualizzazione corrispondente dei limiti del provider in OmniRoute.
AionUi33,996Le sue integrazioni ACP hanno ispirato il rilevamento automatico degli agenti CLI installati di OmniRoute.
CodexBar22,955Ha identificato la superficie della quota Grok Build; OmniRoute ha quindi verificato e corretto indipendentemente il formato wire effettivo.
## 📄 Licenza Licenza MIT - consulta [LICENSE](LICENSE) per i dettagli. ---
**[⬆ Torna all'inizio](#-omniroute)** · Realizzato con ❤️ per la comunità open source dell'IA. Creato da Diego Souza · OmniRoute v3.8.54 · Node ≥22.22.2 · Licenza MIT · omniroute.online