🌐 Languages: 🇺🇸 English | 🇧🇷 Português (Brasil) | 🇪🇸 Español | 🇫🇷 Français | 🇮🇹 Italiano | 🇷🇺 Русский | 🇨🇳 中文 (简体) | 🇩🇪 Deutsch | 🇮🇳 हिन्दी | 🇹🇭 ไทย | 🇺🇦 Українська | 🇸🇦 العربية | 🇯🇵 日本語 | 🇻🇳 Tiếng Việt | 🇧🇬 Български | 🇩🇰 Dansk | 🇫🇮 Suomi | 🇮🇱 עברית | 🇭🇺 Magyar | 🇮🇩 Bahasa Indonesia | 🇰🇷 한국어 | 🇲🇾 Bahasa Melayu | 🇳🇱 Nederlands | 🇳🇴 Norsk | 🇵🇹 Português (Portugal) | 🇷🇴 Română | 🇵🇱 Polski | 🇸🇰 Slovenčina | 🇸🇪 Svenska | 🇵🇭 Filipino
Guida completa per la configurazione dei provider, la creazione di combinazioni, l'integrazione degli strumenti CLI e la distribuzione di OmniRoute.
- Pricing at a Glance
- Use Cases
- Provider Setup
- CLI Integration
- Deployment
- Available Models
- Advanced Features
| Livello | Fornitore | Costo | Reimpostazione quota | Ideale per |
|---|---|---|---|---|
| 💳 ABBONAMENTO | Codice Claude (Pro) | $20/mese | 5 ore + settimanale | Già iscritto |
| Codice (Plus/Pro) | $20-200/mese | 5 ore + settimanale | Utenti OpenAI | |
| Gemelli CLI | GRATIS | 180K/mese + 1K/giorno | Tutti! | |
| Copilota GitHub | $ 10-19/mese | Mensile | Utenti GitHub | |
| 🔑 CHIAVE API | Ricerca profonda | Paga per utilizzo | Nessuno | Ragionamento economico |
| Groq | Paga per utilizzo | Nessuno | Inferenza ultraveloce | |
| xAI (Grok) | Paga per utilizzo | Nessuno | Grok 4 ragionamento | |
| Maestrale | Paga per utilizzo | Nessuno | Modelli ospitati nell'UE | |
| Perplessità | Paga per utilizzo | Nessuno | Ricerca aumentata | |
| Insieme AI | Paga per utilizzo | Nessuno | Modelli open source | |
| Fuochi d'artificio AI | Paga per utilizzo | Nessuno | Immagini FLUX veloci | |
| Cerebri | Paga per utilizzo | Nessuno | Velocità su scala wafer | |
| Coerenza | Paga per utilizzo | Nessuno | Comando R+ RAG | |
| NVIDIA NIM | Paga per utilizzo | Nessuno | Modelli di impresa | |
| 💰 ECONOMICO | GLM-4.7 | $ 0,6/1 milione | Tutti i giorni 10:00 | Backup del budget |
| MiniMax M2.1 | $ 0,2/1 milione | 5 ore di rotazione | Opzione più economica | |
| Kimi K2 | $ 9/mese fisso | 10 milioni di token/mese | Costo prevedibile | |
| 🆓 GRATUITO | iFlow | $0 | Illimitato | 8 modelli gratuiti |
| Qwen | $0 | Illimitato | 3 modelli gratuiti | |
| Kiro | $0 | Illimitato | Claude libero |
💡 Suggerimento da professionista: Inizia con la combinazione Gemini CLI (180.000 gratuiti al mese) + iFlow (gratuito illimitato) = costo $ 0!
Problema: La quota scade inutilizzata, limiti di velocità durante la codifica pesante
Combo: "maximize-claude"
1. cc/claude-opus-4-6 (use subscription fully)
2. glm/glm-4.7 (cheap backup when quota out)
3. if/kimi-k2-thinking (free emergency fallback)
Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total
vs. $20 + hitting limits = frustration
Problema: non posso permettermi abbonamenti, ho bisogno di una codifica IA affidabile
Combo: "free-forever"
1. gc/gemini-3-flash (180K free/month)
2. if/kimi-k2-thinking (unlimited free)
3. qw/qwen3-coder-plus (unlimited free)
Monthly cost: $0
Quality: Production-ready models
Problema: Scadenze, non posso permettermi tempi di inattività
Combo: "always-on"
1. cc/claude-opus-4-6 (best quality)
2. cx/gpt-5.2-codex (second subscription)
3. glm/glm-4.7 (cheap, resets daily)
4. minimax/MiniMax-M2.1 (cheapest, 5h reset)
5. if/kimi-k2-thinking (free unlimited)
Result: 5 layers of fallback = zero downtime
Monthly cost: $20-200 (subscriptions) + $10-20 (backup)
Problema: È necessario un assistente AI nelle app di messaggistica, completamente gratuito
Combo: "openclaw-free"
1. if/glm-4.7 (unlimited free)
2. if/minimax-m2.1 (unlimited free)
3. if/kimi-k2-thinking (unlimited free)
Monthly cost: $0
Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal...
Dashboard → Providers → Connect Claude Code
→ OAuth login → Auto token refresh
→ 5-hour + weekly quota tracking
Models:
cc/claude-opus-4-6
cc/claude-sonnet-4-5-20250929
cc/claude-haiku-4-5-20251001Suggerimento professionale: usa Opus per attività complesse, Sonnet per la velocità. OmniRoute tiene traccia della quota per modello!
Dashboard → Providers → Connect Codex
→ OAuth login (port 1455)
→ 5-hour + weekly reset
Models:
cx/gpt-5.2-codex
cx/gpt-5.1-codex-maxDashboard → Providers → Connect Gemini CLI
→ Google OAuth
→ 180K completions/month + 1K/day
Models:
gc/gemini-3-flash-preview
gc/gemini-2.5-proMiglior rapporto qualità-prezzo: Enorme livello gratuito! Utilizzalo prima dei livelli a pagamento.
Dashboard → Providers → Connect GitHub
→ OAuth via GitHub
→ Monthly reset (1st of month)
Models:
gh/gpt-5
gh/claude-4.5-sonnet
gh/gemini-3-pro- Iscriviti: Zhipu AI
- Ottieni la chiave API dal piano di codifica
- Dashboard → Aggiungi chiave API: Provider:
glm, Chiave API:your-key
Utilizza: glm/glm-4.7 — Suggerimento professionale: Il piano di codifica offre una quota 3× a un costo di 1/7! Resetta ogni giorno alle 10:00.
- Iscriviti: MiniMax
- Ottieni chiave API → Dashboard → Aggiungi chiave API
Utilizza: minimax/MiniMax-M2.1 — Suggerimento professionale: Opzione più economica per contesti lunghi (token da 1 milione)!
- Iscriviti: Moonshot AI
- Ottieni chiave API → Dashboard → Aggiungi chiave API
Utilizza: kimi/kimi-latest — Suggerimento da professionista: $ 9/mese fissi per 10 milioni di token = $ 0,90/1 milione di costi effettivi!
Dashboard → Connect iFlow → OAuth login → Unlimited usage
Models: if/kimi-k2-thinking, if/qwen3-coder-plus, if/glm-4.7, if/minimax-m2, if/deepseek-r1Dashboard → Connect Qwen → Device code auth → Unlimited usage
Models: qw/qwen3-coder-plus, qw/qwen3-coder-flashDashboard → Connect Kiro → AWS Builder ID or Google/GitHub → Unlimited
Models: kr/claude-sonnet-4.5, kr/claude-haiku-4.5Dashboard → Combos → Create New
Name: premium-coding
Models:
1. cc/claude-opus-4-6 (Subscription primary)
2. glm/glm-4.7 (Cheap backup, $0.6/1M)
3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M)
Use in CLI: premium-coding
Name: free-combo
Models:
1. gc/gemini-3-flash-preview (180K free/month)
2. if/kimi-k2-thinking (unlimited)
3. qw/qwen3-coder-plus (unlimited)
Cost: $0 forever!
Settings → Models → Advanced:
OpenAI API Base URL: http://localhost:20128/v1
OpenAI API Key: [from omniroute dashboard]
Model: cc/claude-opus-4-6
Modifica ~/.claude/config.json:
{
"anthropic_api_base": "http://localhost:20128/v1",
"anthropic_api_key": "your-omniroute-api-key"
}export OPENAI_BASE_URL="http://localhost:20128"
export OPENAI_API_KEY="your-omniroute-api-key"
codex "your prompt"Modifica ~/.openclaw/openclaw.json:
{
"agents": {
"defaults": {
"model": { "primary": "omniroute/if/glm-4.7" }
}
},
"models": {
"providers": {
"omniroute": {
"baseUrl": "http://localhost:20128/v1",
"apiKey": "your-omniroute-api-key",
"api": "openai-completions",
"models": [{ "id": "if/glm-4.7", "name": "glm-4.7" }]
}
}
}
}Oppure utilizza Dashboard: Strumenti CLI → OpenClaw → Configurazione automatica
Provider: OpenAI Compatible
Base URL: http://localhost:20128/v1
API Key: [from dashboard]
Model: cc/claude-opus-4-6
git clone https://github.com/diegosouzapw/OmniRoute.git
cd OmniRoute && npm install && npm run build
export JWT_SECRET="your-secure-secret-change-this"
export INITIAL_PASSWORD="your-password"
export DATA_DIR="/var/lib/omniroute"
export PORT="20128"
export HOSTNAME="0.0.0.0"
export NODE_ENV="production"
export NEXT_PUBLIC_BASE_URL="http://localhost:20128"
export API_KEY_SECRET="endpoint-proxy-api-key-secret"
npm run start
# Or: pm2 start npm --name omniroute -- start# Build image (default = runner-cli with codex/claude/droid preinstalled)
docker build -t omniroute:cli .
# Portable mode (recommended)
docker run -d --name omniroute -p 20128:20128 --env-file ./.env -v omniroute-data:/app/data omniroute:cliPer la modalità integrata nell'host con i file binari della CLI, consulta la sezione Docker nella documentazione principale.
| Variabile | Predefinito | Descrizione |
|---|---|---|
JWT_SECRET |
omniroute-default-secret-change-me |
Segreto firma JWT (cambio di produzione) |
INITIAL_PASSWORD |
123456 |
Prima password di accesso |
DATA_DIR |
~/.omniroute |
Directory dati (db, utilizzo, log) |
PORT |
quadro predefinito | Porta di servizio (20128 negli esempi) |
HOSTNAME |
quadro predefinito | Associa host (Docker per impostazione predefinita è 0.0.0.0) |
NODE_ENV |
impostazione predefinita di runtime | Imposta production per la distribuzione |
BASE_URL |
http://localhost:20128 |
URL di base interno lato server |
CLOUD_URL |
https://omniroute.dev |
URL di base dell'endpoint di sincronizzazione cloud |
API_KEY_SECRET |
endpoint-proxy-api-key-secret |
Segreto HMAC per le chiavi API generate |
REQUIRE_API_KEY |
false |
Applica la chiave API Bearer su /v1/* |
ENABLE_REQUEST_LOGS |
false |
Abilita i log di richiesta/risposta |
AUTH_COOKIE_SECURE |
false |
Forza il cookie di autenticazione Secure (dietro il proxy inverso HTTPS) |
Per il riferimento completo alle variabili di ambiente, vedere README.
Visualizza tutti i modelli disponibili
Codice Claude (cc/) — Pro/Max: cc/claude-opus-4-6, cc/claude-sonnet-4-5-20250929, cc/claude-haiku-4-5-20251001
Codice (cx/) — Plus/Pro: cx/gpt-5.2-codex, cx/gpt-5.1-codex-max
Gemini CLI (gc/) — GRATUITO: gc/gemini-3-flash-preview, gc/gemini-2.5-pro
Copilota GitHub (gh/): gh/gpt-5, gh/claude-4.5-sonnet
GLM (glm/) — $ 0,6/1 milione: glm/glm-4.7
MiniMax (minimax/) — $ 0,2/1 milione: minimax/MiniMax-M2.1
iFlow (if/) — GRATUITO: if/kimi-k2-thinking, if/qwen3-coder-plus, if/deepseek-r1
Qwen (qw/) — GRATUITO: qw/qwen3-coder-plus, qw/qwen3-coder-flash
Kiro (kr/) — GRATUITO: kr/claude-sonnet-4.5, kr/claude-haiku-4.5
DeepSeek (ds/): ds/deepseek-chat, ds/deepseek-reasoner
Groq (groq/): groq/llama-3.3-70b-versatile, groq/llama-4-maverick-17b-128e-instruct
xAI (xai/): xai/grok-4, xai/grok-4-0709-fast-reasoning, xai/grok-code-mini
Maestrale (mistral/): mistral/mistral-large-2501, mistral/codestral-2501
Perplessità (pplx/): pplx/sonar-pro, pplx/sonar
Insieme AI (together/): together/meta-llama/Llama-3.3-70B-Instruct-Turbo
Fuochi d'artificio AI (fireworks/): fireworks/accounts/fireworks/models/deepseek-v3p1
Cerebra (cerebras/): cerebras/llama-3.3-70b
Coerenza (cohere/): cohere/command-r-plus-08-2024
NVIDIA NIM (nvidia/): nvidia/nvidia/llama-3.3-70b-instruct
Aggiungi qualsiasi ID modello a qualsiasi provider senza attendere un aggiornamento dell'app:
# Via API
curl -X POST http://localhost:20128/api/provider-models \
-H "Content-Type: application/json" \
-d '{"provider": "openai", "modelId": "gpt-4.5-preview", "modelName": "GPT-4.5 Preview"}'
# List: curl http://localhost:20128/api/provider-models?provider=openai
# Remove: curl -X DELETE "http://localhost:20128/api/provider-models?provider=openai&model=gpt-4.5-preview"Oppure utilizza la Dashboard: Provider → [Provider] → Modelli personalizzati.
Instrada le richieste direttamente a un fornitore specifico con convalida del modello:
POST http://localhost:20128/v1/providers/openai/chat/completions
POST http://localhost:20128/v1/providers/openai/embeddings
POST http://localhost:20128/v1/providers/fireworks/images/generationsSe mancante, il prefisso del provider viene aggiunto automaticamente. I modelli non corrispondenti restituiscono 400.
# Set global proxy
curl -X PUT http://localhost:20128/api/settings/proxy \
-d '{"global": {"type":"http","host":"proxy.example.com","port":"8080"}}'
# Per-provider proxy
curl -X PUT http://localhost:20128/api/settings/proxy \
-d '{"providers": {"openai": {"type":"socks5","host":"proxy.example.com","port":"1080"}}}'
# Test proxy
curl -X POST http://localhost:20128/api/settings/proxy/test \
-d '{"proxy":{"type":"socks5","host":"proxy.example.com","port":"1080"}}'Precedenza: Specifico per chiave → Specifico per combo → Specifico per provider → Globale → Ambiente.
curl http://localhost:20128/api/models/catalogRestituisce modelli raggruppati per provider con tipi (chat, embedding, image).
- Sincronizza provider, combo e impostazioni su tutti i dispositivi
- Sincronizzazione automatica in background con timeout + fail-fast
- Preferisci lato server
BASE_URL/CLOUD_URLin produzione
- Cache semantica: memorizza automaticamente nella cache le risposte non in streaming, temperatura=0 (ignora con
X-OmniRoute-No-Cache: true) - Idempotenza richiesta: deduplica le richieste entro 5 secondi tramite l'intestazione
Idempotency-KeyoX-Request-Id - Monitoraggio dei progressi: attivazione degli eventi SSE
event: progresstramite l'intestazioneX-OmniRoute-Progress: true
Accesso tramite Dashboard → Traduttore. Eseguire il debug e visualizzare il modo in cui OmniRoute traduce le richieste API tra provider.
| Modalità | Scopo |
|---|---|
| Parco giochi | Seleziona i formati di origine/destinazione, incolla una richiesta e visualizza immediatamente l'output tradotto |
| Tester della chat | Invia messaggi di chat dal vivo tramite il proxy e controlla l'intero ciclo di richiesta/risposta |
| Banco di prova | Esegui test batch su più combinazioni di formati per verificare la correttezza della traduzione |
| Monitoraggio dal vivo | Guarda le traduzioni in tempo reale mentre le richieste passano attraverso il proxy |
Casi d'uso:
- Debug del motivo per cui una specifica combinazione client/provider non riesce
- Verificare che i tag pensanti, le chiamate agli strumenti e i prompt di sistema vengano tradotti correttamente
- Confronta le differenze di formato tra i formati OpenAI, Claude, Gemini e Responses API
Configura tramite Dashboard → Impostazioni → Routing.
| Strategia | Descrizione |
|---|---|
| Compila prima | Utilizza gli account in ordine di priorità: l'account principale gestisce tutte le richieste fino a quando non è disponibile |
| Round Robin | Scorre tutti gli account con un limite permanente configurabile (impostazione predefinita: 3 chiamate per account) |
| P2C (il potere di due scelte) | Scegli 2 account casuali e percorsi verso quello più sano: bilancia il carico con la consapevolezza della salute |
| Casuale | Seleziona casualmente un account per ciascuna richiesta utilizzando Fisher-Yates shuffle |
| Meno usato | Indirizza all'account con il timestamp lastUsedAt più vecchio, distribuendo il traffico in modo uniforme |
| Costi ottimizzati | Instrada all'account con il valore di priorità più basso, ottimizzando per i fornitori a basso costo |
Crea modelli con caratteri jolly per rimappare i nomi dei modelli:
Pattern: claude-sonnet-* → Target: cc/claude-sonnet-4-5-20250929
Pattern: gpt-* → Target: gh/gpt-5.1-codex
I caratteri jolly supportano * (qualsiasi carattere) e ? (carattere singolo).
Definisci catene di fallback globali che si applicano a tutte le richieste:
Chain: production-fallback
1. cc/claude-opus-4-6
2. gh/gpt-5.1-codex
3. glm/glm-4.7
Configura tramite Dashboard → Impostazioni → Resilienza.
OmniRoute implementa la resilienza a livello di fornitore con quattro componenti:
-
Profili fornitore: configurazione per fornitore per:
- Soglia di guasto (quanti guasti prima dell'apertura)
- Durata del raffreddamento
- Sensibilità di rilevamento del limite di velocità
- Parametri di backoff esponenziale
-
Limiti di velocità modificabili: impostazioni predefinite a livello di sistema configurabili nel dashboard:
- Richieste al minuto (RPM): numero massimo di richieste al minuto per account
- Tempo minimo tra le richieste: intervallo minimo in millisecondi tra le richieste
- Numero massimo di richieste simultanee: numero massimo di richieste simultanee per account
- Fai clic su Modifica per modificare, quindi su Salva o Annulla. I valori persistono tramite l'API di resilienza.
-
Interruttore di circuito: tiene traccia dei guasti per fornitore e apre automaticamente il circuito quando viene raggiunta una soglia:
- CHIUSO (integro): le richieste fluiscono normalmente
- APERTO: il provider è temporaneamente bloccato dopo ripetuti errori
- HALF_OPEN: verifica se il provider è stato ripristinato
-
Criteri e identificatori bloccati: mostra lo stato dell'interruttore automatico e gli identificatori bloccati con funzionalità di sblocco forzato.
-
Rilevamento automatico del limite di velocità: monitora le intestazioni
429eRetry-Afterper evitare in modo proattivo di raggiungere i limiti di velocità del provider.
Suggerimento avanzato: utilizza il pulsante Reimposta tutto per eliminare tutti gli interruttori automatici e i tempi di recupero quando un fornitore si riprende da un'interruzione.
Gestisci i backup del database in Dashboard → Impostazioni → Sistema e archiviazione.
| Azione | Descrizione |
|---|---|
| Esporta database | Scarica il database SQLite corrente come file .sqlite |
| Esporta tutto (.tar.gz) | Scarica un archivio di backup completo che include: database, impostazioni, combo, connessioni al provider (nessuna credenziale), metadati della chiave API |
| Importa database | Carica un file .sqlite per sostituire il database corrente. Viene creato automaticamente un backup pre-importazione |
# API: Export database
curl -o backup.sqlite http://localhost:20128/api/db-backups/export
# API: Export all (full archive)
curl -o backup.tar.gz http://localhost:20128/api/db-backups/exportAll
# API: Import database
curl -X POST http://localhost:20128/api/db-backups/import \
-F "file=@backup.sqlite"Convalida dell'importazione: il file importato viene convalidato per l'integrità (controllo pragma SQLite), le tabelle richieste (provider_connections, provider_nodes, combos, api_keys) e le dimensioni (max 100 MB).
Casi d'uso:
- Migrare OmniRoute tra macchine
- Creare backup esterni per il ripristino di emergenza
- Condividi le configurazioni tra i membri del team (esporta tutto → condividi archivio)
La pagina delle impostazioni è organizzata in 5 schede per una facile navigazione:
| Scheda | Contenuto |
|---|---|
| Sicurezza | Impostazioni accesso/password, controllo accesso IP, autenticazione API per /models e blocco provider |
| Percorso | Strategia di routing globale (6 opzioni), alias del modello con caratteri jolly, catene di fallback, impostazioni predefinite combinate |
| Resilienza | Profili dei fornitori, limiti di velocità modificabili, stato dell'interruttore automatico, policy e identificatori bloccati |
| AI | Pensare alla configurazione del budget, all'inserimento dei prompt del sistema globale, alle statistiche della cache dei prompt |
| Avanzato | Configurazione proxy globale (HTTP/SOCKS5) |
Accesso tramite Dashboard → Costi.
| Scheda | Scopo |
|---|---|
| Bilancio | Imposta limiti di spesa per chiave API con budget giornalieri/settimanali/mensili e monitoraggio in tempo reale |
| Prezzi | Visualizza e modifica le voci dei prezzi dei modelli: costo per token di input/output da 1.000 per fornitore |
# API: Set a budget
curl -X POST http://localhost:20128/api/usage/budget \
-H "Content-Type: application/json" \
-d '{"keyId": "key-123", "limit": 50.00, "period": "monthly"}'
# API: Get current budget status
curl http://localhost:20128/api/usage/budgetMonitoraggio dei costi: ogni richiesta registra l'utilizzo del token e calcola il costo utilizzando la tabella dei prezzi. Visualizza i dettagli in Dashboard → Utilizzo per provider, modello e chiave API.
OmniRoute supporta la trascrizione audio tramite l'endpoint compatibile con OpenAI:
POST /v1/audio/transcriptions
Authorization: Bearer your-api-key
Content-Type: multipart/form-data
# Example with curl
curl -X POST http://localhost:20128/v1/audio/transcriptions \
-H "Authorization: Bearer your-api-key" \
-F "file=@audio.mp3" \
-F "model=deepgram/nova-3"Provider disponibili: Deepgram (deepgram/), AssemblyAI (assemblyai/).
Formati audio supportati: mp3, wav, m4a, flac, ogg, webm.
Configura il bilanciamento per combo in Dashboard → Combo → Crea/Modifica → Strategia.
| Strategia | Descrizione |
|---|---|
| Round-Robin | Ruota i modelli in sequenza |
| Priorità | Prova sempre il primo modello; ricorre solo in caso di errore |
| Casuale | Sceglie un modello casuale dalla combo per ogni richiesta |
| Ponderato | Percorsi proporzionali in base ai pesi assegnati per modello |
| Meno utilizzato | Indirizza al modello con il minor numero di richieste recenti (utilizza metriche combinate) |
| Ottimizzazione dei costi | Itinerari verso il modello disponibile più economico (utilizza la tabella dei prezzi) |
Le impostazioni predefinite globali della combo possono essere impostate in Dashboard → Impostazioni → Routing → Impostazioni combo.
Accesso tramite Dashboard → Salute. Panoramica sullo stato del sistema in tempo reale con 6 carte:
| Carta | Cosa mostra |
|---|---|
| Stato del sistema | Tempo di attività, versione, utilizzo della memoria, directory dei dati |
| Salute del fornitore | Stato dell'interruttore automatico per provider (chiuso/aperto/semiaperto) |
| Limiti di tariffa | Raffreddamenti del limite di velocità attivi per account con tempo rimanente |
| Blocchi attivi | Provider temporaneamente bloccati dalla politica di blocco |
| Cache delle firme | Statistiche della cache di deduplicazione (chiavi attive, percentuale di successo) |
| Telemetria della latenza | Aggregazione della latenza p50/p95/p99 per provider |
Suggerimento avanzato: la pagina Salute si aggiorna automaticamente ogni 10 secondi. Utilizza la scheda dell'interruttore per identificare quali fornitori stanno riscontrando problemi.