Validated on the combined 12-PR batch board: docs gates (check:docs-all incl. doc-links + fabricated-docs strict) all pass. Italian README restored to a real translation and re-synced with the canonical root README. Thank you @Natizh — and thank you for the sharp analysis of the translation-pipeline skip logic; worth a follow-up issue.
🚀 OmniRoute — Il Gateway AI Gratuito
🌐 Lingue: 🇺🇸 English · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇪🇸 es · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇳 gu · 🇮🇱 he · 🇮🇳 hi · 🇭🇺 hu · 🇮🇩 id · 🇮🇩 in · 🇮🇹 it · 🇯🇵 ja · 🇰🇷 ko · 🇮🇳 mr · 🇲🇾 ms · 🇳🇱 nl · 🇳🇴 no · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇸🇰 sk · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇻🇳 vi · 🇨🇳 zh-CN · 🇹🇼 zh-TW
💰 ~1,51 miliardi di token gratuiti / mese
Combinare manualmente i tier gratuiti è scomodo: decine di SDK, decine di rate limit e nessuna idea chiara di quanta capacità sia davvero disponibile. OmniRoute aggrega i tier gratuiti documentati di 42 pool di provider / 495 modelli in un unico numero trasparente e lo mostra in tempo reale nella dashboard (
/dashboard/free-tiers).
Riepilogo animato della pagina live
/dashboard/free-tiers. Metodologia completa (deduplicazione dei pool, tier di credito, condizioni dei provider): docs/reference/FREE_TIERS.md.Questi valori vengono ricontrollati ogni due settimane rispetto al catalogo live e possono sia salire sia scendere: se un provider termina un tier gratuito, il numero diminuisce; se ne arriva uno nuovo, aumenta. Pubblichiamo ciò che il catalogo calcola realmente, mai una stima ottimistica arrotondata verso l'alto.
⭐ Metti una stella alla repo se OMNIROUTE ti ha aiutato a risparmiare e a lavorare meglio.
💬 Unisciti alla community
👋 Segui il maintainer — scopri per primo nuovi provider, release e suggerimenti:
Domande, suggerimenti sui provider, roadmap e supporto → Discord · Telegram · WhatsApp 🌍 Global / 🇧🇷 Brasil
📈 Il gateway continua a crescere
| v3.8.49 | v3.8.50 | v3.8.51+ |
|
|---|---|---|---|
| 🌐 Provider | 290 | 342 | altri in arrivo |
| 🧠 Modelli documentati | 1185 | 1202 | — |
| 🖼️ Modality Bridge | — | 🆕 vision | video |
| 📡 Catalogo gratuito Radar | — | 🆕 opt-in | — |
| ⚖️ Scheduling quota-aware | — | — | 🔭 prossimamente |
| 📊 Telemetria delle quote | — | — | 🔭 prossimamente |
→ Roadmap — verso v3.9.0 LTS
🧩 Disponibile come
| 🚀 Inizia | 🚀 Avvio rapido | 📦 Installazione | 🆓 Zero-config |
| 💡 Scopri | 💥 La promessa | 🤔 Perché OmniRoute | 🏆 Cosa lo distingue |
| ⚙️ Funzionalità | 🎯 Combo | 🌐 Provider | 🔌 CLI & MCP |
| 🗜️ Compressione | 🖥️ Dove funziona | 🔒 Privacy | |
| 👀 Guarda | 🎬 In azione | ✨ Novità | 🤖 CLI compatibili |
| 💚 Supporto | 💚 Supporta / Dona | 💬 Community | 💖 Sponsor |
| 📦 Progetto | 🛠️ Stack tecnologico | 📖 Documentazione | 👥 Contributor |
# Fresh install, zero credentials — `auto` already works:
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
Preferisci uno specifico backend gratuito? Chiamalo direttamente, ad esempio oc/… (OpenCode Free) o felo/… (Felo). Poi passa a auto e lascia che sia OmniRoute a scegliere.
📦 Script di avvio rapido pronti da copiare per Python, Node.js, PHP e cURL → examples/quickstart/
🤝 Supportato dai nostri amici dell'Open Source
Vuoi diventare un Open Source Friend? Queste sono le aziende che sostengono l'open source e aiutano OmniRoute a continuare a crescere — e dichiariamo pubblicamente dove viene usato ogni token che ci forniscono. Contatto: diegosouza.pw@outlook.com
|
Kimi Moonshot AI |
Grazie a Kimi (Moonshot AI), il nostro Open Source Friend fondatore, per il sostegno al progetto! Kimi è il laboratorio AI dietro le famiglie di modelli open-weight K2 e K3 — Kimi K3 offre una finestra di contesto da 1M token, vision nativa e capacità di coding di frontiera a una frazione del prezzo dei modelli chiusi, e funziona subito con Claude Code, Codex e ogni strumento di coding supportato da OmniRoute.
Cosa rende possibile il supporto di Kimi: i crediti API di Kimi alimentano la pipeline di release validata dall'AI di OmniRoute — la fase merge validation powered by Kimi K3 che esamina ogni pull request prima del rilascio — oltre allo sviluppo quotidiano delle funzionalità. Il supporto Kimi di prima classe è disponibile su entrambi i canali: la Kimi API diretta ( kimi-k3) e il piano di coding Kimi Code (OAuth e API key). OmniRoute è anche il primo progetto open source brasiliano nel programma di supporto di Kimi. Ottieni una Kimi API key con il 15% di crediti extra →
|
|
Cheaper Inference cheaperinference.com |
Grazie a Cheaper Inference, un Open Source Friend di OmniRoute, per il sostegno al progetto! Cheaper Inference è un gateway ordinato per costo che rivende 42 modelli di frontiera — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok e MiniMax — dietro un unico endpoint compatibile con OpenAI, instradando ogni richiesta verso il provider idoneo più economico senza mai addebitare più del prezzo di listino del produttore del modello.
Supporto di prima classe in OmniRoute: Chat Completions, endpoint nativo /v1/responses, vision, tool calling e 3 modelli immagine (grok-imagine, nano-banana-pro, nano-banana-2, raggiungibili come cheaperinference/<model>). Ottieni una API key →
|
I link contrassegnati con aff=omniroute sono link partner. Finanziano il progetto senza costi aggiuntivi per te.
🎟️ Promo affiliati — coupon gratuiti di registrazione da provider che non sponsorizziamo (clicca per espandere)
Questa sezione contiene soltanto codici referral/coupon. Le partnership sponsorizzate sono riportate sopra in 🤝 Supportato dai nostri amici dell'Open Source. OmniRoute non ha sponsorizzazioni o partnership con i provider elencati qui: sono coupon pubblici utilizzabili da chiunque.
|
AgentRouter agentrouter.org |
AgentRouter — registrazione affiliata · $100 di crediti gratuiti alla registrazione (server gratuito, aspettati una latenza maggiore — ideale per test, non per produzione). Supporto di prima classe in OmniRoute dalla v3.8.50: Chat Completions, formato wire compatibile con Anthropic e percorso compatibile con OpenAI. I modelli disponibili includono claude-opus-4-8, claude-opus-5, gpt-5.6-sol e altri. Ottieni i tuoi $100 →
⚠️ Link affiliato — OmniRoute non ha sponsorizzazioni o partnership con questo provider. |
Conosci un altro provider con un generoso coupon gratuito di registrazione utile agli utenti OmniRoute? Apri una issue e lo aggiungeremo qui.
Una combo è una catena di modelli tra cui OmniRoute instrada le richieste automaticamente. La quota finisce, un provider fallisce o i costi aumentano: la combo passa silenziosamente al modello successivo. È questo che rende OmniRoute resistente ai guasti. 🛡️
⚡ Zero-config — usa semplicemente auto
Non devi creare nessuna combo. Imposta il modello su auto (o una sua variante) e OmniRoute costruisce una combo virtuale a partire dai provider collegati, assegnando i punteggi in tempo reale:
| ID modello | Cosa ottimizza |
|---|---|
auto | 🎯 Predefinito bilanciato (LKGP — resta sull'ultimo provider valido) |
auto/coding | 🧑💻 Pesi orientati prima alla qualità per la generazione di codice |
auto/fast | ⚡ Prima la latenza più bassa |
auto/cheap | 💰 Prima il costo per token più basso |
auto/offline | 🔋 Prima il maggiore margine di quota / rate limit |
auto/smart | 🔭 Prima la qualità + 10% di esplorazione per scoprire modelli migliori |
🔀 Oppure creane una tua — 19 strategie di routing
Tutte e 19 le strategie — combinabili liberamente per ogni passaggio della combo:
| # | Strategia | Cosa fa |
|---|---|---|
| 1 | priority | Lista ordinata con priorità al primo target — esaurisce ciascuno prima di passare al successivo 🥇 |
| 2 | fill-first | Usa completamente la quota di ogni target prima di passare oltre |
| 3 | weighted | Scelta casuale pesata in base al peso assegnato a ogni target |
| 4 | round-robin | Scorre ciclicamente i target in ordine |
| 5 | p2c | Bilanciamento casuale del carico Power-of-Two-Choices |
| 6 | least-used | Sceglie il target con il carico corrente più basso |
| 7 | random | Scelta casuale uniforme (con deduplicazione) |
| 8 | strict-random | Casuale senza deduplicare le ripetizioni 🎲 |
| 9 | cost-optimized | Riduce al minimo il costo per richiesta usando i prezzi live del catalogo 💸 |
| 10 | headroom | Sceglie il target con la maggiore quota residua |
| 11 | reset-window | Preferisce il target la cui finestra di quota si resetta prima |
| 12 | reset-aware | Ordina in base al reset della quota — prima le finestre più brevi 📊 |
| 13 | context-relay | Passa il contesto tra i target nelle conversazioni lunghe 🧠 |
| 14 | context-optimized | Sceglie il target più adatto alla dimensione corrente del contesto |
| 15 | cache-optimized | Fissa ogni prefisso di prompt riutilizzabile allo stesso account — massimizza gli hit della prompt cache 🎯 |
| 16 | lkgp | Last-Known-Good Path — resta sull'ultimo target che ha risposto correttamente |
| 17 | auto | Punteggio live su 14 fattori per ogni connessione 🤖 |
| 18 | fusion | Invia la richiesta a un gruppo di modelli + un giudice sintetizza una sola risposta 🧬 |
| 19 | pipeline | Concatena i passaggi — l'output di ogni target alimenta il successivo 🔗 |
Il motore Auto-Combo valuta ogni candidato su 14 fattori (salute, quota, costo, latenza, tasso di successo, freschezza…) — consulta docs/routing/AUTO-COMBO.md.
🧱 Resilienza integrata (3 livelli indipendenti)
📖 Motore Auto-Combo · Guida alla resilienza
📊 Metodologia completa e dettaglio per funzionalità rispetto a 9router, OpenRouter, CLIProxyAPI e LiteLLM → docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md
💚 Supporta OmniRoute
OmniRoute è distribuito con licenza MIT e mantenuto apertamente. Se ti fa risparmiare tempo o denaro, ecco come aiutarlo a restare indipendente — scegli ciò che preferisci. Le sponsorizzazioni non influenzano mai la priorità del routing: acquistano visibilità, non posizionamento.
| ⭐ Metti una stella alla repo | Gratis — aiuta davvero la visibilità | Dai una stella a OmniRoute |
| 🐙 GitHub Sponsors | Una tantum o mensile · zero commissioni della piattaforma | github.com/sponsors/diegosouzapw |
| ☕ Ko-fi | Mancia una tantum, senza registrazione per chi dona | ko-fi.com/diegosouzapw |
| 🧋 Buy Me a Coffee | Piccolo gesto informale | buymeacoffee.com/diegosouzapw |
| 🖐 Liberapay | Ricorrente · non profit · open source | liberapay.com/diegosouzapw |
| 🇧🇷 PIX (Brasile) | Istantaneo, senza commissioni | chiave e QR qui sotto |
| ₿ Crypto | BTC · ETH · USDT-TRC20 · USDC-Solana | indirizzi qui sotto |
🇧🇷 PIX — istantaneo, senza commissioni (Brasile)
Chiave (casuale): 5d865059-bc44-483a-962d-43ceb80126eb
Pix copia-e-cola:
00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD
₿ Crypto — BTC · ETH · USDT-TRC20 · USDC-Solana (clicca per espandere)
| ₿ BTC | Bitcoin (SegWit) | bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd |
| Ξ ETH | Ethereum (ERC20) | 0x64Cf6B68A6Ff34288e89172950a2d00102337a84 |
| ₮ USDT | Tron (TRC20) | TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2 |
| $ USDC | Solana | 2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu |
⚠️ Invia ogni moneta esclusivamente sulla rete indicata: inviarla sulla rete sbagliata può causare la perdita dei fondi.
🐛 Hai trovato un bug o vuoi lasciare un feedback? Apri una Discussion.
Note per gli sviluppatori: il progetto può generare un file locale .env durante npm install/postinstall per comodità nello sviluppo. Questo file viene intenzionalmente ignorato tramite .gitignore (vedi .gitignore) e non deve mai essere incluso nei commit; se viene committato accidentalmente, ruota ogni secret esposto e rimuovi il file dalla cronologia. Consulta docs/DEVELOPER-ENVIRONMENT.md per le indicazioni sulla gestione dei file di ambiente locali e dei secret.
📡 OmniRoute Radar
Il valore principale dei tier gratuiti resta ~1,53 miliardi di token/mese, calcolato sul catalogo documentato con deduplicazione dei pool riportato sopra. I crediti temporanei di registrazione dei provider possono separatamente portare il primo mese a ~2,15 miliardi. Radar è un overlay opzionale e firmato del catalogo, pensato per chi vuole informazioni più aggiornate sulla disponibilità dei modelli gratuiti tra una release di OmniRoute e la successiva; il catalogo della community e tutte le funzionalità gratuite esistenti restano gratuiti.
I sostenitori possono ricevere il catalogo live e ulteriori opportunità offerte dai provider. Il relativo tetto separato e variabile è di circa 3 miliardi di token/mese al massimo, a seconda della disponibilità dei provider. Questo limite non è una garanzia: i provider possono modificare quote, requisiti, modelli o regioni in qualsiasi momento.
Radar è opt-in e usa soltanto richieste GET. Il client OmniRoute non carica prompt, traffico, configurazione dei provider, telemetria d'uso o lo stato locale di chiusura degli annunci. Dettagli sui requisiti e sul catalogo corrente su radar.omniroute.online/planos.
Novità principali da v3.8.20 → v3.8.50. Cronologia completa in
CHANGELOG.md.
- 🎛️ OmniConductor — delega A2A in ingresso alla tua flotta di agenti, skill Conductor nell'Agent Card e un pannello dashboard con chat vocale push-to-talk Faro. → A2A Server
- 🛂 Admission adattiva e protezione dal sovraccarico — le richieste chat pesanti vengono messe in coda invece di ricevere 503, con lease RPM rolling atomici per connessione. → Guida alla resilienza
- 🗂️ Ordinamento canonico di
/v1/models— un blocco contiguo raggruppato per provider per ciascun provider (combo sempre in testa), stabile tra tutte le fonti del catalogo. → Riferimento API - 🗜️ Rafforzamento della compressione — protezione dall'inflazione attiva per impostazione predefinita, pack Caveman per DE / FR / JA + cinese (wényán), filtri RTK per Gradle e .NET. → Compressione
- 💸 Costo flat-rate trasparente — i provider in abbonamento / coding plan risultano a $0 nelle analytics dei costi; budget, quote e routing continuano a fare stime. → Riferimento API
- ⚖️ Routing Quota-Share — divide equamente la quota di un account condiviso tra chiavi in pool, in modo work-conserving così le porzioni inattive vengono prestate. → Guida alla resilienza
- 🤖 Configurazione CLI/agente con un comando —
setup-*configura oltre 12 strumenti di coding;omniroute runavvia 7 CLI (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI) senza scrivere configurazioni;omniroute configureè un selettore interattivo provider+modello con preferiti per contesto. → Integrazioni CLI - 🛰️ Modalità remota — controlla un OmniRoute remoto con token scoped (
connect/contexts/tokens) + helper OAuthantigravityper installazioni VPS. → Modalità remota - 🧭 Auto-routing più intelligente — combo
auto/<category>:<tier>, Fusion (gruppo di modelli + giudice), routing task-aware, override per-request di modello / modalità / budget USD. → Auto-Combo - 🗜️ Compressione pluggable — 12 motori componibili + Compression Studios: LLMLingua-2, Ultra a due livelli, omniglyph, fidelity gate per passaggio, GCF v3.2, editor drag-reorder. → Compressione
- 🕵️ Decrittazione MITM trasparente (TPROXY) — cattura le CLI che ignorano le variabili d'ambiente del proxy, con CA per-SNI + installer del trust store. → MITM/TPROXY
- 💸 Telemetria dei costi ovunque — header di costo/utilizzo
X-OmniRoute-*su ogni endpoint, header del risparmio su cache HIT, quote di spesa USD per chiave. → Riferimento API - 🧠 Memoria sotto il tuo controllo — disattivata per impostazione predefinita, quantizzazione vettoriale int8 opt-in + decadimento tipizzato,
x-omniroute-no-memoryper-request. → Memoria - 🛡️ Sicurezza — guard contro la prompt injection su ogni route LLM (suite red-team), guardrail opzionale per il masking delle credenziali (oscura API key/secret trapelati in entrambe le direzioni), web search DuckDuckGo gratuita come ultima risorsa e gate di login OIDC opzionale per la dashboard (il login con password resta sempre disponibile). → Guardrail
- 🖼️ Nuovi endpoint —
/v1/ocr(Mistral OCR) e/v1/audio/translations(stile Whisper) completano la superficie media. → Riferimento API - 🎨 Generazione immagini / video / audio — una sola API per i media: xAI Grok Imagine e Novita AI video, ComfyUI, Freepik, Adobe Firefly, Microsoft Designer, Segmind, EdgeTTS. → Riferimento API
- 🌍 Deployment e operazioni —
basePathdel reverse proxy, rilevamento automatico della lingua del browser, tracking dei dispositivi per chiave, trust MITM senza root, localizzazione zh-TW. → Ambiente - 🤝 Più provider e agenti — Cursor Cloud Agent, Grok Build (xAI) con login browser + OAuth, scheda Ollama di prima classe, Claude Opus 5 e Sonnet 5, partnership ufficiale Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… e un catalogo aggiornato di 350 provider. → Provider
- 📡 Trasparenza del routing — ogni risposta include un header
X-OmniRoute-Decisioncon strategia/provider/latenza che l'ha servita; una nuova strategia combocache-optimized+ il fattorecacheAffinitydi Auto-Combo riportano le richieste ripetute alla connessione che possiede il prefisso in cache; un endpoint read-only/v1/auto-combo/{channel}/candidatesespone il pool di candidati live di un canaleauto/*. → Auto-Combo - ⚡ Prestazioni e infrastruttura locali — Redis locale con un clic, deployer relay Cloudflare Workers / Deno Deploy, Bifrost e Mux come servizi embedded supervisionati. → Servizi embedded
🤖 CLI e agenti di coding compatibili
Una sola configurazione —
http://localhost:20128/v1— e qualsiasi IDE o CLI AI può usare modelli gratuiti e a basso costo.
Claude Code |
Codex CLI |
Cline |
Kilo Code |
Zoo Code |
Continue |
Aider |
ForgeCode |
jcode |
DeepSeek TUI |
CodeWhale |
OpenCode |
Factory Droid |
Copilot CLI |
Cursor CLI |
Smelt |
Pi |
Grok Build |
Hermes Agent |
OpenClaw |
Goose |
Open Interpreter |
Warp AI |
Agent Deck |
📖 Configurazione per ciascuno dei 34 strumenti (26 CLI Code + 8 CLI Agents) → docs/reference/CLI-TOOLS.md · 🧩 Plugin OpenCode → @omniroute/opencode-provider
Avvia qualsiasi CLI supportata tramite OmniRoute con un solo comando — senza scrivere file di configurazione, con le credenziali iniettate per singolo processo e una home temporanea isolata per Qwen/Gemini:
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"
# Or pick provider+model interactively and write the tool's own config:
omniroute configure codex # also: claude opencode qwen aider goose cline continue kilo
Ogni comando rispetta il contesto remoto attivo (omniroute connect <host>); --dry-run
mostra in anteprima env/argomenti esatti senza eseguire nulla, mentre --api-key-env NAME evita che i segreti
finiscano nella cronologia della shell. → Integrazioni CLI
🌐 349 provider AI — oltre 90 gratuiti
Il catalogo più completo tra i router open source: 349 provider, oltre 90 con un piano gratuito, 56 gratuiti per sempre.
🏢 Tutti i principali laboratori — tramite un solo endpoint
OpenAI |
Anthropic |
Gemini |
xAI Grok |
DeepSeek |
Mistral |
Qwen |
Meta Llama |
Groq |
NVIDIA |
MiniMax |
Cohere |
Perplexity |
HuggingFace |
Together |
Fireworks |
Cloudflare |
Baidu |
…e oltre 220 altri — ogni icona viene risolta in tempo reale dal catalogo provider della dashboard. 📖 Riferimento provider
🆓 Gratuiti per sempre — $0, nessuna carta
📖 Catalogo completo leggibile dalle macchine → docs/reference/PROVIDER_REFERENCE.md
🖥️ Dove gira OmniRoute — ovunque
La stessa app, sulla tua macchina, secondo le tue regole. Da un'installazione npm globale fino al tuo telefono tramite Termux.
| Piattaforma | Installazione | Punti di forza |
|---|---|---|
| 📦 npm (globale) | npm install -g omniroute | Un comando, qualsiasi OS |
| 🐳 Docker | docker run … diegosouzapw/omniroute | Multi-arch AMD64 + ARM64 |
| 🖥️ Desktop (Electron) | npm run electron:build | Finestra nativa + system tray — Windows / macOS / Linux |
| 💪 ARM | nativo arm64 | Raspberry Pi, server ARM, Apple Silicon |
| 📱 Android (Termux) | pkg install nodejs && npx -y omniroute | Gira sul tuo telefono, 24/7, senza root |
| 📲 PWA | "Aggiungi alla schermata Home" | Schermo intero, offline, installabile dal browser |
| 🧩 Plugin OpenCode | @omniroute/opencode-provider | Integrazione nativa con OpenCode |
| 🤖 VS Code Copilot Chat | installa l'estensione OmniCopilot | Tutti i modelli OmniRoute nel selettore nativo di Copilot Chat — Stable e Insiders |
| 🛠️ Da sorgente | npm install && npm run dev | Modificalo e contribuisci |
📖 Guida Docker · Desktop · Termux · PWA · OpenCode
🧩 Novità: OmniRoute dentro il Copilot Chat nativo di VS Code
Nessuna nuova barra laterale, nessuna nuova UI di chat — ogni modello servito da OmniRoute compare direttamente nel selettore modelli di Copilot Chat che usi già. Da VS Code 1.122, i modelli dei provider funzionano senza accesso GitHub né abbonamento Copilot — modalità agent, tool calling e vision, gratuitamente.
Installa l'estensione OmniCopilot, collegala
al tuo server OmniRoute (predefinito localhost:20128), poi apri Copilot Chat → selettore modelli
→ Manage Models… → OmniRoute.
| Store | Link | Compatibile con |
|---|---|---|
| 🧩 VS Code Marketplace | Installa → | VS Code — Stable e Insiders |
| 🔓 Open VSX Registry | Installa → | Cursor, Windsurf, VSCodium, Theia, code-server, Gitpod, Antigravity, Kiro… |
Dall'editor: apri la vista Extensions, cerca "OmniRoute", fai clic su Install — funziona allo stesso modo su entrambi gli store. Sorgenti, issue e runbook di pubblicazione sono su diegosouzapw/OmniCopilot.
📖 Guida VS Code Copilot Chat — configurazione, contenuto del selettore, dashboard in una scheda, risoluzione dei problemi
🔒 Privato e local-first
📖 Autorizzazione · Guardrail · Conformità
🔌 CLI completa + A2A e MCP
Oltre al server, OmniRoute è una console completa da riga di comando con oltre 80 comandi, più protocolli agent aperti che permettono a un agent AI di gestirlo autonomamente.
⌨️ Una vera CLI (non solo start)
omniroute # serve gateway + dashboard (port 20128)
omniroute chat # interactive TUI chat client (slash: /model /combo /skill /memory)
omniroute setup # guided first-run wizard
omniroute doctor # diagnose providers, ports, native deps
🛰️ Modalità remota — esegui qui la CLI, OmniRoute su un VPS
OmniRoute gira su un server? Gestiscilo dal laptop con la stessa CLI. Accedi una volta con un token di accesso con scope; da quel momento ogni comando punta all'istanza remota.
omniroute connect 192.168.0.15 # password → scoped token, saved as a context
omniroute models list # ← runs against the REMOTE server
omniroute configure codex # ← picks a remote model, writes a local Codex profile
omniroute tokens create --name ci --scope read # mint narrower tokens for other machines
omniroute contexts use default # ← switch back to the local server
I token hanno scope read / write / admin; le route che avviano processi restano limitate al loopback.
📖 Modalità remota
🤝 Collega un agent — e controllerà OmniRoute stesso
Esponi OmniRoute tramite MCP, A2A, una REST API, webhook o una CLI remota — qualsiasi agent compatibile (o il tuo codice) ottiene accesso al gateway: routing, provider, combo, cache, compressione, memoria — in autonomia. Gli endpoint HTTP qui sotto sono serviti su http://localhost:20128.
| Interfaccia | Endpoint / comando | A cosa serve |
|---|---|---|
| 🧰 MCP (stdio) | omniroute --mcp | Collegamento a Claude Desktop, Cursor e qualsiasi client MCP |
| 🌊 MCP (HTTP) | /api/mcp/stream | MCP remoto — 110 tool, 33 scope, audit trail completo |
| 📡 MCP (SSE) | /api/mcp/sse | Trasporto MCP in streaming |
| 🤝 A2A | /.well-known/agent.json | Agent-to-agent, JSON-RPC 2.0 + SSE, 6 skill |
| 🌐 REST API | /v1/* | Compatibile con OpenAI — chat, embedding, immagini, audio, OCR |
| 🔔 Webhook | /api/webhooks | Invia eventi (utilizzo, quota, errori, routing) al tuo URL |
| 🛰️ CLI remota | omniroute connect | Gestisci un'istanza remota con token di accesso con scope |
# Give Claude Code the full OmniRoute toolset over MCP:
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream
📖 MCP Server · A2A Server · Protocolli agent
🗜️ Risparmia il 15–95% dei token — automaticamente
📖 Come funziona — pipeline, architettura e calcolo del risparmio
La combinazione in cascata predefinita esegue RTK → Caveman. Quando entrambi intervengono sullo stesso payload di tool/contesto, i risparmi si compongono:
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%
Blocchi di codice, URL, JSON e dati strutturati sono sempre protetti dal motore di preservazione.
Perché usare molti token quando ne bastano pochi? Ogni richiesta attraversa la pipeline di compressione di OmniRoute in modo trasparente — senza modifiche al client. Ora è una stack di 12 motori componibili eseguiti in ordine e combinabili per ciascun routing combo — basati anche su idee di RTK, Caveman (⭐ 90K+), LLMLingua-2 e Troglodita (PT-BR).
🧱 La stack di 12 motori
I motori vengono eseguiti nell'ordine della pipeline; ciascuno può essere attivato/disattivato e configurato indipendentemente per combo:
| # | Motore | Cosa fa |
|---|---|---|
| 1 | Session-Dedup | Elimina contenuti ripetuti tra i turni (content-addressed, cross-turn) |
| 2 | CCR | Archivia blocchi grandi dietro marker di recupero, caricati su richiesta |
| 3 | Lite | Riduzione di spazi e URL immagine (baseline a bassa latenza) |
| 4 | RTK | Filtro intelligente dei risultati dei tool, deduplica e troncamento (consapevole del comando) |
| 5 | Responses Tool Output | Compressione JSON lossless-first + diagnostica limitata per output shell/patch/search/build (Responses API) |
| 6 | Headroom | Compattazione tabellare lossless di array JSON (~30%) tramite codec GCF incluso nel progetto |
| 7 | Relevance | Valutazione estrattiva delle frasi rispetto all'ultima richiesta dell'utente |
| 8 | Caveman | Compressione della prosa basata su regole (~65–75% sull'output) |
| 9 | Aggressive | Riepilogo + invecchiamento progressivo dei turni precedenti |
| 10 | LLMLingua-2 | Pruning semantico ML tramite MobileBERT ONNX — code-safe, asincrono |
| 11 | Ultra | Pruning euristico dei token con livello opzionale basato su piccolo modello (SLM) |
| 12 | OmniGlyph | Codifica sperimentale del contesto come immagine per Claude Fable 5 misurato sul protocollo Anthropic diretto; i transformer GPT 5.6 restano fail-closed in attesa di ricevute del provider. Quattro profili di compressione (aggressive predefinito, balanced, coding-safe, passthrough) (il più aggressivo; opt-in) |
Blocchi di codice, URL e dati strutturati sono sempre preservati byte per byte. I preset con un clic combinano i motori:
| Modalità | Risparmio | Ideale per |
|---|---|---|
| 🪶 Lite | ~15% | Impostazione predefinita sicura sempre attiva |
| 🪨 Standard (Caveman) | ~30% | Coding quotidiano |
| ⚡ Aggressive | ~50% | Sessioni lunghe con molti tool |
| 🔥 Ultra | ~75% | Massimo risparmio |
| 🧰 RTK | 60–90% | Output di shell/test/build/git |
| 🔗 Stacked (RTK → Caveman) | 78–95% | Prompt misti + log dei tool |
Esempio reale — modalità Standard:
Prima (69 token): "The reason your React component is re-rendering is likely because you're creating a new object reference on each render cycle. When you pass an inline object as a prop, React's shallow comparison sees it as a different object every time, which triggers a re-render. I would recommend using useMemo to memoize the object."
Dopo (19 token): "New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo."
Stessa risposta. 72% di token in meno. Nessuna perdita di accuratezza. ✅
Esempio PT-BR — modalità Troglodita:
Antes (42 tokens): "O problema é que o componente está re-renderizando porque uma nova referência de objeto está sendo criada em cada ciclo de renderização. Eu recomendaria usar useMemo."
Depois (12 tokens): "Re-render: ref nova cada ciclo (objeto inline recriado). Usar
useMemo."Mesma resposta. ~70% menos tokens. Precisão técnica intacta. ✅
🎚️ Oltre i motori — output style, regolazione adattiva e controllo per richiesta
I 12 motori sopra riducono ciò che entra in input. Altri tre livelli definiscono come, quando e cosa esce in output:
- 🪄 Output Styles (controllo dell'output) — iniettano istruzioni deterministiche e cache-safe per modellare la risposta; sono combinabili, ciascuno con intensità
lite/full/ultra. Aggiungere uno style richiede una sola voce nel registry:- Terse prose — elimina riempitivi / articoli / esitazioni; mantiene esatto il contenuto tecnico.
- Less code — YAGNI da "senior dev pigro": modifica minima funzionante, nessuna infrastruttura non richiesta.
- Terse CJK (文言) — stile cinese classico ultra-conciso (limitato alla locale
zh).
- 🎯 Adaptive context-budget (la regolazione) — invece di una singola soglia token on/off, aumenta gradualmente l'uso dei motori più economici e lossless solo quanto necessario per rientrare nella context window del modello. Policy:
reserve-output(predefinita, model-aware) ·percentage·absolute. Modalità:floor(garantisce il fit) ·replace-autotrigger(vince la tua scelta esplicita) ·off(soglia legacy). - 🎛️ Dove viene decisa la compressione (precedenza, alta → bassa) — header per richiesta
x-omniroute-compression› override del routing combo › profilo nominato attivo › adaptive / auto-trigger › impostazione predefinita del pannello › off. Il piano applicato viene restituito nell'header di rispostaX-OmniRoute-Compression: <mode>; source=<source>.
Puoi attivare l'auto-trigger tramite soglia token, abilitare la regolazione adattiva, fissare un profilo nominato, impostare una scelta una tantum per richiesta oppure assegnare una pipeline a ciascun routing combo — scegli ciò che si adatta al carico di lavoro. Un eval harness offline opt-in (npm run eval:compression) misura fedeltà e risparmio su un corpus fissato prima di promuovere una modifica.
📖 COMPRESSION_GUIDE.md · RTK_COMPRESSION.md · COMPRESSION_ENGINES.md
⚡ Avvio rapido
1) Installa e avvia
npm install -g omniroute
omniroute
💡 Vedi
npm warn ERESOLVEo avvisi sulle peer dependency? Sono innocui.
Dashboard su http://localhost:20128 · API su http://localhost:20128/v1.
2) Collega un provider GRATUITO (senza registrazione)
Dashboard → Providers → collega Kiro AI (Claude gratuito, ~50 crediti/mese per account) oppure OpenCode Free (nessuna autenticazione) → fatto.
3) Configura il tuo strumento di coding
Base URL: http://localhost:20128/v1
API Key: [copy from Dashboard → Endpoints]
Model: auto (zero-config smart routing — or any provider/model)
4) Verifica che funzioni
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
Dovresti vedere elencati i modelli collegati. 🎉 Tutto qui — inizia a programmare: OmniRoute instrada automaticamente le richieste ed esegue il fallback quando serve.
Se il tuo client non può inviare header personalizzati, OmniRoute espone anche alias di compatibilità con token incorporato:
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 con client che non possono aggiungere Authorization: Bearer .... L'autenticazione tramite header resta la modalità consigliata.
📦 Altri metodi di installazione — Docker, sorgente, pnpm, Arch
🐳 Docker
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ù alta. Non segue il branch git main. Per GitOps, fissa :X.Y.Z. Vedi Canali di release Docker. L'immagine imposta OMNIROUTE_MEMORY_MB=1024. È sufficiente per la dashboard e una chat leggera. I coding agent (POST /v1/responses da Claude Code, Codex, Grok, …) richiedono un heap V8 molto più grande, altrimenti il processo va in FATAL ERROR a ~12 GiB con due contesti lunghi sovrapposti. Dimensiona il container oltre l'heap (i buffer nativi si trovano fuori da V8):
| Carico di lavoro | Heap (-e OMNIROUTE_MEMORY_MB) |
Container (--memory) |
|---|---|---|
| Dashboard / chat leggera | 1024 (predefinito immagine) |
≥2 g |
| Un coding agent | 8192 |
≥10 g |
Due /v1/responses lunghe simultanee |
10240–12288 |
≥12–16 g |
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.
Canale Docker pre-release:
diegosouzapw/omniroute:nextediegosouzapw/omniroute:next-webseguono l'attuale branchrelease/v*predefinito. Questi tag mutabili sono destinati esclusivamente al test di fix non ancora rilasciati e non sono supportati in produzione. Vedi Canali di release Docker.
🥟 Bun
Sono supportati bun install standard e l'installazione globale (bun install -g omniroute) tramite rilevamento del runtime Bun:
bun:sqliteintegrato: OmniRoute usa il driver integratobun:sqlitequando gira con Bun, con fallback abetter-sqlite3su Node.js o asql.js.- Selezione automatica del bundler Webpack: sviluppo (
bun run dev) e build di produzione (bun run build) rilevano automaticamente Bun e disabilitano Turbopack a favore di Webpack per evitare incompatibilità dei binding V8 nativi. - Dockerfile Bun dedicato:
Dockerfile.bunmulti-stage per deployment di produzione nativi Bun (docker build -f Dockerfile.bun -t omniroute:bun .).
# Install and run with Bun
bun install
bun run dev
🛠️ Da sorgente
cp .env.example .env && npm install
PORT=20128 npm run dev
📦 pnpm
pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute
🐧 Arch Linux (AUR)
yay -S omniroute-bin && systemctl --user enable --now omniroute.service
🔧 Nix (Flake)
# Using Nix flakes
nix develop
npm run dev
# Or using devbox
devbox run npm run dev
📖 Guida Docker — profili Compose, Caddy HTTPS, tunnel Cloudflare.
🦭 Podman
# 1. Prepare the bind-mounted data directory
mkdir -p data
# 2. Linux + local rootless Podman only (never a remote Podman Machine client):
podman unshare chown 1000:1000 ./data
# 3. Set the runtime hint, build the local Compose image, and start
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build
Su macOS o Windows, Podman usa una Podman Machine remota: salta podman unshare e
segui le indicazioni sui permessi della directory dati specifiche per topologia.
📖 Guida Podman — build Compose, Podman Machine e configurazione Quadlet Linux/systemd.
⚡ Installazione più rapida / leggera (salta la build nativa)
Il motore SQLite nativo (better-sqlite3) è una dipendenza opzionale, quindi un'installazione
globale non si blocca mai per compilare da sorgente: usa un binario precompilato quando disponibile
per la tua piattaforma/Node e altrimenti passa in modo trasparente a un motore pure-JS
(node:sqlite su Node 22+, altrimenti sql.js WASM incluso) — senza richiedere strumenti di build.
Per saltare completamente il warm-up nativo post-installazione (CI, sistemi headless o macchine lente):
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 also skips it
Per installazioni più rapide preferisci pnpm (store content-addressed + hard link — vedi sopra).
Per un runtime headless senza dashboard usa il profilo Docker base (sopra) oppure la
guida Termux. CLI e dashboard web sono servite dallo
stesso processo su una sola porta, quindi oggi non esiste un pacchetto separato solo CLI.
🎬 OmniRoute in azione
📹 Guide video
Dati di copertura social al 2026-08-17 · YT: 741 | TT: 137 | IG: 124 · Aggiornamento (giorni): YT 0 · TT 14 · IG 15
Classifica completa (v > 0, maggiore portata):
| #1 | #2 | #3 | #4 | #5 |
|---|---|---|---|---|
| nick_saraev — Instagram — 1,628,910 | milesreevesai — TikTok — 620,400 | Vaibhav Sisinty — YouTube — 373,084 | Nick Automates — YouTube Shorts — 207,714 | midudev — TikTok — 177,800 |
| #6 | #7 | #8 | #9 | #10 |
|---|---|---|---|---|
| theopenstack — Instagram — 155,453 | t.ghoush.ai — TikTok — 152,800 | Valency Labs — YouTube — 135,974 | Asati — YouTube — 126,130 | Vaibhav Sisinty — YouTube — 122,672 |
Metriche di validazione: 1002 video monitorati · 7,069,190 visualizzazioni note · 595 profili/canali · 13+ lingue · 13+ creator.
🎬 Hai realizzato un video su OmniRoute? Apri una issue o una discussion con il link — lo metteremo in evidenza qui.
📧 Community e assistenza
Tutto in un unico posto — segui il maintainer, parla con la community oppure apri una issue.
| Canale | Dove / come |
|---|---|
| 💼 LinkedIn — segui il maintainer | linkedin.com/in/diegosouzapw |
| 🐙 GitHub — segui release e suggerimenti | @diegosouzapw |
| 💬 Discord | discord.gg/U47eFqAXCn |
| ✈️ Telegram | t.me/omnirouteOficial |
| 🟢 WhatsApp — 🌍 Global | entra nel gruppo |
| 🟢 WhatsApp — 🇧🇷 Brasil | entra nel gruppo |
| 🌍 Sito web | omniroute.online |
| 📦 Codice sorgente | github.com/diegosouzapw/OmniRoute |
| 🐛 Segnala un bug | apri una issue — allega l'output di npm run system-info |
| 🤝 Contribuisci | CONTRIBUTING.md · Modello di branching e release · scegli una good first issue |
| 💚 Sostieni il progetto | Modi per sostenere ↑ · GitHub Sponsors |
| Livello | Tecnologia |
|---|---|
| Runtime | Node.js 22.x / 24.x LTS — >=22.22.2 <23 || >=24.0.0 <27 |
| Linguaggio | TypeScript 6.0 — 100% TypeScript in src/ e open-sse/ (zero any nel core dalla v2.0) |
| Framework | Next.js 16 + React 19 + Tailwind CSS 4 |
| Database | better-sqlite3 (SQLite, journaling WAL) + LowDB (JSON legacy) — 120 moduli di dominio, 159 migrazioni |
| Memoria | Ricerca full-text SQLite FTS5 + embedding vettoriali quantizzati int8, decadimento tipizzato |
| Schemi | Zod 4 — validazione I/O dei tool MCP + contratti API |
| Protocolli | MCP (stdio / HTTP / SSE) + A2A v0.3 (JSON-RPC 2.0 + SSE) |
| Streaming | Server-Sent Events (SSE) + bridge WebSocket (/v1/ws) |
| Compressione | Pipeline a 12 motori — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph |
| Auth e sicurezza | OAuth 2.0 (PKCE) + JWT + API Keys + autorizzazione MCP con scope · AES-256-GCM a riposo · DOMPurify |
| Stealth | wreq-js — impersonificazione del fingerprint TLS JA3 / JA4, proxy a 3 livelli |
| Resilienza | Circuit breaker, backoff esponenziale, anti-thundering-herd, auto-combo self-healing |
| Logging | pino — log JSON strutturati con contesto della richiesta |
| Test | Test runner Node.js + Vitest — oltre 25.000 casi di test su 3.300+ file (unitari, integrazione, E2E, sicurezza, ecosistema) |
| Piattaforme | Desktop (Electron) · Android (Termux) · PWA (qualsiasi browser) |
| CI/CD | GitHub Actions — pubblicazione automatica npm + Docker Hub alla release |
| Link | Sito web · npm · Docker Hub |
📘 Per iniziare
| Documento | Descrizione |
|---|---|
| Guida utente | Provider, combo, integrazione CLI, deployment |
| Guida alla configurazione | Tutti i metodi di installazione, configurazioni degli strumenti CLI, protocolli, regolazione dei timeout |
| Guida agli strumenti CLI | Configurazione specifica per Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo, Copilot |
| Modalità remota | Gestisci un OmniRoute remoto (VPS) dalla CLI del laptop tramite token di accesso con scope |
| Configurazione Claude Code | Collega Claude Code a OmniRoute (locale/remoto) con launch + profili per modello |
| Avvio rapido | Installazione in 3 passaggi → collega → configura |
🔧 Operazioni e deployment
| Documento | Descrizione |
|---|---|
| Guida Docker | Docker run, profili Compose, Caddy HTTPS, tunnel, tag immagine |
| Guida Podman | Integrazione Quadlet systemd, podman-compose, SELinux |
| Deployment VM | Guida completa: VM + nginx + configurazione Cloudflare |
| Deployment Fly.io | Deployment su Fly.io con storage persistente |
| Guida Termux | Esegui OmniRoute su Android tramite Termux |
| Guida PWA | Installazione Progressive Web App, caching, architettura |
| Guida alla disinstallazione | Rimozione pulita per tutti i metodi di installazione |
| Configurazione ambiente | Elenco completo di variabili .env e riferimenti |
🧠 Funzionalità e architettura
| Documento | Descrizione |
|---|---|
| Architettura | Architettura del sistema, flusso dati e componenti interni |
| Guida alla compressione | Pipeline a 7 opzioni: off / lite / standard / aggressive / ultra / RTK / stacked |
| Compressione RTK | Compressione dell'output dei comandi, filtri, trust, verifica, recupero dell'output grezzo |
| Motori di compressione | Caveman, RTK, pipeline stacked, superfici dashboard/API/MCP |
| Formato regole di compressione | Schemi JSON dei rule pack per filtri Caveman e RTK |
| Language pack di compressione | Rilevamento lingua e creazione dei rule pack Caveman |
| Guida alla resilienza | Circuit breaker, cooldown, code, anti-thundering herd, TLS spoofing |
| Motore Auto-Combo | Scoring a 14 fattori, mode pack, self-healing |
| Guida proxy | Sistema proxy a 3 livelli, marketplace 1proxy, CRUD del registry |
| Piani gratuiti | Directory consolidata di oltre 90 provider gratuiti (42 pool token documentati / 495 modelli) |
| Galleria funzionalità | Tour visivo della dashboard con screenshot |
| Documentazione della codebase | Introduzione alla codebase adatta ai principianti |
🤖 Protocolli e API
| Documento | Descrizione |
|---|---|
| Riferimento API | Tutti gli endpoint con esempi |
| Specifica OpenAPI | Specifica OpenAPI 3.0 |
| MCP Server | 109 tool MCP, configurazioni IDE, client Python/TS/Go |
| Guida MCP Server | Installazione MCP, trasporti e riferimento dei tool |
| A2A Server | Protocollo JSON-RPC 2.0, skill, streaming, gestione task |
| Guida A2A Server | Agent Card A2A, task, skill e streaming |
📋 Progetto e qualità
| Documento | Descrizione |
|---|---|
| Contribuire | Configurazione dell'ambiente di sviluppo e linee guida |
| Modello di branching e release | Dove puntano le PR (release/*) e cosa significano main e i tag |
| Changelog | Cronologia completa delle release, versione per versione |
| Policy di sicurezza | Segnalazione vulnerabilità e pratiche di sicurezza |
| Guida i18n | Supporto a 43 lingue, workflow di traduzione, RTL |
| Checklist di release | Passaggi di validazione pre-release |
| Piano di coverage | Strategia di copertura dei test e suite da oltre 25.000 test |
⭐ Principali contributor
OmniRoute è plasmato da una community open source appassionata. Queste persone hanno apportato contributi eccezionali che incidono direttamente su qualità, stabilità e diffusione del progetto. Grazie.
|
oyi77 🥇 213 commit • +114K righe Motore analytics, aggregazioni SQL, marketplace proxy, copertura test |
R.D. & Randi 🥈 108 commit • +38K righe Pagina Endpoints, integrazioni tunnel, workflow Docker, stato A2A, UI compressione |
Chris Staley 🥉 70 commit • +1.8K righe Hardening stream SSE, Responses API, paginazione Gemini, fix di regressione test |
zenobit 🏅 62 commit • +22K righe Pipeline CI/CD, i18n per 33 lingue, pacchetto Void Linux, fix di piattaforma |
Jan Leon 🏅 58 commit • +22K righe Routing reasoning-effort, controlli proxy, visibilità quota, compressione Live Zone |
|
backryun 🏅 53 commit • +70K righe Curatela catalogo provider — Perplexity, Kimi, Cerebras, Copilot, aggiornamenti LMArena |
Chirag Singhal 🏅 46 commit • +4.8K righe Sanitizzazione errori, fix prefill MITM, fusion judge, correttezza breaker/429 |
kfiramar 🏅 38 commit • +1.7K righe Codex WebSocket + passthrough, auth/onboarding, hardening Electron, migrazioni DB |
Benson K B 🏅 28 commit • +9.2K righe App desktop Electron, auto-updater, workflow build release, CI multipiattaforma |
Hernan J. Ardila 🏅 25 commit • +174K righe Combo zero-latency, auto-routing vision bridge, context-length catalogo, hint resilienza 429 |
🙏 Funzionalità, bug fix e 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.
💖 Sponsor
Un grazie di cuore alle persone che finanziano OmniRoute di tasca propria — ogni contributo aiuta a mantenere il progetto gratuito, indipendente e in evoluzione.
![]() Prof. Igor Morais 💛 Sponsor |
![]() longtao 💛 Sponsor |
… e altri che preferiscono restare anonimi 💛
💖 Diventa sponsor → — ogni contributo mantiene OmniRoute gratuito e indipendente.
👥 Oltre 320 contributor
Come contribuire
- Fai un fork del repository
- Crea il branch dalla punta della
release/vX.Y.Zattiva (non damain) — vedi Modello di branching e release - Crea il tuo feature branch (
git checkout -b feat/amazing-feature) - Esegui il commit delle modifiche (
git commit -m 'feat: add amazing feature') - Esegui il push del branch (
git push origin feat/amazing-feature) - Apri una Pull Request con base = quel branch
release/vX.Y.Z
Vedi CONTRIBUTING.md per le linee guida complete.
Pubblicare una nuova versione
# Create a release — npm publish happens automatically
gh release create v3.8.2 --title "v3.8.2" --generate-notes
📊 Stelle
🙏 Ringraziamenti
OmniRoute è costruito sulle spalle di giganti. È nato come fork di 9router e come port TypeScript del progetto Go CLIProxyAPI — da lì, ogni sottosistema qui sotto è stato ispirato da un progetto open source arrivato prima. Ognuno ha influenzato una parte concreta di OmniRoute. Questo è il nostro ringraziamento a tutti loro. 🙏
⭐ conteggio stelle a luglio 2026 — vai a lasciare una stella a questi progetti.
🧬 Origini e gateway
| Progetto | ⭐ | Come ha ispirato OmniRoute |
|---|---|---|
| 9router | 22.7k | Il progetto originale su cui si basa questo fork — esteso qui con API multimodali e una riscrittura completa in TypeScript. |
| CLIProxyAPI | 43.6k | L'implementazione Go che ha ispirato questo port JavaScript / TypeScript. |
| LiteLLM | 54.0k | Il gateway AI il cui dataset pubblico dei prezzi alimenta la sincronizzazione del cost tracking e il cui modello di normalizzazione dei provider ha influenzato il nostro routing. |
🗜️ Compressione di contesto e token — motori
| Progetto | ⭐ | Come ha ispirato OmniRoute |
|---|---|---|
| Caveman | 90.8k | Il progetto virale "why use many token when few token do trick" — la sua filosofia caveman-speak alimenta la nostra modalità di compressione standard e oltre 30 regole di rimozione riempitivi/condensazione. |
| RTK – Rust Token Killer | 71.8k | Compressione ad alte prestazioni dell'output dei comandi — ha ispirato il nostro motore RTK, la DSL per filtri JSON, il recupero dell'output grezzo e la pipeline stacked RTK → Caveman. |
| headroom | 60.1k | Compressione reversibile del contesto (SmartCrusher) — ha ispirato il nostro motore headroom e il pattern dei marker di recupero ccr. |
| LLMLingua | 6.5k | Ricerca sulla compressione dei prompt (LLMLingua / LLMLingua-2) — ha ispirato il nostro motore llmlingua asincrono, code-safe e fail-open. |
| llmlingua-2-js | 30 | Il port JS/ONNX (MobileBERT / XLM-RoBERTa) usato come backend worker-thread dal nostro motore LLMLingua. |
| Troglodita | 26 | Compressione token PT-BR — alimenta il nostro language pack pt-BR: riduzione dei pleonasmi e rimozione dei riempitivi ottimizzate per la grammatica portoghese brasiliana. |
| ponytail | 86.0k | La skill virale da "lazy senior dev" basata su YAGNI — ha ispirato il nostro Output Style less-code: orientamento alla modifica minima funzionante che riduce il codice _generato_ (l'equivalente sull'asse output della prosa concisa di Caveman). |
🧩 Formati compatti, ricerca sui token e tooling code-aware
| Progetto | ⭐ | Come ha ispirato OmniRoute |
|---|---|---|
| TOON | 24.9k | Token-Oriented Object Notation — il suo modello colonnare con header + righe ha influenzato la nostra fase di compattazione tabellare. |
| GCF – Graph Compact Format | 22 | Ha inizialmente ispirato la nostra fase di compattazione tabellare; ora il suo encoder generic-profile lossless e senza dipendenze è incluso direttamente come codec Headroom (MIT, con marcatura SPDX), insieme ai successivi fix di correttezza per dominio numerico e discrepanze nei conteggi. |
| token-optimizer-mcp | 444 | Cache Brotli/SQLite + delta del contesto per sessione — ha ispirato il nostro motore session-dedup. |
| token-savior | 1.1k | Compattazione dell'output Bash + profili MCP — ha ispirato la nostra disciplina di bail-out nella compressione e la riduzione del manifest dei tool MCP. |
| token-saver | 117 | Compressione dell'output consapevole del contenuto e del tipo di file, con bail-out in caso di errore — ha validato il nostro dispatch per tipo e lo skip basato sul guadagno minimo. |
| token-optimizer | 1.7k | "Find the ghost tokens" — il suo pattern di offload + handle recuperabile ha influenzato il nostro approccio all'offload CCR. |
| TokenMizer | 16 | Un blueprint con grafo di sessione + deduplica cross-turn per riga che ha influenzato il design di session-dedup. |
| OmniCompress | 3 | JSON colonnare in Rust + retrieve content-addressed + deduplica cross-message — ha validato il design dei nostri motori headroom/ccr/session-dedup e l'invariante cache-stable "la forma compressa è indipendente dalla posizione". |
| mcp-compressor | 98 | Compressione degli schemi/descrizioni dei tool MCP — ha influenzato la riduzione della cardinalità del manifest dei tool MCP. |
| RepoMapper | 187 | Ranking della repo-map in stile Aider — ha influenzato la nostra esplorazione del ranking di repo-map / retrieval. |
| quiet-shell-mcp | 4 | Riduzione dichiarativa dell'output shell tramite MCP — ha validato la nostra compattazione dichiarativa dell'output Bash. |
| ts-morph | 6.1k | Toolkit per la TypeScript Compiler API — ha ispirato la nostra rimozione dei commenti basata su parser, che preserva stringhe, template e literal regex. |
🧠 Memoria e RAG
| Progetto | ⭐ | Come ha ispirato OmniRoute |
|---|---|---|
| Mem0 | 61.2k | Layer di memoria universale — il suo modello proxy-as-write/read-boundary ha plasmato la nostra architettura della memoria. |
| Letta (MemGPT) | 23.9k | Agent stateful con memoria a livelli — ha ispirato il nostro modello a livelli Context Control & Recovery (CCR). |
| WFGY | 1.8k | La tassonomia ProblemMap di 16 modalità ricorrenti di errore RAG/LLM — il vocabolario condiviso nella nostra guida alla risoluzione dei problemi. |
🛰️ Ispezione del traffico, MITM e proxy trasparente
| Progetto | ⭐ | Come ha ispirato OmniRoute |
|---|---|---|
| llm-interceptor | 49 | Intercettazione/analisi MITM del traffico coding-assistant ↔ LLM — il nostro Traffic Inspector adatta il suo merge SSE, la normalizzazione delle conversazioni, il passthrough degli host e il masking dei segreti (MIT). |
| ProxyBridge | 5.5k | Routing proxy trasparente per processo — ha ispirato il teardown MITM crash-safe, gli idle timeout dei socket, l'attribuzione dei processi tramite /proc e la cattura TPROXY. |
📚 Dati dei modelli, osservabilità e UI
| Progetto | ⭐ | Come ha ispirato OmniRoute |
|---|---|---|
| models.dev | 6.0k | Database aperto di specifiche, prezzi e capacità dei modelli AI — sincronizzato nativamente nel nostro catalogo modelli. |
| React Flow / xyflow | 37.7k | La libreria di grafi node-based che alimenta Compression Studio e Combo/Routing Studio in tempo reale. |
| LangGraph | 37.6k | La visualizzazione live dei grafi di workflow di LangGraph Studio ha ispirato la vista a cascata in tempo reale dei nostri Studio. |
| Langfuse | 31.4k | Il suo modello di osservabilità trace → span → generation ha plasmato la waterfall di Compression Studio. |
| Kiali | 3.6k | Osservabilità del service mesh Istio — ha ispirato i badge circuit-breaker e le visualizzazioni degli edge di errore in Routing/Combo Studio. |
| lobe-icons | 2.2k | Loghi dei brand AI/LLM usati per le icone dei provider nella dashboard. |
🛡️ Sicurezza
| Progetto | ⭐ | Come ha ispirato OmniRoute |
|---|---|---|
| awesome-secure-defaults | 710 | Una raccolta curata di librerie secure-by-default che guida le nostre scelte di sicurezza (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink). |
🧭 Strumenti complementari
| Progetto | ⭐ | Come ha ispirato OmniRoute |
|---|
📄 Licenza
Licenza MIT - vedi LICENSE per i dettagli.
⬆ Torna all'inizio · Realizzato con ❤️ per la community AI open source.
OmniRoute v3.8.49 · Node ≥22.22.2 · Licenza MIT · omniroute.online


