# 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 OmniRoute — Non smettere mai di programmare. Ogni strumento AI → 375 provider — oltre 150 gratuiti — tramite un unico endpoint. Claude Code, Codex, Cursor, Cline, Copilot e Antigravity con Claude / GPT / Gemini GRATUITI e fallback automatico. La compressione combinata RTK + Caveman riduce i token del 15–95% (~89% in media): non raggiungere mai i limiti. 375 provider AI · oltre 150 piani gratuiti · ~1,62 mld di token gratuiti/mese · 20 strategie di routing · $0 per iniziare.
## 💰 ~1,62 mld di token/mese tramite piani gratuiti di terze parti
> **Usa i tuoi account dei provider.** Questa è una stima aggregata di piani gratuiti di terze parti per i quali si possiedono separatamente i requisiti, non una concessione di token da parte di OmniRoute. Registrati, ottieni le credenziali dove richiesto e collega i provider che puoi utilizzare; ciascun provider controlla i propri limiti, la disponibilità e i termini. > > Combinare manualmente i piani gratuiti è complicato: decine di SDK, decine di limiti di frequenza e nessuna idea di quante risorse si abbiano effettivamente a disposizione. OmniRoute cataloga **467 voci di piani gratuiti distribuite su 34 chiavi di pool ricorrenti** e calcola il totale di token sulla base dei **17 pool con un budget mensile positivo pubblicato, più cinque limiti Groq per modello**, deduplicati per pool condiviso. Le quote che diventano disponibili solo dopo una verifica dell'identità regionale (attualmente: ModelScope) vengono mostrate separatamente, +~6 mln subordinati alla verifica dell'identità regionale, e non vengono mai incluse nel totale principale. Il risultato rimane visibile nella dashboard (`/dashboard/free-tiers`). Scheda del budget dei piani gratuiti di OmniRoute: ~1,62 mld di token gratuiti al mese in modo continuativo, fino a ~2,22 mld nel primo mese con i crediti di registrazione, da 34 chiavi di pool ricorrenti documentate che coprono 467 voci di piani gratuiti catalogate dietro 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 di token pubblicato, più cinque limiti Groq per modello; 12 provider sono contrassegnati come da evitare nel catalogo dei rischi relativi ai termini, così puoi decidere autonomamente. La barra del budget include Mistral 1 mld, Nara 210 mln, LLM7 150 mln, xKiro 150 mln, Groq 30 mln (cinque limiti per modello) e pool più piccoli, oltre ai crediti di registrazione del primo mese e ai provider gratuiti in modo permanente senza limiti di token, mostrati separatamente affinché non aumentino artificialmente il totale principale. Utilizzo e disponibilità residua in tempo reale su /dashboard/free-tiers. > Riepilogo animato della pagina live `/dashboard/free-tiers`. Metodologia completa (deduplicazione dei pool, livelli di credito, termini dei provider): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**. > > Queste cifre vengono sottoposte a una nuova verifica ogni due settimane confrontandole con il catalogo live e **possono variare in entrambe le direzioni**: se un provider termina un piano gratuito, il numero diminuisce; se ne viene aggiunto uno nuovo, aumenta. Pubblichiamo ciò che il catalogo calcola realmente, mai una stima ottimistica arrotondata per eccesso.

⭐ Metti una stella al repository se OMNIROUTE ti ha aiutato a risparmiare denaro e a semplificare il tuo lavoro.

[![Stelle](https://img.shields.io/github/stars/diegosouzapw/OmniRoute?style=social)](https://github.com/diegosouzapw/OmniRoute) diegosouzapw%2FOmniRoute | Trendshift [![Posizione nella 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: scopri per primo nuovi provider, release e suggerimenti:** [![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 globale](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, suggerimenti 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.53+` | | ------------------------------------ | :---------------------------: | :---------: | :-------------------: | | 🌐 Provider | 352 | **358** | 375 | | 🧠 ID univoci dei modelli di chat | 1320 | **1374** | 1475 | | 🖼️ Ponte tra modalità | 🆕 visione + audio + video | ✓ | ✓ | | 📡 Catalogo gratuito Radar | 🆕 partecipazione facoltativa | ✓ | ✓ | | ⚖️ Pianificazione basata sulle quote | 🆕 Quota-Share | ✓ | ✓ | | 📊 Telemetria delle quote | 🆕 in tempo reale | ✓ | ✓ | | 🧰 Modalità headless | — | — | 🆕 `serve --headless` | | 🛤️ Infrastruttura del ramo LTS | — | — | 🆕 canali di rilascio | | 🔎 API di rilevamento dei modelli | — | — | 🆕 `/v1/models/query` | **→ [Roadmap](ROADMAP.md) — sul binario verso `v3.9.0 LTS`**

## 🧩 Disponibile [![versione npm](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) ![Download mensili NPM](https://img.shields.io/npm/dm/omniroute?label=npm/month&color=cb3837&logo=npm) [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) [![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 🆓 Connetti un provider
💡 Scopri 💥 La promessa 🤔 Perché OmniRoute 🏆 Cosa lo distingue
⚙️ Funzionalità 🎯 Combinazioni 🌐 Provider 🔌 CLI e MCP
🗜️ Compressione 🖥️ Dove funziona 🔒 Privato
👀 Guardalo 🎬 In azione ✨ Novità 🤖 CLI compatibili
💚 Supporto 💚 Supporta / Dona 💬 Comunità 💖 Sponsor
📦 Progetto 🛠️ Stack tecnologico 📖 Documentazione 👥 Collaboratori
🌐 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, poi instrada attraverso un unico endpoint
Tre passaggi: installa e avvia OmniRoute, collega un provider idoneo con il tuo account o la tua API key, poi punta il tuo strumento su localhost:20128/v1 usando una API key di OmniRoute e il modello auto. Il routing 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 una rotta idonea. Un'installazione appena eseguita può non avere target keyless idonei, e un provider keyless potrebbe rifiutare client di terze parti. I provider contrassegnati con `tos: avoid`, incluso Kiro, sono esclusi dal routing automatico per impostazione predefinita; collegare un account non sovrascrive questa impostazione. Consulta la [Guida ai piani gratuiti](docs/getting-started/FREE-TIERS-GUIDE.md) prima di scegliere un provider. 📦 Script quickstart da copia-incollare per **Python, Node.js, PHP e cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 La Promessa
La Promessa — Un unico endpoint e 375 provider. Il fallback automatico continua a instradare finché è disponibile un altro target sano. Sei pilastri: fallback resiliente su 375 provider · fino al 95% di risparmio sui token per carichi di lavoro idonei · $0 per iniziare con oltre 150 piani gratuiti e 51 provider free-forever ricorrenti/keyless · 37 integrazioni CLI/agent tramite un'unica configurazione · compatibilità con OpenAI, Claude, Gemini e Responses API su /v1 · controlli di produzione tra cui circuit breaker, TLS stealth, 110 strumenti MCP, A2A, memoria, guardrail, eval e oltre 56.000 dichiarazioni di test statici su oltre 7.800 file di test monitorati.

# 🤔 Perché OmniRoute?
Perché OmniRoute — smetti di destreggiarti tra 10 dashboard, API key morte e bollette a sorpresa. Dieci problemi quotidiani vs soluzioni: quota che scade inutilizzata → massimizza gli abbonamenti; rate limit a metà coding → auto-fallback a 4 livelli (Abbonamento → API → Economico → Gratuito); output degli strumenti che bruciano token → compressione RTK + Caveman (15–95%); API costose → routing ottimizzato sui costi; ogni strumento con la propria configurazione → un unico endpoint, un'unica dashboard; AI bloccata → proxy a 3 livelli + TLS stealth; chiavi morte → resilienza a 3 livelli (circuit breaker, cooldown delle chiavi, lockout dei modelli); team che condivide un abbonamento → pool di chiavi con quote fair-share; prompt che passano dal cloud di qualcun altro → local-first con chiavi cifrate AES-256-GCM; nessuna visibilità sulle spese → analytics in tempo reale (utilizzo, quota, risparmi, latenza p95).
Flusso di richiesta 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 routing, circuit breaker, TLS stealth, MCP, A2A, guardrail) può effettuare il fallback tra 4 livelli di provider finché rimane un target idoneo e sano — Livello 1 Abbonamento, Livello 2 API Key, 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
Ciò che distingue OmniRoute — un'istantanea aggiornata delle funzionalità rispetto a 9router, OpenRouter, CLIProxyAPI e LiteLLM su 13 capacità. OmniRoute: 375 provider, oltre 150 livelli gratuiti integrati, 20 strategie di routing, compressione dei token con 12 motori, server MCP integrato con 110 strumenti, protocollo per agenti A2A, memoria persistente, misure di sicurezza, agenti cloud, occultamento dell'impronta digitale TLS, Desktop/Termux/PWA e interfaccia utente internazionalizzata in 67 lingue. OmniRoute è distribuito con licenza MIT e può essere ospitato autonomamente. Le capacità 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à
> Punti salienti recenti da **v3.8.20 → v3.8.53**. Cronologia completa in [`CHANGELOG.md`](CHANGELOG.md). - **⚖️ Routing `quota-weighted`** — la ventesima strategia combo salta gli account esauriti, poi estrae tra i restanti in proporzione alla quota residua divisa per il carico in corso, mantenendo ancorate le conversazioni esistenti. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **🧰 Modalità headless** — `omniroute serve --headless` (o `OMNIROUTE_HEADLESS=1`) avvia solo il motore proxy `/v1/*`, con la dashboard e i sottosistemi riservati alla dashboard disattivati. → [Modalità headless](docs/guides/HEADLESS.md) - **🔎 Scoperta dei modelli** — `/v1/models` filtra per capacità, contesto, tipo e testo, e `POST /v1/models/query` restituisce una shortlist breve e deterministica con la stessa visibilità per chiave. → [Riferimento API](docs/reference/API_REFERENCE.md) - **🔑 Controllo del routing per chiave** — vincola 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 validati e contatori di rilevamento per tipo; il mascheramento stesso resta opt-in. → [Guardrails](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 verso la tua flotta di agenti, skill Conductor sulla Agent Card e un pannello della dashboard con chat vocale push-to-talk Faro. → [Server A2A](docs/frameworks/A2A-SERVER.md) - **🛂 Ammissione adattiva e protezione dal sovraccarico** — le richieste chat pesanti si accodano invece di restituire 503, con lease a scorrimento RPM atomici per connessione. → [Guida alla resilienza](docs/architecture/RESILIENCE_GUIDE.md) - **🗂️ Ordinamento canonico di `/v1/models`** — un blocco contiguo raggruppato per provider per ogni provider (combo ancorate per prime), stabile su ogni sorgente di catalogo. → [Riferimento API](docs/reference/API_REFERENCE.md) - **🗜️ Rafforzamento della compressione** — protezione dall'inflazione 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) - **💸 Costo flat-rate onesto** — i provider in abbonamento / con piano coding mostrano **$0** nelle analisi dei costi; budget, quota e routing continuano a stimare. → [Riferimento API](docs/reference/API_REFERENCE.md) - **⚖️ Routing Quota-Share** — suddivide equamente la quota di un account condiviso tra chiavi in pool, in modalità work-conserving così le fette inattive vengono prestate. → [Guida alla resilienza](docs/architecture/RESILIENCE_GUIDE.md) - **🤖 Configurazione CLI/agente con un solo comando** — 7 comandi `setup-*` registrati; `omniroute run` avvia 7 CLI (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` supporta 11 target con un selettore interattivo di provider+modello e preferiti per contesto. → [Integrazioni CLI](docs/guides/CLI-INTEGRATIONS.md) - **🛰️ Modalità remota** — gestisci un OmniRoute remoto con token con scope (`connect` / `contexts` / `tokens`) + un helper OAuth `antigravity` per installazioni su VPS. → [Modalità remota](docs/guides/REMOTE-MODE.md) - **🧭 Auto-routing più intelligente** — combo `auto/:`, **Fusion** (panel di modelli + giudice), routing consapevole del task, override per richiesta di modello / modalità / budget in USD. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **🗜️ Compressione pluggable** — 12 motori componibili + Compression Studios: LLMLingua-2, Ultra a due livelli, omniglyph, gate di fedeltà per step, GCF v3.2, editor drag-reorder. → [Compressione](docs/compression/COMPRESSION_ENGINES.md) - **🕵️ Decrittazione MITM trasparente (TPROXY)** — intercetta CLI che ignorano le variabili d'ambiente del proxy, con una CA per-SNI + installer per il 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 da cache-HIT, 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 + decay tipizzato opt-in, `x-omniroute-no-memory` per richiesta. → [Memoria](docs/frameworks/MEMORY.md) - **🛡️ Sicurezza** — protezione da prompt injection su ogni route LLM (suite red-team), guardrail di mascheramento delle credenziali opt-in (oscura chiavi API/segreti trapelati in entrambe le direzioni), ricerca web DuckDuckGo gratuita come ultima risorsa e un gate di login OIDC opzionale per la dashboard (il login con password resta sempre disponibile). → [Guardrails](docs/security/GUARDRAILS.md) - **🖼️ Nuovi endpoint** — `/v1/ocr` (Mistral OCR) e `/v1/audio/translations` (in stile Whisper) completano la superficie media. → [Riferimento API](docs/reference/API_REFERENCE.md) - **🎨 Generazione di immagini / video / audio** — un'unica API per i media: 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 operations** — `basePath` per reverse proxy, rilevamento automatico della lingua del browser, tracciamento dei dispositivi per chiave, trust MITM senza root, localizzazione zh-TW. → [Variabili d'ambiente](docs/reference/ENVIRONMENT.md) - **🤝 Più provider e agenti** — agenti cloud (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) con login browser + OAuth, card di prima classe per Ollama, Claude Opus 5 e Sonnet 5, partnership ufficiale con Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… e un **catalogo di 375 provider** aggiornato. → [Provider](docs/reference/PROVIDER_REFERENCE.md) - **📡 Trasparenza del routing** — ogni risposta porta un header `X-OmniRoute-Decision` che indica la strategia/provider/latenza che l'hanno servita; una nuova strategia combo `cache-optimized` + il fattore `cacheAffinity` di Auto-Combo riportano le richieste ripetute alla connessione che detiene il prefisso in cache, e un endpoint di sola lettura `/v1/auto-combo/{channel}/candidates` espone il pool di candidati live di un canale `auto/*`. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **⚡ Prestazioni e infrastruttura locali** — Redis locale con un clic, deployer relay per Cloudflare Workers / Deno Deploy, Bifrost e Mux come servizi embedded supervisionati. → [Servizi embedded](docs/frameworks/EMBEDDED-SERVICES.md) - **🧩 Incluso nel pacchetto** — framework di plugin + marketplace, framework di skill Omni/Agent/GitHub, integrazione con l'Obsidian vault (22 strumenti MCP), API Batch & Files compatibili con OpenAI, cache semantica delle risposte, gamification con classifiche, scoperta degli agenti ACP (15 agenti integrati), esportazione pianificata dei log su BigQuery, fan-out parallelo multi-modello `auto/chaos`, un bridge per bot Telegram, un gestore di versioni in-app e classifiche dei provider gratuiti basate su LMArena-ELO. → [Documentazione](docs/README.md)
## 🤖 CLI e agenti di coding compatibili > Un'unica configurazione — `http://localhost:20128/v1` — e **qualsiasi** IDE o CLI basato sull'IA 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 ciascuno dei 37 strumenti (27 CLI di programmazione + 10 agenti CLI) → [`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** — senza scrivere file di configurazione, con credenziali iniettate per ciascun processo e un ambiente home isolato temporaneo per Qwen/Gemini: ```bash omniroute run claude --model openai/gpt-5.4 # Claude Code omniroute run codex --model glm/glm-5.2 # OpenAI Codex CLI omniroute run aider --model glm/glm-5.2 -- --message "reply OK" omniroute run goose --model glm/glm-5.2 omniroute run opencode --model glm/glm-5.2 -- run "reply OK" omniroute run qwen --model glm/glm-5.2 -- -p "reply OK" omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "reply OK" # Oppure scegli interattivamente provider+modello e scrivi la configurazione dello strumento: omniroute configure codex # disponibili 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 le variabili d'ambiente/gli argomenti esatti senza eseguire alcunché, mentre `--api-key-env NAME` evita che i segreti vengano salvati nella cronologia della shell. → [Integrazioni CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 375 provider AI — 153 contrassegnati come gratuiti nel catalogo
> **375 provider registrati** nelle raccolte canoniche chat, media, search, local, cloud-agent e system, inclusi **153 con metadati di discovery `hasFree: true`**. Il registro dei modelli chat copre **239 provider / 3.059 coppie provider-modello distinte / 1.475 ID modello grezzi**; il catalogo separato dei budget gratuiti conta **467 righe per modello**, **34 pool ricorrenti** e **51 provider gratuiti per sempre ricorrenti/keyless**. Questi denominatori sono diversi per progettazione; le definizioni e i calcoli con deduplica dei pool si trovano in [Provider Reference](docs/reference/PROVIDER_REFERENCE.md) e [Free Tiers](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. 📖 [Provider Reference](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Gratuito per sempre — $0, nessuna carta
OpenCode Zen
OpenCode Zen
DeepSeek V4, Nemotron 3
Nessun limite di token
Kilo Code
Kilo Code
Auto-router, 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
10K neurons al giorno
NVIDIA NIM
NVIDIA NIM
GLM, MiniMax
~40 RPM gratis
Cerebras
Cerebras
GLM 4.7, GPT-OSS
Credito una tantum di $5; carta richiesta
OpenRouter
OpenRouter
Modelli :free
+$10 → RPM più alto
📖 Catalogo completo leggibile dalla macchina → [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ Dove funziona OmniRoute — ovunque
> Stessa app, la tua macchina, le tue regole. Da un'installazione globale tramite npm fino al **tuo telefono** tramite Termux.
PiattaformaInstallazioneCaratteristiche principali
📦 npm (globale)npm install -g omnirouteUn solo comando, qualsiasi sistema operativo
🐳 Dockerdocker run … diegosouzapw/omnirouteMulti-arch AMD64 + ARM64
🖥️ Desktop (Electron)npm run electron:buildFinestra nativa + barra delle applicazioni — Windows / macOS / Linux
🎩 Barra dei menu (OmniRouteTray)brew install --cask zoispag/tap/omniroute-traySupervisiona e aggiorna automaticamente il server — macOS
💪 ARMarm64 nativoRaspberry Pi, server ARM, Apple Silicon
📱 Android (Termux)pkg install nodejs && npx -y omnirouteFunziona sul tuo telefono, 24/7, senza root
📲 PWA"Aggiungi alla schermata Home"A schermo intero, offline, installabile dal browser
🧩 Plugin OpenCode@omniroute/opencode-providerIntegrazione nativa con OpenCode
🤖 VS Code Copilot Chatinstalla l'estensione OmniCopilotOgni modello OmniRoute nel selettore nativo di Copilot Chat — versione stabile e Insiders
🛠️ Dal codice sorgentenpm install && npm run devModificalo, contribuisci
📖 [Guida a Docker](docs/guides/DOCKER_GUIDE.md) · [Desktop](electron/README.md) · [Icona nella 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 del Copilot Chat nativo di VS Code
> Nessuna nuova barra laterale, nessuna nuova interfaccia di chat: ogni modello fornito da OmniRoute appare direttamente nel > **selettore di modelli di Copilot Chat che già utilizzi**. A partire da VS Code 1.122, i modelli dei provider funzionano > senza accesso a GitHub o abbonamento a Copilot: modalità agente, chiamate agli strumenti e visione, > gratuitamente. Installa l'estensione **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**, collegala al tuo server OmniRoute (il valore predefinito è `localhost:20128`), quindi apri Copilot Chat → selettore di modelli → **Gestisci modelli…** → **OmniRoute**.
StoreLinkCompatibile con
🧩 VS Code MarketplaceInstalla →VS Code — versione stabile e Insiders
🔓 Open VSX RegistryInstalla →Cursor, Windsurf, VSCodium, Theia, code-server, Gitpod, Antigravity, Kiro…
Dall'editor: apri la vista **Estensioni**, cerca **"OmniRoute"**, fai clic su **Installa** — funziona allo stesso modo in entrambi gli store. Il codice sorgente, le segnalazioni e la guida alla pubblicazione si trovano in [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot). 📖 [Guida a VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — configurazione, cosa mostra il selettore, dashboard in una scheda, risoluzione dei problemi
### 🎩 Novità: OmniRouteTray — il tuo gateway, nella barra dei menu
> `omniroute serve` dà il meglio di sé quando è sempre attivo. **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)** > lo trasforma in un'app per la barra dei menu di macOS che puoi configurare e dimenticare: avvia il server, lo mantiene attivo > dopo i riavvii, lo aggiorna direttamente e rende accessibile il tuo budget di token in tempo reale con un clic — **senza > lasciare aperta una finestra del terminale e senza dover gestire `npm install -g omniroute`.** Realizzato con [Tauri v2](https://v2.tauri.app/) (un core Rust dalle dimensioni trascurabili), include il proprio runtime Node 24 firmato e gestisce un'installazione di OmniRoute appartenente all'app, quindi non entra mai in conflitto con le tue installazioni globali di `node`/`bun`. **Condivide la configurazione e il database esistenti in `~/.omniroute/`** — quindi è lo stesso OmniRoute che già utilizzi, semplicemente con un cappello. 🎩
Cosa faCome
🟢 Supervisiona il serverAvvia omniroute serve e adotta un'istanza già in esecuzione invece di duplicarla
📊 Utilizzo in tempo reale a colpo d'occhioBarre delle quote dei provider, limiti di sessione/settimanali di Claude con conto alla rovescia per il ripristino, ripartizione dei costi degli ultimi 30 giorni
🔄 Aggiornamento automatico sul postoInstallazione in più fasi, sostituzione atomica, rollback in caso di errore — sempre aggiornato alla versione più recente
🚀 Avvio all'accessoAvvio facoltativo all'accesso; solo nella barra dei menu, senza icona nel dock
🩺 Diagnostica e logDiagnostica con un clic e accesso ai log del server
```sh brew install --cask zoispag/tap/omniroute-tray ``` Preferisci un download? Scarica l'ultimo .dmgReleases. Il codice sorgente, le segnalazioni e la documentazione di compilazione si trovano su zoispag/omniroute-tray.
💛 Un progetto della community a cura di @zoispag — non è una versione ufficiale di 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% dei token — automaticamente
### 📖 Come funziona — pipeline, architettura e calcolo del risparmio Pipeline di compressione di OmniRoute: una richiesta illustrativa di 10.000 token dal client 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 a circa 1.080 token nell'esempio impilato documentato. I contenuti strutturati sono protetti dalle guardie di preservazione e dai gate di fedeltà per ogni fase; le modalità esplicitamente lossy o sperimentali possono trasformare i contenuti idonei. La combo impilata predefinita esegue `RTK → Caveman`. Quando entrambi agiscono sullo stesso payload di tool/contesto, i risparmi si combinano: ```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 pochi bastano?** Ogni richiesta attraversa la pipeline di compressione di OmniRoute **in modo trasparente** — nessuna modifica lato client. Ora è uno **stack di 12 motori componibili** che vengono eseguiti in ordine e si combinano in base alla combo di routing — basato su idee da [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). ### 🧱 Lo stack di 12 motori I motori vengono eseguiti nell'ordine della pipeline; ciascuno è attivabile e configurabile in modo indipendente per ogni combo:
#MotoreCosa fa
1Session-DedupElimina i contenuti ripetuti tra i turni (content-addressed, tra turni)
2CCRArchivia i blocchi di grandi dimensioni dietro marcatori di recupero, recuperati su richiesta
3LiteRiduzione di spazi bianchi + URL delle immagini (baseline a bassa latenza)
4RTKFiltro intelligente dei risultati dei tool, dedup e troncamento (consapevole dei comandi)
5Responses Tool OutputCompressione JSON lossless-first + diagnostica limitata per output di shell/patch/search/build (Responses API)
6HeadroomCompattazione tabellare lossless degli array JSON (~30%) tramite un codec GCF incorporato
7RelevancePunteggio estrattivo delle frasi rispetto all'ultima query dell'utente
8CavemanCompressione della prosa basata su regole (~65–75% sull'output)
9AggressiveRiassunto + invecchiamento progressivo dei turni precedenti
10LLMLingua-2Pruning semantico ML tramite MobileBERT ONNX — sicuro per il codice, asincrono
11UltraPruning euristico dei token con un livello opzionale basato su modello piccolo (SLM)
12OmniGlyphCodifica sperimentale del contesto come immagine per il misurato Claude Fable 5 sul wire diretto Anthropic; i transformer GPT 5.6 restano fail-closed in attesa dei riscontri dai provider. Quattro profili di compressione (predefinito aggressivo, bilanciato, coding-safe, passthrough) (il più aggressivo; opt-in)
I blocchi di codice, gli URL e i dati strutturati sono **sempre preservati** a livello di byte. I **preset con un clic** combinano i motori:
ModalitàRisparmioIdeale per
🪶 Lite~15%Default sicuro sempre attivo
🪨 Standard (Caveman)~30%Programmazione quotidiana
⚡ Aggressive~50%Sessioni lunghe con molti tool
🔥 Ultra~75%Massimo risparmio
🧰 RTK60–90%Output di shell/test/build/git
🔗 Stacked (RTK → Caveman)78–95%Prompt misti + log dei tool
**Esempio reale — modalità Standard:** > **Prima (69 token):** _"Il motivo per cui il tuo componente React viene ri-renderizzato è probabilmente che stai creando un nuovo riferimento a un oggetto a ogni ciclo di render. Quando passi un oggetto inline come prop, il confronto superficiale di React lo vede come un oggetto diverso ogni volta, il che attiva un ri-render. Consiglierei di usare useMemo per memorizzare l'oggetto."_ > > **Dopo (19 token):** _"Nuovo riferimento a oggetto a ogni render. Prop con oggetto inline = nuovo riferimento = ri-render. Avvolgi in useMemo."_ > > **Stessa risposta. Il 72% di token in meno. Nessuna perdita di precisione.** ✅ **Esempio PT-BR — modalità [Troglodita](https://github.com/leninejunior/troglodita):** > **Prima (42 token):** _"Il problema è che il componente si ri-renderizza perché a ogni ciclo di render viene creata una nuova referenza di oggetto. Consiglierei di usare `useMemo`."_ > > **Dopo (12 token):** _"Ri-render: nuova ref a ogni ciclo (oggetto inline ricreato). Usare `useMemo`."_ > > **Stessa risposta. ~70% di token in meno. Precisione tecnica intatta.** ✅
### 🎚️ Oltre gli engine — stili di output, il dial adattivo e il controllo per richiesta I 12 engine qui sopra riducono ciò che **entra**. Altri tre livelli plasmano **come**, **quando** e cosa **esce**: - **🪄 Output Styles** _(steering sull'asse dell'output)_ — iniettano istruzioni deterministiche e cache-safe che plasmano la risposta; combinabili, ciascuno con intensità `lite` / `full` / `ultra`. Aggiungere uno stile è una voce di una riga nel registry: - **Terse prose** — elimina riempitivi / articoli / attenuazioni; mantiene esatta la sostanza tecnica. - **Less code** — YAGNI del "lazy senior dev": la modifica funzionante più piccola, nessuno scaffolding non richiesto. - **Ponytail (lazy senior dev)** — risali la scala YAGNI, correggi la causa radice, il diff funzionante più piccolo. - **I have ADHD (action-first)** — l'azione successiva apre, passi numerati, un solo passo successivo concreto, nessun preambolo. - **Terse CJK (文言)** — stile ultra-conciso in cinese classico (limitato al locale `zh`). - **🎯 Adaptive context-budget** _(il dial)_ — invece di un singolo threshold di token on/off, scala gli engine più economici e meno lossy solo quanto serve per **stare nella finestra di contesto del modello**. Policy: `reserve-output` (default, model-aware) · `percentage` · `absolute`. Mode: `floor` (garantisce il fit) · `replace-autotrigger` (la tua scelta esplicita vince) · `off` (threshold legacy). - **🎛️ Dove viene decisa la compressione** _(precedenza, alta → bassa)_ — header `x-omniroute-compression` per richiesta › override del routing-combo › profilo nominato attivo › adaptive / auto-trigger › default del pannello › off. Il piano applicato viene restituito nell'header di risposta `X-OmniRoute-Compression: ; source=`. Auto-trigger per soglia di token, attiva il dial adattivo, fissa un profilo nominato, imposta un one-off per singola richiesta oppure assegna una pipeline per routing combo — quello che si adatta meglio al carico di lavoro. Un **eval harness** offline opt-in (`npm run eval:compression`) misura fedeltà vs. risparmio su un corpus fissato prima di promuovere 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 warning sui peer-dep? [Sono innocui](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated). > **Usi npm 11 o successivo?** npm può bloccare gli script del ciclo di vita dei pacchetti se non sono consentiti. Il `postinstall` di OmniRoute (`node scripts/build/postinstall.mjs`) è necessario per preparare i suoi file runtime nativi. Consenti i pacchetti indicati nel warning di npm quando installi globalmente. Per l'insieme di pacchetti riportato da OmniRoute 3.8.53: > > ```bash > npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute > ``` > > Per riutilizzare questa allowlist per future installazioni globali, configurala una volta sola e poi 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 release e l'altra; se npm riporta un elenco diverso, usa i nomi dei pacchetti presenti in quel warning. Consentire un pacchetto permette l'esecuzione dei suoi script di installazione. > **Usi Gemini Web o un altro provider basato su web-cookie?** Il pacchetto npm include > Playwright ma non il suo binario Chromium. Consulta la nota > [Configurazione di Playwright Chromium](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium) > prima di effettuare la prima richiesta a un web-provider. Dashboard su `http://localhost:20128` · API su `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 sua API key o completa il flusso di account. I piani gratuiti possono 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) Punta il tuo tool 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 scrivere codice e OmniRoute instrada e applica il fallback automaticamente per te. Se il tuo client non può inviare header personalizzati, OmniRoute espone anche alias di compatibilità con token: ```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 riescono ad allegare `Authorization: Bearer ...`. L'autenticazione tramite header 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/ (nessun 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, 209 migrazioni
MemoriaRicerca full-text SQLite FTS5 + embedding vettoriali quantizzati int8, decadimento tipizzato
SchemiZod 4 — convalida 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 MCP con ambiti · AES-256-GCM per i dati inattivi · DOMPurify
Occultamentowreq-js — impersonificazione delle fingerprint TLS JA3 / JA4, proxy a 3 livelli
ResilienzaCircuit breaker, backoff esponenziale, protezione anti-thundering-herd, autoripristino delle combinazioni automatiche
Registrazionepino — log JSON strutturati con contesto della richiesta
TestTest runner di Node.js + Vitest — oltre 56.000 dichiarazioni di test statiche in oltre 7.800 file di test tracciati (unitari, integrazione, E2E, sicurezza, ecosistema)
PiattaformeDesktop (Electron) · Android (Termux) · PWA (qualsiasi browser)
CI/CDGitHub Actions — pubblicazione automatica su npm + Docker Hub al rilascio
LinkSito web · npm · Docker Hub

## 📖 Documentazione
### 📘 Guida introduttiva
DocumentoDescrizione
Guida utenteProvider, combinazioni, integrazione CLI, distribuzione
Guida alla configurazioneMetodi di installazione completi, configurazioni degli strumenti CLI, configurazione dei protocolli, ottimizzazione dei timeout
Guida agli strumenti CLIConfigurazione specifica per Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo, Copilot
Modalità remotaControlla un'istanza OmniRoute remota (VPS) dalla CLI del tuo laptop tramite token di accesso con ambito limitato
Configurazione di Claude CodeCollega Claude Code a OmniRoute (locale/remoto) con launch e profili specifici per modello
Avvio rapidoInstallazione in 3 passaggi → connessione → configurazione
### 🔧 Operazioni e distribuzione
DocumentoDescrizione
Guida a DockerDocker run, profili Compose, HTTPS con Caddy, tunnel, tag delle immagini
Guida a PodmanIntegrazione Quadlet con systemd, podman-compose, SELinux
Distribuzione su VMGuida completa: configurazione di VM + nginx + Cloudflare
Distribuzione su Fly.ioDistribuzione su Fly.io con archiviazione persistente
Guida a TermuxEsegui OmniRoute su Android tramite Termux
Guida alle PWAInstallazione, caching e architettura della 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 meccanismi interni
Guida alla compressionePipeline con 7 opzioni: disattivata / leggera / standard / aggressiva / ultra / RTK / sovrapposta
Compressione RTKCompressione dell'output dei comandi, filtri, attendibilità, verifica, recupero dell'output non elaborato
Motori di compressioneCaveman, RTK, pipeline sovrapposte, interfacce dashboard/API/MCP
Formato delle regole di compressioneSchemi JSON dei pacchetti di regole per i filtri Caveman e RTK
Pacchetti linguistici per la compressioneRilevamento della lingua e creazione di pacchetti di regole Caveman
Guida alla resilienzaCircuit breaker, periodi di attesa, coda, protezione dal thundering herd, spoofing TLS
Motore Auto-ComboValutazione basata su 16 fattori, pacchetti di modalità, autoriparazione
Guida ai proxySistema proxy a 3 livelli, marketplace 1proxy, operazioni CRUD sul registro
Livelli gratuitiDirectory consolidata: 34 pool ricorrenti documentati / 467 voci di livello gratuito catalogate
Galleria delle funzionalitàTour visivo della dashboard con schermate
Documentazione del codebasePanoramica del codebase adatta ai 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 A2AScheda agente A2A, attività, competenze e streaming
### 📋 Progetto e qualità
DocumentoDescrizione
Come contribuireConfigurazione e linee guida per lo sviluppo
Modello di branching e rilascioA cosa puntano le PR (release/*), cosa significano main e i tag
Registro delle modificheCronologia completa dei rilasci per versione
Politica di sicurezzaSegnalazione delle vulnerabilità e pratiche di sicurezza
Guida i18nSupporto per 67 lingue, flusso di lavoro di traduzione, RTL
Checklist di rilascioPassaggi di validazione pre-rilascio
Piano di coperturaStrategia di copertura dei test per oltre 56.000 dichiarazioni di test statiche in oltre 7.800 file di test tracciati

# ⭐ Principali contributori > OmniRoute è plasmato da una community open-source appassionata. Queste persone hanno dato contributi eccezionali che incidono direttamente sulla qualità, sulla stabilità e sulla portata del progetto. **Grazie.** ### Contributori esterni per pull request unite
PosizioneContributorePR unite~Righe modificate
1maxmad64bis37125.326.561
2HouMinXi26913.456.272
3backryun210270.562
4oyi77190411.243
5pacocartones17478.276
6JxnLexn1513.562.936
6KooshaPari1515.972.314
8rdself14580.663
9RaviTharuma123500.065
10herjarsa88230.872
11hartmark842.849.554
12jonlwheat2-gif6768.548
13artickc6243.502
14chirag127526.661
15xz-dev50245.976
16xiaoyaner02014733.626
17woodsonl46809.391
18rqzbeh44147.896
19QuangBlue4313.112
20MumuTW4026.093
Censimento effettuato il 2026-10-18 15:09:09 UTC con il commit più recente di release/v3.8.52, 656f01cb43. Il censimento paginato tramite GitHub GraphQL contiene 9.191 PR unite: 3.834 del proprietario del repository, 229 di Dependabot, 6 di altri bot/app e 5.122 PR esterne da 835 contributori distinti. Le “righe modificate” sono le aggiunte + le eliminazioni di GitHub e includono file generati, lockfile, cataloghi, traduzioni e documentazione; rappresentano il turnover, non le LOC scritte. 49 PR riportano diff GitHub superiori a 500.000 righe (ad esempio #13399, una singola aggiunta di provider, elenca 2.347 file modificati), il che gonfia diversi totali sopra riportati. I pari merito sono classificati insieme. ### Commit attribuiti su GitHub
Dizzle
Dizzle

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

🥈 269 commit attribuiti a GitHub
Paijo
Paijo

🥉 229 commit attribuiti a GitHub
backryun
backryun

🏅 202 commit attribuiti a GitHub
Paco Cartones
Paco Cartones

🏅 174 commit attribuiti a GitHub
Ravi Tharuma
Ravi Tharuma

🏅 126 commit attribuiti a GitHub
Markus Hartung
Markus Hartung

🏅 114 commit attribuiti a GitHub
Randi
Randi

🏅 108 commit attribuiti a GitHub
Jan Leon
Jan Leon

🏅 87 commit attribuiti a GitHub
Chris
Chris

🏅 70 commit attribuiti a GitHub
Koosha Paridehpour
Koosha Paridehpour

🏅 68 commit attribuiti a GitHub
Ricontrollato il 2026-10-18 14:44:45 UTC: commit attribuiti a GitHub riportati dall'API Contributors del repository per il ramo predefinito release/v3.8.52. L'API ha restituito 849 identità (429 utenti, 2 bot, 418 anonime); questa tabella esclude il maintainer, i bot e le identità anonime e mantiene i pareggi in classifica. È distinta sia dalla classifica delle PR unite sopra sia dal censimento dei metadati Git riportato di seguito. > 🙏 Le funzionalità, le correzioni di bug e i miglioramenti infrastrutturali di questi contributor 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 conta. 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 900 contributori
[![Contributori](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=993&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) Verificato il 2026-10-18 sulla punta attiva di release/v3.8.52, commit ad160ab2d1 (6.826 commit): 993 identità Git umane normalizzate — 707 risultano come autori di commit (incluso il manutentore) e 286 compaiono solo nei trailer espliciti Co-authored-by. Il censimento applica .mailmap, confronta gli indirizzi e-mail senza distinguere tra maiuscole e minuscole, associa gli indirizzi GitHub noreply numerici e quelli testuali solo quando codificano lo stesso handle, esclude 26 identità relative a bot/agenti/servizi/segnaposto e non unifica i normali indirizzi e-mail solo perché i rispettivi nomi visualizzati corrispondono. L'audit del 2026-08-24 riportava 639 identità; rieseguendo questo metodo sulla base ac02c5b42f di tale audit se ne ottengono 619, pertanto l'incremento deriva da nuovi contributori, non da un metodo meno rigoroso. ### Come contribuire 1. Crea un fork del repository 2. Crea un branch a partire dalla punta **attiva** di `release/vX.Y.Z` (non da `main`) — consulta [Modello di branching e rilascio](docs/ops/BRANCHING_MODEL.md) 3. Crea il tuo branch per la 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. ### Rilascio di una nuova versione ```bash # Crea una release — la pubblicazione su npm avviene 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 si regge sulle spalle di giganti. È nato come fork di **[9router](https://github.com/decolua/9router)** e come port TypeScript del progetto Go **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — e da lì, ogni sottosistema elencato di seguito è stato ispirato da un progetto open source che lo aveva realizzato per primo. Ognuno di essi ha plasmato una parte concreta di OmniRoute. Questo è il nostro ringraziamento a tutti loro. 🙏 > ⭐ numero di stelle verificato tramite l'API REST di GitHub il 18 ottobre 2026 — date una stella a questi progetti. I conteggi rappresentano un'istantanea esatta alla data indicata e cambieranno naturalmente nel tempo. ### 🧬 Origini e gateway
Progetto⭐Come ha ispirato OmniRoute
9router31,004Il progetto originale su cui si basa questo fork — qui esteso con API multimodali e una riscrittura completa in TypeScript.
CLIProxyAPI55,591L'implementazione in Go che ha ispirato questo port JavaScript / TypeScript.
LiteLLM61,482Il gateway AI il cui dataset pubblico dei prezzi alimenta la sincronizzazione del nostro monitoraggio dei costi e il cui modello di normalizzazione dei provider ha contribuito a definire il nostro routing.
codex-chatgpt-web14,526Codice sorgente MIT adattato nel bridge incluso ChatGPT Web → Codex Responses, inclusi gli adattatori per sessioni del browser, framing delle risposte, utilizzo e ricerca web.
free-claude-code61,430Pattern trasferiti nel ripristino degli stream, negli alias senza ragionamento, nella ricerca web di fallback, nei limiti a finestra scorrevole, nell'oscuramento dei log e nei flussi di avvio irrobustiti.
composer-api346Pattern di Cursor Composer per la scelta degli strumenti, i vincoli dell'output e il commit degli strumenti, adattati nell'esecutore nativo di Cursor.
codex-multi-auth553Pattern di nuovo accesso e rotazione dei token di aggiornamento trasferiti nella riautenticazione OAuth di Codex.
opencode-anthropic-auth558Valori predefiniti di trasformazione compatibili con Claude Code e comportamento delle intestazioni di fatturazione, generalizzati nel bridge basato sulla configurazione di OmniRoute.
grok2api-merged2Le sue mappature dei modelli Grok, il generatore Statsig con TypeError simulato, i valori predefiniti per richieste e dispositivi e il processore di risposte NDJSON sono stati adattati in modo sostanziale nell'esecutore Grok Web di OmniRoute.
TQZHR/grok2api706La principale fonte indiretta di codice alla base di grok2api-merged; le sue implementazioni di modelli, intestazioni, payload, Statsig e processori sono preservate nella discendenza di Grok Web.
chenyme/grok2api7,819Il codice sorgente MIT sottostante per i valori predefiniti di payload e dispositivi di Grok, il generatore Statsig e il processore result.response, confluiti attraverso TQZHR e grok2api-merged.
grok2api-pro27Una fonte indiretta citata da grok2api-merged per il suo livello di pool di proxy; OmniRoute conserva tale nota di discendenza, ma non rivendica il porting di un pool di proxy nel proprio esecutore Grok Web circoscritto.
GrokProxy51Il suo proxy Grok autenticato tramite cookie e il pattern di streaming result.response.token hanno contribuito a definire il trasporto Grok Web di OmniRoute.
GrokBridge5L'implementazione originale di Grok Web ha preso come riferimento la sua architettura upstream HTTP/browser; il suo percorso HTTP diretto deriva da GrokProxy, pertanto non viene rivendicato alcun porting indipendente del codice.
### 🗜️ Contesto e compressione dei token — motori
Progetto⭐Come ha ispirato OmniRoute
Caveman113,396Il progetto virale «perché usare molti token quando pochi token bastano» — la sua filosofia da uomo delle caverne alimenta la nostra modalità di compressione standard e oltre 30 regole di rimozione dei riempitivi e condensazione.
RTK – Rust Token Killer83,835Compressione ad alte prestazioni dell'output dei comandi — ha ispirato il nostro motore RTK, il DSL per i filtri JSON, il recupero dell'output grezzo e la pipeline combinata RTK → Caveman.
headroom75,741Compressione reversibile del contesto (SmartCrusher) — ha ispirato il nostro motore headroom e il modello di marcatori di recupero ccr.
LLMLingua6,757Ricerca sulla compressione dei prompt (LLMLingua / LLMLingua-2) — ha ispirato il nostro motore llmlingua asincrono, sicuro per il codice e con comportamento fail-open.
llmlingua-2-js32Il port JS/ONNX (MobileBERT / XLM-RoBERTa) usato come backend su thread worker per il nostro motore LLMLingua.
Troglodita50Compressione dei token in portoghese brasiliano — alimenta il nostro pacchetto linguistico pt-BR: riduzione dei pleonasmi e rimozione dei riempitivi ottimizzate per la grammatica del portoghese brasiliano.
ponytail166,731La skill virale del «senior dev pigro» che segue il principio YAGNI — ha ispirato il nostro stile di output less-code: orientamento verso la modifica funzionante più piccola, che riduce il codice _generato_ (l'equivalente, sul versante dell'output, della prosa concisa di Caveman).
i-have-adhd57,628Il suo stile di risposta orientato all'azione e adatto alle persone con ADHD è stato adattato nello stile di output conciso di OmniRoute in cinque lingue.
### 🧩 Formati compatti, ricerca sui token e strumenti sensibili al codice
Progetto⭐Come ha ispirato OmniRoute
TOON25,509Notazione degli oggetti orientata ai token — il suo modello colonnare, composto da intestazione e righe, ha plasmato la nostra fase di compattazione tabellare.
GCF – Graph Compact Format59Il suo formato compatto per grafi e la progettazione basata su un profilo generico hanno influenzato la compattazione tabellare di OmniRoute e il formato del codec Headroom.
gcf-typescript4L'implementazione TypeScript con licenza MIT, integrata direttamente ed estesa come codec del profilo generico di Headroom.
token-optimizer-mcp551Cache Brotli/SQLite + delta del contesto per sessione — ha ispirato il nostro motore session-dedup.
token-savior1,182Compattazione dell'output Bash + profili MCP — ha ispirato la nostra disciplina di interruzione della compressione e la riduzione dei manifest degli strumenti MCP.
token-saver154Compressione dell'output sensibile al contenuto e specifica per tipo di file, con interruzione in caso di errore — ha convalidato il nostro instradamento per tipo e l'omissione in caso di guadagno minimo insufficiente.
token-optimizer2,595«Trova i token fantasma» — il suo modello di offload + handle recuperabile ha influenzato il nostro approccio all'offload CCR.
TokenMizer33Un modello basato su un grafo di sessione + deduplicazione delle righe tra turni, che ha influenzato la progettazione di session-dedup.
OmniCompress3JSON colonnare in Rust + recupero indirizzato per contenuto + deduplicazione tra messaggi — ha convalidato la progettazione dei nostri motori headroom/ccr/session-dedup e l'invariante stabile rispetto alla cache secondo cui «la forma compressa è indipendente dalla posizione».
mcp-compressor133Compressione degli schemi e delle descrizioni degli strumenti MCP — ha influenzato la riduzione della cardinalità dei manifest degli strumenti MCP.
RepoMapper217Classificazione delle mappe dei repository in stile Aider — ha influenzato la nostra esplorazione delle mappe dei repository 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,205Toolkit per la TypeScript Compiler API — ha ispirato la nostra rimozione dei commenti basata su parser, che preserva le stringhe, i template literal e le espressioni regolari.
### 🧠 Memoria e RAG
Progetto⭐Come ha ispirato OmniRoute
Mem067,385Livello di memoria universale — il suo modello di proxy come punto di confine per scrittura e lettura ha plasmato la nostra architettura della memoria.
Letta (MemGPT)25,179Agenti con stato e memoria a livelli — hanno ispirato il modello a livelli del nostro sistema di controllo e ripristino del contesto (CCR).
WFGY1,800La tassonomia ProblemMap di 16 modalità di errore ricorrenti nei sistemi RAG/LLM — il vocabolario condiviso della nostra guida alla risoluzione dei problemi.
### 🛰️ Ispezione del traffico, MITM e proxy trasparente
Progetto⭐Come ha ispirato OmniRoute
llm-interceptor79L'intercettazione e l'analisi MITM del traffico tra assistente di programmazione e LLM hanno contribuito a definire i requisiti iniziali dell'Ispettore del traffico. Quattro moduli derivati in precedenza — unione SSE, normalizzazione delle conversazioni, mascheramento dei segreti e sanificazione delle intestazioni — sono stati sostituiti da implementazioni indipendenti clean-room basate su standard di protocollo pubblici. Le due superfici host-passthrough (passthrough.ts e _internal/bypass.cjs) rimangono implementazioni interne di OmniRoute classificate in modo indipendente; non sono state riscritte nell'ambito di tale sostituzione.
ProxyBridge6,814Instradamento proxy trasparente per processo — ha ispirato il nostro arresto MITM resistente agli arresti anomali, 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,286Database aperto di specifiche, prezzi e funzionalità dei modelli di IA — sincronizzato nativamente con il nostro catalogo dei modelli.
React Flow / xyflow38,705La libreria di grafi basata su nodi su cui si fondano il nostro Studio di compressione e il nostro Studio di combinazione/instradamento in tempo reale.
LangGraph43,443La visualizzazione live del grafo del flusso di lavoro di LangGraph Studio ha ispirato la vista a cascata in tempo reale dei nostri Studio.
Langfuse35,990Il suo modello di osservabilità traccia → intervallo → generazione ha plasmato il diagramma a cascata del nostro Studio di compressione.
Kiali3,645Osservabilità della service mesh Istio — ha ispirato i nostri badge degli interruttori automatici e gli indicatori visivi degli archi di errore nello Studio di instradamento/combinazione.
lobe-icons2,615Loghi dei marchi IA/LLM utilizzati per visualizzare le icone dei fornitori nella nostra dashboard.
flag-icons12,473Fornisce le bandiere SVG con licenza MIT utilizzate dal selettore della lingua del README.
### 🛡️ Sicurezza
Progetto⭐Come ha ispirato OmniRoute
awesome-secure-defaults722Un elenco selezionato di librerie sicure per impostazione predefinita che orienta le nostre scelte di sicurezza (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
### 🧭 Strumenti complementari
Progetto⭐Come ha ispirato OmniRoute
ClawRouter6,628Ha 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,333La rimappatura dei modelli basata sull'account, la convalida del percorso dell'eseguibile e il comportamento delle etichette dei piani hanno contribuito a definire il runtime Antigravity di OmniRoute.
vscode-antigravity-cockpit4,850Il suo formato compatto per il conto alla rovescia fino alla reimpostazione della quota ha ispirato la corrispondente visualizzazione dei limiti del fornitore in OmniRoute.
AionUi33,611Le sue integrazioni ACP hanno ispirato il rilevamento automatico degli agenti CLI installati da parte di OmniRoute.
CodexBar22,616Ha identificato l'interfaccia delle quote di Grok Build; OmniRoute ha quindi verificato e corretto in modo indipendente il formato effettivo dei dati trasmessi.
## 📄 Licenza Licenza MIT - consulta [LICENSE](LICENSE) per i dettagli. ---
**[⬆ Torna all'inizio](#-omniroute)** · Realizzato con ❤️ per la comunità AI open-source. OmniRoute v3.8.53 · Node ≥22.22.2 · Licenza MIT · omniroute.online