Files
OmniRoute/docs/i18n/it/README.md
Natizh 34463f6b36 docs(i18n): restore Italian README translation (#11246)
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.
2026-08-23 14:23:36 -03:00

121 KiB
Raw Blame History

🚀 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


Dashboard di OmniRoute

🚀 OmniRoute — Il Gateway AI Gratuito

OmniRoute — Non smettere mai di programmare. Ogni strumento AI → 349 provider — oltre 90 gratuiti — tramite un unico endpoint. Collega Claude Code, Codex, Cursor, Cline, Copilot e Antigravity a Claude / GPT / Gemini GRATUITI con fallback automatico. La compressione combinata RTK + Caveman riduce i token del 15–95% (~89% in media) — per non raggiungere i limiti. 350 provider AI · oltre 90 tier gratuiti · ~1,51 miliardi di token gratuiti/mese · 19 strategie di routing · $0 per iniziare.

💰 ~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).

Scheda del budget dei tier gratuiti di OmniRoute: ~1,51 miliardi di token gratuiti al mese in modo continuativo, fino a ~2,13 miliardi nel primo mese includendo i crediti di registrazione, calcolati sui tier gratuiti documentati di 42 pool di provider / 495 modelli dietro un unico endpoint. Calcolo trasparente con deduplicazione dei pool: ogni pool condiviso viene conteggiato una sola volta (contare ogni rate limit 24/7 darebbe ~10 miliardi, dato non pubblicato); 15 provider sono segnalati per i ToS così puoi decidere. Barra del budget dei pool gratuiti conteggiabili con griglia per modello, crediti una tantum del primo mese e provider permanentemente gratuiti senza limite di token pubblicato, mostrati separatamente per non gonfiare il valore principale. Utilizzo e residuo in tempo reale su /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.

Stars diegosouzapw%2FOmniRoute | Trendshift Star History Rank olud.ai

💬 Unisciti alla community

👋 Segui il maintainer — scopri per primo nuovi provider, release e suggerimenti:

Follow Diego on LinkedIn Follow @diegosouzapw on GitHub

Discord Telegram WhatsApp Global WhatsApp Brasil Website

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

npm version NPM Monthly Docker Hub License: MIT Docker Pulls Electron Downloads

🚀 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
🌐 In 43 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) Bahasa Indonesia (Alt) (in) हिन्दी (hi) ગુજરાતી (gu) मराठी (mr) தமிழ் (ta) తెలుగు (te) বাংলা (bn) اردو (ur) فارسی (fa) العربية (ar) עברית (he) Türkçe (tr) Azərbaycan (az) Kiswahili (sw)


🆓 Funziona subito dopo l'installazione — nessuna chiave, nessuna configurazione

Funziona subito dopo l'installazione — configurazione zero. Tre passaggi: 1. Installa — npm i -g omniroute, il server parte su localhost:20128. 2. Punta il tuo strumento a http://localhost:20128/v1 — qualunque strumento compatibile con OpenAI (Claude Code, Cursor, Cline). 3. Risponde — usa il modello auto per una risposta immediata, senza API key, registrazione o configurazione. I provider gratuiti senza chiave OpenCode Free e Felo sono già collegati alla combo auto, quindi una nuova installazione risponde immediatamente.
# 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 cURLexamples/quickstart/


💥 La promessa

La promessa — Un endpoint. 349 provider. Non smettere mai di creare: OmniRoute sceglie quello più economico che funziona. Sei pilastri: non raggiungere mai i limiti (fallback automatico tra 349 provider in millisecondi, zero downtime) · risparmia fino al 95% dei token (compressione combinata RTK + Caveman del 15–95%, ~89% in media nelle sessioni ricche di tool) · $0 per iniziare (oltre 90 tier gratuiti, 56 gratis per sempre, senza carta) · ogni strumento funziona (33 agenti di coding con una sola configurazione) · un endpoint (OpenAI ↔ Claude ↔ Gemini ↔ Responses API su /v1) · pronto per la produzione (circuit breaker, TLS stealth, MCP con 110 tool, A2A, memoria, guardrail, eval — oltre 25.000 test).

🤔 Perché OmniRoute?

Perché OmniRoute — basta destreggiarsi tra 10 dashboard, API key non valide e fatture impreviste. Dieci problemi quotidiani e relative soluzioni: quota che scade inutilizzata → massimizza gli abbonamenti; rate limit durante il coding → fallback automatico a 4 livelli (Subscription → API → Cheap → Free); output dei tool che consumano token → compressione RTK + Caveman (15–95%); API costose → routing ottimizzato per i costi; ogni tool con una configurazione diversa → un endpoint, una dashboard; AI bloccata → proxy a 3 livelli + TLS stealth; chiavi non valide → resilienza a 3 livelli (circuit breaker, cooldown della chiave, lockout del modello); team che condivide un abbonamento → pool di chiavi con quote fair-share; prompt che passano dal cloud di altri → local-first con chiavi cifrate AES-256-GCM; nessuna visibilità sulla spesa → analytics live (utilizzo, quota, risparmio, latenza p95).
Flusso delle richieste 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, 19 strategie di routing, circuit breaker, TLS stealth, MCP, A2A, guardrail) effettua automaticamente il fallback tra 4 livelli di provider — Tier 1 Subscription (Claude Code, Codex, Copilot), quota esaurita? Tier 2 API Key (DeepSeek, Groq, xAI), budget raggiunto? Tier 3 Cheap (GLM $0.5, MiniMax $0.2), budget raggiunto? Tier 4 Free (Kiro, Qoder, Pollinations) — sempre attivo.

🤝 Supportato dai nostri amici dell'Open Source

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

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)
Kimi
Moonshot AI

Open Source Friend fondatore
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
Cheaper Inference
cheaperinference.com

Open Source Friend
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
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.


🎯 Combo — La funzionalità di punta

Tutte le 19 strategie di routing delle combo animate — una scheda 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, cache-optimized, lkgp, auto, fusion, pipeline. Consulta la tabella seguente per capire cosa fa ciascuna.

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 modelloCosa 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
1priorityLista ordinata con priorità al primo target — esaurisce ciascuno prima di passare al successivo 🥇
2fill-firstUsa completamente la quota di ogni target prima di passare oltre
3weightedScelta casuale pesata in base al peso assegnato a ogni target
4round-robinScorre ciclicamente i target in ordine
5p2cBilanciamento casuale del carico Power-of-Two-Choices
6least-usedSceglie il target con il carico corrente più basso
7randomScelta casuale uniforme (con deduplicazione)
8strict-randomCasuale senza deduplicare le ripetizioni 🎲
9cost-optimizedRiduce al minimo il costo per richiesta usando i prezzi live del catalogo 💸
10headroomSceglie il target con la maggiore quota residua
11reset-windowPreferisce il target la cui finestra di quota si resetta prima
12reset-awareOrdina in base al reset della quota — prima le finestre più brevi 📊
13context-relayPassa il contesto tra i target nelle conversazioni lunghe 🧠
14context-optimizedSceglie il target più adatto alla dimensione corrente del contesto
15cache-optimizedFissa ogni prefisso di prompt riutilizzabile allo stesso account — massimizza gli hit della prompt cache 🎯
16lkgpLast-Known-Good Path — resta sull'ultimo target che ha risposto correttamente
17autoPunteggio live su 14 fattori per ogni connessione 🤖
18fusionInvia la richiesta a un gruppo di modelli + un giudice sintetizza una sola risposta 🧬
19pipelineConcatena 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)

Resilienza di OmniRoute — 3 livelli indipendenti e autoriparanti, ciascuno dedicato al guasto corretto. Livello 1 circuit breaker del provider (intero provider): scatta solo su 408/5xx, soglie OAuth 10× / API-key 15× / locale 2×, reset dopo 60s/30s/15s con una sonda HALF-OPEN, recupero lazy; mentre è OPEN la combo passa al provider successivo. Livello 2 cooldown della connessione (una chiave/account): base 5s OAuth / 3s API-key, backoff esponenziale ×2 con protezione anti-thundering-herd, i 429 rispettano Retry-After, un successo azzera lo stato d'errore; una chiave in cooldown viene saltata mentre le altre continuano a servire. Livello 3 lockout del modello (un solo modello): 429 per-modello, 404 locali o dinieghi di modalità bloccano solo quel modello, mai l'intera connessione. Gli stati terminali (bannato, scaduto, crediti esauriti) richiedono l'intervento dell'operatore e non sono cooldown.

📖 Motore Auto-Combo · Guida alla resilienza


🏆 Cosa distingue OmniRoute

Cosa distingue OmniRoute — tabella di confronto con 9router, OpenRouter, CLIProxyAPI e LiteLLM su 13 capacità. OmniRoute: 349 provider, oltre 90 provider gratuiti integrati, 19 strategie di routing, compressione token con 12 motori, server MCP integrato con 110 tool, protocollo agenti A2A, memoria persistente, guardrail, cloud agent, TLS fingerprint stealth, Desktop/Termux/PWA, 43 locale UI i18n, self-hosting 100% MIT. OmniRoute è l'unico a includere l'intero insieme; i concorrenti mostrano combinazioni di supporto completo, parziale e assente. Verificato sulla documentazione di ciascun progetto.

📊 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 repoGratis — aiuta davvero la visibilitàDai una stella a OmniRoute
🐙 GitHub SponsorsUna tantum o mensile · zero commissioni della piattaformagithub.com/sponsors/diegosouzapw
Ko-fiMancia una tantum, senza registrazione per chi donako-fi.com/diegosouzapw
🧋 Buy Me a CoffeePiccolo gesto informalebuymeacoffee.com/diegosouzapw
🖐 LiberapayRicorrente · non profit · open sourceliberapay.com/diegosouzapw
🇧🇷 PIX (Brasile)Istantaneo, senza commissionichiave e QR qui sotto
CryptoBTC · 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-cola:

00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD

₿ Crypto — BTC · ETH · USDT-TRC20 · USDC-Solana (clicca per espandere)
₿ BTCBitcoin (SegWit)bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETHEthereum (ERC20)0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDTTron (TRC20)TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDCSolana2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu

⚠️ 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à

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 comandosetup-* configura oltre 12 strumenti di coding; omniroute run avvia 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 OAuth antigravity per 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-memory per-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 operazionibasePath del 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-Decision con strategia/provider/latenza che l'ha servita; una nuova strategia combo cache-optimized + il fattore cacheAffinity di Auto-Combo riportano le richieste ripetute alla connessione che possiede il prefisso in cache; un endpoint read-only /v1/auto-combo/{channel}/candidates espone il pool di candidati live di un canale auto/*. → 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
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
                           
Agent Deck
Agent Deck
                           
funziona anche con · Kiro · Command Code · Antigravity · Windsurf · AMP · qualsiasi strumento compatibile con OpenAI

📖 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
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 220 altri — ogni icona viene risolta in tempo reale dal catalogo provider della dashboard. 📖 Riferimento provider


🆓 Gratuiti 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
Gratuito per sempre
Requesty
Requesty
GPT-OSS 120B, Nemotron
Gratuito per sempre
SiliconFlow
SiliconFlow
DeepSeek V3.2 / R1
Piano gratuito
Z.AI GLM
Z.AI GLM
GLM-4.7 / 4.5-Flash
Gratuito per sempre
Baidu ERNIE
Baidu ERNIE
ERNIE 4.0
Gratuito per sempre
Qoder AI
Qoder AI
Qwen3-Max, Kimi-K2
GRATUITO senza limiti
Pollinations
Pollinations
GPT, Llama, Claude
Nessuna chiave necessaria
Cloudflare AI
Cloudflare AI
50+ modelli
10K neuroni/giorno
NVIDIA NIM
NVIDIA NIM
GLM, MiniMax
~40 RPM gratuiti
Cerebras
Cerebras
GLM 4.7, GPT-OSS
1M token/giorno
OpenRouter
OpenRouter
modelli :free
+$10 → RPM più elevati

📖 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.

PiattaformaInstallazionePunti di forza
📦 npm (globale)npm install -g omnirouteUn comando, qualsiasi OS
🐳 Dockerdocker run … diegosouzapw/omnirouteMulti-arch AMD64 + ARM64
🖥️ Desktop (Electron)npm run electron:buildFinestra nativa + system tray — Windows / macOS / Linux
💪 ARMnativo arm64Raspberry Pi, server ARM, Apple Silicon
📱 Android (Termux)pkg install nodejs && npx -y omnirouteGira sul tuo telefono, 24/7, senza root
📲 PWA"Aggiungi alla schermata Home"Schermo intero, offline, installabile dal browser
🧩 Plugin OpenCode@omniroute/opencode-providerIntegrazione nativa con OpenCode
🤖 VS Code Copilot Chatinstalla l'estensione OmniCopilotTutti i modelli OmniRoute nel selettore nativo di Copilot Chat — Stable e Insiders
🛠️ Da sorgentenpm install && npm run devModificalo 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.

StoreLinkCompatibile con
🧩 VS Code MarketplaceInstalla →VS Code — Stable e Insiders
🔓 Open VSX RegistryInstalla →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

Privato e local-first — le tue chiavi, la tua macchina, i tuoi dati; OmniRoute è un proxy locale che non comunica autonomamente con servizi cloud. Undici garanzie: gira al 100% sul tuo hardware (0 passaggi cloud), telemetria disattivata per impostazione predefinita, credenziali cifrate a riposo (AES-256-GCM), nessun account o registrazione, gateway rafforzato (scoping delle API key, filtro IP, rate limit, difesa dalla prompt injection), route di processo limitate al loopback, pulizia degli header upstream, redazione PII rigorosamente opt-in, errori sanitizzati che non espongono dettagli interni, audit trail locale nel tuo SQLite e codice completamente open source con licenza MIT.

📖 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

Demo animata del terminale con la CLI OmniRoute — omniroute providers list, omniroute combo list, omniroute health — che scorre gli oltre 80 comandi 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 …

🤝 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.

InterfacciaEndpoint / comandoA cosa serve
🧰 MCP (stdio)omniroute --mcpCollegamento a Claude Desktop, Cursor e qualsiasi client MCP
🌊 MCP (HTTP)/api/mcp/streamMCP remoto — 110 tool, 33 scope, audit trail completo
📡 MCP (SSE)/api/mcp/sseTrasporto MCP in streaming
🤝 A2A/.well-known/agent.jsonAgent-to-agent, JSON-RPC 2.0 + SSE, 6 skill
🌐 REST API/v1/*Compatibile con OpenAI — chat, embedding, immagini, audio, OCR
🔔 Webhook/api/webhooksInvia eventi (utilizzo, quota, errori, routing) al tuo URL
🛰️ CLI remotaomniroute 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 1595% dei token — automaticamente

📖 Come funziona — pipeline, architettura e calcolo del risparmio

Pipeline di compressione OmniRoute: una richiesta client da 10.000 token attraversa 12 motori in cascata — Session-Dedup, CCR, Lite, RTK, Responses Tool Output, Headroom, Relevance, Caveman, Aggressive, LLMLingua-2, Ultra, OmniGlyph — e raggiunge il provider con circa 1.080 token, con un risparmio fino al 95%. Codice, URL e JSON sono sempre preservati byte per byte.

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:

#MotoreCosa fa
1Session-DedupElimina contenuti ripetuti tra i turni (content-addressed, cross-turn)
2CCRArchivia blocchi grandi dietro marker di recupero, caricati su richiesta
3LiteRiduzione di spazi e URL immagine (baseline a bassa latenza)
4RTKFiltro intelligente dei risultati dei tool, deduplica e troncamento (consapevole del comando)
5Responses Tool OutputCompressione JSON lossless-first + diagnostica limitata per output shell/patch/search/build (Responses API)
6HeadroomCompattazione tabellare lossless di array JSON (~30%) tramite codec GCF incluso nel progetto
7RelevanceValutazione estrattiva delle frasi rispetto all'ultima richiesta dell'utente
8CavemanCompressione della prosa basata su regole (~6575% sull'output)
9AggressiveRiepilogo + invecchiamento progressivo dei turni precedenti
10LLMLingua-2Pruning semantico ML tramite MobileBERT ONNX — code-safe, asincrono
11UltraPruning euristico dei token con livello opzionale basato su piccolo modello (SLM)
12OmniGlyphCodifica 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àRisparmioIdeale per
🪶 Lite~15%Impostazione predefinita sicura sempre attiva
🪨 Standard (Caveman)~30%Coding quotidiano
Aggressive~50%Sessioni lunghe con molti tool
🔥 Ultra~75%Massimo risparmio
🧰 RTK6090%Output di shell/test/build/git
🔗 Stacked (RTK → Caveman)7895%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 risposta X-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 ERESOLVE o 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) ≥2g
Un coding agent 8192 ≥10g
Due /v1/responses lunghe simultanee 1024012288 ≥1216g
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:next e diegosouzapw/omniroute:next-web seguono l'attuale branch release/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:sqlite integrato: OmniRoute usa il driver integrato bun:sqlite quando gira con Bun, con fallback a better-sqlite3 su Node.js o a sql.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.bun multi-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

Instagram Reel
🎬 #1 — Instagram
nick_saraev — 1,628,910 visualizzazioni
YouTube — Vaibhav Sisinty
🎬 #2 — YouTube
Vaibhav Sisinty — 373,084 visualizzazioni
YouTube Shorts
🎬 #3 — YouTube Shorts
Nick Automates — 207,714 visualizzazioni
Miniatura TikTok
🎬 #4 — TikTok
milesreevesai — 620,400 visualizzazioni
Valency Labs
🎬 #5 — YouTube
Valency Labs — 135,974 visualizzazioni

Classifica completa (v > 0, maggiore portata):

#1 #2 #3 #4 #5
nick_saraev — Instagram1,628,910 milesreevesai — TikTok620,400 Vaibhav Sisinty — YouTube373,084 Nick Automates — YouTube Shorts207,714 midudev — TikTok177,800
#6 #7 #8 #9 #10
theopenstack — Instagram155,453 t.ghoush.ai — TikTok152,800 Valency Labs — YouTube135,974 Asati — YouTube126,130 Vaibhav Sisinty — YouTube122,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


🛠️ Stack tecnologico

LivelloTecnologia
RuntimeNode.js 22.x / 24.x LTS — >=22.22.2 <23 || >=24.0.0 <27
LinguaggioTypeScript 6.0 — 100% TypeScript in src/ e open-sse/ (zero any nel core dalla v2.0)
FrameworkNext.js 16 + React 19 + Tailwind CSS 4
Databasebetter-sqlite3 (SQLite, journaling WAL) + LowDB (JSON legacy) — 120 moduli di dominio, 159 migrazioni
MemoriaRicerca full-text SQLite FTS5 + embedding vettoriali quantizzati int8, decadimento tipizzato
SchemiZod 4 — validazione I/O dei tool 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
Auth e sicurezzaOAuth 2.0 (PKCE) + JWT + API Keys + autorizzazione MCP con scope · AES-256-GCM a riposo · DOMPurify
Stealthwreq-js — impersonificazione del fingerprint TLS JA3 / JA4, proxy a 3 livelli
ResilienzaCircuit breaker, backoff esponenziale, anti-thundering-herd, auto-combo self-healing
Loggingpino — log JSON strutturati con contesto della richiesta
TestTest runner Node.js + Vitest — oltre 25.000 casi di test su 3.300+ file (unitari, integrazione, E2E, sicurezza, ecosistema)
PiattaformeDesktop (Electron) · Android (Termux) · PWA (qualsiasi browser)
CI/CDGitHub Actions — pubblicazione automatica npm + Docker Hub alla release
LinkSito web · npm · Docker Hub

📖 Documentazione

📘 Per iniziare

DocumentoDescrizione
Guida utenteProvider, combo, integrazione CLI, deployment
Guida alla configurazioneTutti i metodi di installazione, configurazioni degli strumenti CLI, protocolli, regolazione dei timeout
Guida agli strumenti CLIConfigurazione specifica per Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo, Copilot
Modalità remotaGestisci un OmniRoute remoto (VPS) dalla CLI del laptop tramite token di accesso con scope
Configurazione Claude CodeCollega Claude Code a OmniRoute (locale/remoto) con launch + profili per modello
Avvio rapidoInstallazione in 3 passaggi → collega → configura

🔧 Operazioni e deployment

DocumentoDescrizione
Guida DockerDocker run, profili Compose, Caddy HTTPS, tunnel, tag immagine
Guida PodmanIntegrazione Quadlet systemd, podman-compose, SELinux
Deployment VMGuida completa: VM + nginx + configurazione Cloudflare
Deployment Fly.ioDeployment su Fly.io con storage persistente
Guida TermuxEsegui OmniRoute su Android tramite Termux
Guida PWAInstallazione Progressive Web App, caching, architettura
Guida alla disinstallazioneRimozione pulita per tutti i metodi di installazione
Configurazione ambienteElenco completo di variabili .env e riferimenti

🧠 Funzionalità e architettura

DocumentoDescrizione
ArchitetturaArchitettura del sistema, flusso dati e componenti interni
Guida alla compressionePipeline a 7 opzioni: off / lite / standard / aggressive / ultra / RTK / stacked
Compressione RTKCompressione dell'output dei comandi, filtri, trust, verifica, recupero dell'output grezzo
Motori di compressioneCaveman, RTK, pipeline stacked, superfici dashboard/API/MCP
Formato regole di compressioneSchemi JSON dei rule pack per filtri Caveman e RTK
Language pack di compressioneRilevamento lingua e creazione dei rule pack Caveman
Guida alla resilienzaCircuit breaker, cooldown, code, anti-thundering herd, TLS spoofing
Motore Auto-ComboScoring a 14 fattori, mode pack, self-healing
Guida proxySistema proxy a 3 livelli, marketplace 1proxy, CRUD del registry
Piani gratuitiDirectory consolidata di oltre 90 provider gratuiti (42 pool token documentati / 495 modelli)
Galleria funzionalitàTour visivo della dashboard con screenshot
Documentazione della codebaseIntroduzione alla codebase adatta ai principianti

🤖 Protocolli e API

DocumentoDescrizione
Riferimento APITutti gli endpoint con esempi
Specifica OpenAPISpecifica OpenAPI 3.0
MCP Server109 tool MCP, configurazioni IDE, client Python/TS/Go
Guida MCP ServerInstallazione MCP, trasporti e riferimento dei tool
A2A ServerProtocollo JSON-RPC 2.0, skill, streaming, gestione task
Guida A2A ServerAgent Card A2A, task, skill e streaming

📋 Progetto e qualità

DocumentoDescrizione
ContribuireConfigurazione dell'ambiente di sviluppo e linee guida
Modello di branching e releaseDove puntano le PR (release/*) e cosa significano main e i tag
ChangelogCronologia completa delle release, versione per versione
Policy di sicurezzaSegnalazione vulnerabilità e pratiche di sicurezza
Guida i18nSupporto a 43 lingue, workflow di traduzione, RTL
Checklist di releasePassaggi di validazione pre-release
Piano di coverageStrategia 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
oyi77

🥇 213 commit • +114K righe
Motore analytics, aggregazioni SQL,
marketplace proxy, copertura test
R.D. & Randi
R.D. & Randi

🥈 108 commit • +38K righe
Pagina Endpoints, integrazioni tunnel,
workflow Docker, stato A2A, UI compressione
Chris Staley
Chris Staley

🥉 70 commit • +1.8K righe
Hardening stream SSE, Responses API,
paginazione Gemini, fix di regressione test
zenobit
zenobit

🏅 62 commit • +22K righe
Pipeline CI/CD, i18n per 33 lingue,
pacchetto Void Linux, fix di piattaforma
Jan Leon
Jan Leon

🏅 58 commit • +22K righe
Routing reasoning-effort, controlli proxy,
visibilità quota, compressione Live Zone
backryun
backryun

🏅 53 commit • +70K righe
Curatela catalogo provider — Perplexity, Kimi,
Cerebras, Copilot, aggiornamenti LMArena
Chirag Singhal
Chirag Singhal

🏅 46 commit • +4.8K righe
Sanitizzazione errori, fix prefill MITM,
fusion judge, correttezza breaker/429
kfiramar
kfiramar

🏅 38 commit • +1.7K righe
Codex WebSocket + passthrough, auth/onboarding,
hardening Electron, migrazioni DB
Benson K B
Benson K B

🏅 28 commit • +9.2K righe
App desktop Electron, auto-updater,
workflow build release, CI multipiattaforma
Hernan J. Ardila
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.

Professor Igor Morais Vasconcelos
Prof. Igor Morais

💛 Sponsor
longtao
longtao

💛 Sponsor

… e altri che preferiscono restare anonimi 💛

💖 Diventa sponsor → — ogni contributo mantiene OmniRoute gratuito e indipendente.


👥 Oltre 320 contributor

Contributors

Come contribuire

  1. Fai un fork del repository
  2. Crea il branch dalla punta della release/vX.Y.Z attiva (non da main) — vedi Modello di branching e release
  3. Crea il tuo feature branch (git checkout -b feat/amazing-feature)
  4. Esegui il commit delle modifiche (git commit -m 'feat: add amazing feature')
  5. Esegui il push del branch (git push origin feat/amazing-feature)
  6. 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

Grafico storico delle stelle

🌍 StarMapper

StarMapper

🙏 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

ProgettoCome ha ispirato OmniRoute
9router22.7kIl progetto originale su cui si basa questo fork — esteso qui con API multimodali e una riscrittura completa in TypeScript.
CLIProxyAPI43.6kL'implementazione Go che ha ispirato questo port JavaScript / TypeScript.
LiteLLM54.0kIl 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

ProgettoCome ha ispirato OmniRoute
Caveman90.8kIl 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 Killer71.8kCompressione 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.
headroom60.1kCompressione reversibile del contesto (SmartCrusher) — ha ispirato il nostro motore headroom e il pattern dei marker di recupero ccr.
LLMLingua6.5kRicerca sulla compressione dei prompt (LLMLingua / LLMLingua-2) — ha ispirato il nostro motore llmlingua asincrono, code-safe e fail-open.
llmlingua-2-js30Il port JS/ONNX (MobileBERT / XLM-RoBERTa) usato come backend worker-thread dal nostro motore LLMLingua.
Troglodita26Compressione token PT-BR — alimenta il nostro language pack pt-BR: riduzione dei pleonasmi e rimozione dei riempitivi ottimizzate per la grammatica portoghese brasiliana.
ponytail86.0kLa 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

ProgettoCome ha ispirato OmniRoute
TOON24.9kToken-Oriented Object Notation — il suo modello colonnare con header + righe ha influenzato la nostra fase di compattazione tabellare.
GCF Graph Compact Format22Ha 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-mcp444Cache Brotli/SQLite + delta del contesto per sessione — ha ispirato il nostro motore session-dedup.
token-savior1.1kCompattazione dell'output Bash + profili MCP — ha ispirato la nostra disciplina di bail-out nella compressione e la riduzione del manifest dei tool MCP.
token-saver117Compressione 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-optimizer1.7k"Find the ghost tokens" — il suo pattern di offload + handle recuperabile ha influenzato il nostro approccio all'offload CCR.
TokenMizer16Un blueprint con grafo di sessione + deduplica cross-turn per riga che ha influenzato il design di session-dedup.
OmniCompress3JSON 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-compressor98Compressione degli schemi/descrizioni dei tool MCP — ha influenzato la riduzione della cardinalità del manifest dei tool MCP.
RepoMapper187Ranking della repo-map in stile Aider — ha influenzato la nostra esplorazione del ranking di repo-map / retrieval.
quiet-shell-mcp4Riduzione dichiarativa dell'output shell tramite MCP — ha validato la nostra compattazione dichiarativa dell'output Bash.
ts-morph6.1kToolkit 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

ProgettoCome ha ispirato OmniRoute
Mem061.2kLayer di memoria universale — il suo modello proxy-as-write/read-boundary ha plasmato la nostra architettura della memoria.
Letta (MemGPT)23.9kAgent stateful con memoria a livelli — ha ispirato il nostro modello a livelli Context Control & Recovery (CCR).
WFGY1.8kLa 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

ProgettoCome ha ispirato OmniRoute
llm-interceptor49Intercettazione/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).
ProxyBridge5.5kRouting 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

ProgettoCome ha ispirato OmniRoute
models.dev6.0kDatabase aperto di specifiche, prezzi e capacità dei modelli AI — sincronizzato nativamente nel nostro catalogo modelli.
React Flow / xyflow37.7kLa libreria di grafi node-based che alimenta Compression Studio e Combo/Routing Studio in tempo reale.
LangGraph37.6kLa visualizzazione live dei grafi di workflow di LangGraph Studio ha ispirato la vista a cascata in tempo reale dei nostri Studio.
Langfuse31.4kIl suo modello di osservabilità trace → span → generation ha plasmato la waterfall di Compression Studio.
Kiali3.6kOsservabilità del service mesh Istio — ha ispirato i badge circuit-breaker e le visualizzazioni degli edge di errore in Routing/Combo Studio.
lobe-icons2.2kLoghi dei brand AI/LLM usati per le icone dei provider nella dashboard.

🛡️ Sicurezza

ProgettoCome ha ispirato OmniRoute
awesome-secure-defaults710Una 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

ProgettoCome 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