You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Every developer using AI tools faces these problems daily. OmniRoute was built to solve them all — from cost overruns to regional blocks, from broken OAuth flows to zero observability.
💸 1. "I pay for an expensive subscription but still get interrupted by limits"
Developers pay $20–200/month for Claude Pro, Codex Pro, or GitHub Copilot. Even paying, quota has a ceiling — 5h of usage, weekly limits, or per-minute rate limits. Mid-coding session, the provider stops responding and the developer loses flow and productivity.
How OmniRoute solves it:
Smart 4-Tier Fallback — If subscription quota runs out, automatically redirects to API Key → Cheap → Free with zero manual intervention
Real-Time Quota Tracking — Shows token consumption in real-time with reset countdown (5h, daily, weekly)
Multi-Account Support — Multiple accounts per provider with auto round-robin — when one runs out, switches to the next
Codex Business Quotas — Business/Team workspace quota monitoring directly in the dashboard
🔌 2. "I need to use multiple providers but each has a different API"
OpenAI uses one format, Claude (Anthropic) uses another, Gemini yet another. If a dev wants to test models from different providers or fallback between them, they need to reconfigure SDKs, change endpoints, deal with incompatible formats. Custom providers (FriendLI, NIM) have non-standard model endpoints.
How OmniRoute solves it:
Unified Endpoint — A single http://localhost:20128/v1 serves as proxy for all 36+ providers
Format Translation — Automatic and transparent: OpenAI ↔ Claude ↔ Gemini ↔ Responses API
Role Normalization — Converts developer → system for non-OpenAI providers; system → user for GLM/ERNIE
Think Tag Extraction — Extracts <think> blocks from models like DeepSeek R1 into standardized reasoning_content
Structured Output for Gemini — json_schema → responseMimeType/responseSchema automatic conversion
stream defaults to false — Aligns with OpenAI spec, avoiding unexpected SSE in Python/Rust/Go SDKs
🌐 3. "My AI provider blocks my region/country"
Providers like OpenAI/Codex block access from certain geographic regions. Users get errors like unsupported_country_region_territory during OAuth and API connections. This is especially frustrating for developers from developing countries.
How OmniRoute solves it:
3-Level Proxy Config — Configurable proxy at 3 levels: global (all traffic), per-provider (one provider only), and per-connection/key
Color-Coded Proxy Badges — Visual indicators: 🟢 global proxy, 🟡 provider proxy, 🔵 connection proxy, always showing the IP
OAuth Token Exchange Through Proxy — OAuth flow also goes through the proxy, solving unsupported_country_region_territory
Connection Tests via Proxy — Connection tests use the configured proxy (no more direct bypass)
SOCKS5 Support — Full SOCKS5 proxy support for outbound routing
TLS Fingerprint Spoofing — Browser-like TLS fingerprint via wreq-js to bypass bot detection
🆓 4. "I want to use AI for coding but I have no money"
Not everyone can pay $20–200/month for AI subscriptions. Students, devs from emerging countries, hobbyists, and freelancers need access to quality models at zero cost.
How OmniRoute solves it:
Free Tier Providers Built-in — Native support for 100% free providers: iFlow (8 unlimited models), Qwen (3 unlimited models), Kiro (Claude for free), Gemini CLI (180K/month free)
Free-Only Combos — Chain gc/gemini-3-flash → if/kimi-k2-thinking → qw/qwen3-coder-plus = $0/month with zero downtime
NVIDIA NIM Free Credits — 1000 free credits integrated
Cost Optimized Strategy — Routing strategy that automatically chooses the cheapest available provider
🔒 5. "I need to protect my AI gateway from unauthorized access"
When exposing an AI gateway to the network (LAN, VPS, Docker), anyone with the address can consume the developer's tokens/quota. Without protection, APIs are vulnerable to misuse, prompt injection, and abuse.
How OmniRoute solves it:
API Key Management — Generation, rotation, and scoping per provider with a dedicated /dashboard/api-manager page
Model-Level Permissions — Restrict API keys to specific models (openai/*, wildcard patterns), with Allow All/Restrict toggle
API Endpoint Protection — Require a key for /v1/models and block specific providers from the listing
Auth Guard + CSRF Protection — All dashboard routes protected with withAuth middleware + CSRF tokens
Rate Limiter — Per-IP rate limiting with configurable windows
IP Filtering — Allowlist/blocklist for access control
Prompt Injection Guard — Sanitization against malicious prompt patterns
AES-256-GCM Encryption — Credentials encrypted at rest
🛑 6. "My provider went down and I lost my coding flow"
AI providers can become unstable, return 5xx errors, or hit temporary rate limits. If a dev depends on a single provider, they're interrupted. Without circuit breakers, repeated retries can crash the application.
How OmniRoute solves it:
Circuit Breaker per-provider — Auto-open/close with configurable thresholds and cooldown (Closed/Open/Half-Open)
🔧 7. "Configuring each AI tool is tedious and repetitive"
Developers use Cursor, Claude Code, Codex CLI, OpenClaw, Gemini CLI, Kilo Code... Each tool needs a different config (API endpoint, key, model). Reconfiguring when switching providers or models is a waste of time.
How OmniRoute solves it:
CLI Tools Dashboard — Dedicated page with one-click setup for Claude Code, Codex CLI, OpenClaw, Kilo Code, Antigravity, Cline
GitHub Copilot Config Generator — Generates chatLanguageModels.json for VS Code with bulk model selection
Onboarding Wizard — Guided 4-step setup for first-time users
One endpoint, all models — Configure http://localhost:20128/v1 once, access 36+ providers
🔑 8. "Managing OAuth tokens from multiple providers is hell"
Claude Code, Codex, Gemini CLI, Copilot — all use OAuth 2.0 with expiring tokens. Developers need to re-authenticate constantly, deal with client_secret is missing, redirect_uri_mismatch, and failures on remote servers. OAuth on LAN/VPS is particularly problematic.
How OmniRoute solves it:
Auto Token Refresh — OAuth tokens refresh in background before expiration
OAuth 2.0 (PKCE) Built-in — Automatic flow for Claude Code, Codex, Gemini CLI, Copilot, Kiro, Qwen, iFlow
Multi-Account OAuth — Multiple accounts per provider via JWT/ID token extraction
OAuth LAN/Remote Fix — Private IP detection for redirect_uri + manual URL mode for remote servers
OAuth Behind Nginx — Uses window.location.origin for reverse proxy compatibility
Remote OAuth Guide — Step-by-step guide for Google Cloud credentials on VPS/Docker
📊 9. "I don't know how much I'm spending or where"
Developers use multiple paid providers but have no unified view of spending. Each provider has its own billing dashboard, but there's no consolidated view. Unexpected costs can pile up.
How OmniRoute solves it:
Cost Analytics Dashboard — Per-token cost tracking and budget management per provider
Budget Limits per Tier — Spending ceiling per tier that triggers automatic fallback
Per-Model Pricing Configuration — Configurable prices per model
Usage Statistics Per API Key — Request count and last-used timestamp per key
Analytics Dashboard — Stat cards, model usage chart, provider table with success rates and latency
🐛 10. "I can't diagnose errors and problems in AI calls"
When a call fails, the dev doesn't know if it was a rate limit, expired token, wrong format, or provider error. Fragmented logs across different terminals. Without observability, debugging is trial-and-error.
File-Based Logging with Rotation — Console interceptor captures everything to JSON log with size-based rotation
🏗️ 11. "Deploying and maintaining the gateway is complex"
Installing, configuring, and maintaining an AI proxy across different environments (local, VPS, Docker, cloud) is labor-intensive. Problems like hardcoded paths, EACCES on directories, port conflicts, and cross-platform builds add friction.
Docker Compose Profiles — base (no CLI tools) and cli (with Claude Code, Codex, OpenClaw)
Electron Desktop App — Native app for Windows/macOS/Linux with system tray, auto-start, offline mode
Split-Port Mode — API and Dashboard on separate ports for advanced scenarios (reverse proxy, container networking)
Cloud Sync — Config synchronization across devices via Cloudflare Workers
DB Backups — Automatic backup, restore, export and import of all settings
🌍 12. "The interface is English-only and my team doesn't speak English"
Teams in non-English-speaking countries, especially in Latin America, Asia, and Europe, struggle with English-only interfaces. Language barriers reduce adoption and increase configuration errors.
Language Selector — Globe icon in header for real-time switching
🔄 13. "I need more than chat — I need embeddings, images, audio"
AI isn't just chat completion. Devs need to generate images, transcribe audio, create embeddings for RAG, rerank documents, and moderate content. Each API has a different endpoint and format.
How OmniRoute solves it:
Embeddings — /v1/embeddings with 6 providers and 9+ models
Image Generation — /v1/images/generations with 4 providers and 9+ models
Responses API — Full /v1/responses support for Codex
🧪 14. "I have no way to test and compare quality across models"
Developers want to know which model is best for their use case — code, translation, reasoning — but comparing manually is slow. No integrated eval tools exist.
How OmniRoute solves it:
LLM Evaluations — Golden set testing with 10 pre-loaded cases covering greetings, math, geography, code generation, JSON compliance, translation, markdown, safety refusal
4 Match Strategies — exact, contains, regex, custom (JS function)
Translator Playground Test Bench — Batch testing with multiple inputs and expected outputs, cross-provider comparison
Chat Tester — Full round-trip with visual response rendering
Live Monitor — Real-time stream of all requests flowing through the proxy
📈 15. "I need to scale without losing performance"
As request volume grows, without caching the same questions generate duplicate costs. Without idempotency, duplicate requests waste processing. Per-provider rate limits must be respected.
Request Idempotency — 5s deduplication window for identical requests
Rate Limit Detection — Per-provider RPM, min gap, and max concurrent tracking
Editable Rate Limits — Configurable defaults in Settings → Resilience with persistence
API Key Validation Cache — 3-tier cache for production performance
Health Dashboard with Telemetry — p50/p95/p99 latency, cache stats, uptime
🤖 16. "I want to control model behavior globally"
Developers who want all responses in a specific language, with a specific tone, or want to limit reasoning tokens. Configuring this in every tool/request is impractical.
How OmniRoute solves it:
System Prompt Injection — Global prompt applied to all requests
Thinking Budget Validation — Reasoning token allocation control per request (passthrough, auto, custom, adaptive)
6 Routing Strategies — Global strategies that determine how requests are distributed
Wildcard Router — provider/* patterns route dynamically to any provider
Combo Enable/Disable Toggle — Toggle combos directly from the dashboard
Provider Toggle — Enable/disable all connections for a provider with one click
Blocked Providers — Exclude specific providers from /v1/models listing
⚡ Rýchly štart
1. Inštalovať globálne:
npm install -g omniroute
omniroute
🎉 Dashboard sa otvára o http://localhost:20128
Príkaz
Popis
omniroute
Spustiť server (predvolený port 20128)
omniroute --port 3000
Použiť vlastný port
omniroute --no-open
Neotvárať automaticky prehliadač
omniroute --help
Zobraziť pomoc
2. Pripojte BEZPLATNÉHO poskytovateľa:
Dashboard → Poskytovatelia → Pripojiť Claude Code alebo Antigravity → Prihlásenie OAuth → Hotovo!
3. Použitie v nástroji CLI:
Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings:
Endpoint: http://localhost:20128/v1
API Key: [copy from dashboard]
Model: if/kimi-k2-thinking
To je všetko! Začnite kódovať s modelmi AI ZDARMA.
Alternatíva – spustiť zo zdroja:
cp .env.example .env
npm install
PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev
🐳 Docker
OmniRoute je k dispozícii ako verejný obrázok Docker na Docker Hub.
🌐 Offline Mode — Works fully offline with bundled server
npm run electron:dev # Development mode
npm run electron:build # Current platform
npm run electron:build:win # Windows (.exe)
npm run electron:build:mac # macOS (.dmg)
npm run electron:build:linux # Linux (.AppImage)
Štruktúrovaný výstup — json_schema → Gemini's responseMimeType/responseSchema
👥 Podpora viacerých účtov
Pridajte viac účtov na poskytovateľa
Automatické cyklické alebo prioritné smerovanie
Návrat k ďalšiemu účtu, keď jeden dosiahne kvótu
🔄 Automatické obnovenie tokenu
Tokeny OAuth sa pred vypršaním platnosti automaticky obnovujú
Nie je potrebné manuálne opätovné overenie
Bezproblémové skúsenosti u všetkých poskytovateľov
🎨 Vlastné kombinácie
Vytvárajte neobmedzené kombinácie modelov
6 stratégií: vyplňte najskôr, cyklicky, sila dvoch možností, náhodné, najmenej používané, nákladovo optimalizované
Zdieľajte kombinácie medzi zariadeniami pomocou synchronizácie cloudu
🏥 Panel zdravia
Stav systému (čas prevádzky, verzia, využitie pamäte)
Stavy ističov podľa poskytovateľa (zatvorené/otvorené/polootvorené)
Stav limitu sadzby a aktívne blokovania
Štatistika vyrovnávacej pamäte podpisov
Telemetria latencie (p50/p95/p99) + prompt cache
Obnovte zdravotný stav jedným kliknutím
🔧 Ihrisko pre prekladateľov
OmniRoute obsahuje výkonné vstavané ihrisko pre prekladateľov so 4 režimami na ladenie, testovanie a monitorovanie prekladov API:
Režim
Popis
💻 Ihrisko
Priamy preklad formátu — vložte ľubovoľné telo požiadavky API a okamžite uvidíte, ako ju OmniRoute preloží medzi formátmi poskytovateľov (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Zahŕňa vzorové šablóny a automatickú detekciu formátu.
💬 Tester chatu
Pošlite skutočné žiadosti o rozhovor cez OmniRoute a pozrite si celý spiatočný výlet: svoj vstup, preloženú žiadosť, odpoveď poskytovateľa a preloženú odpoveď späť. Neoceniteľné pre overenie kombinovaného smerovania.
🧪 Testovacia lavica
Režim dávkového testovania – definujte viacero testovacích prípadov s rôznymi vstupmi a očakávanými výstupmi, spustite ich všetky naraz a porovnajte výsledky medzi poskytovateľmi a modelmi.
📱 Živý monitor
Monitorovanie požiadaviek v reálnom čase – sledujte prichádzajúce požiadavky, ako prechádzajú cez OmniRoute, sledujte, ako prebiehajú preklady formátu naživo, a okamžite identifikujte problémy.
Prístup: Hlavný panel → Prekladač (bočný panel)
💾 Cloud Sync
Synchronizujte poskytovateľov, kombinácie a nastavenia medzi zariadeniami
Automatická synchronizácia na pozadí
Bezpečné šifrované úložisko
🎯 Prípady použitia
Prípad 1: „Mám predplatné Claude Pro“
Problém: Platnosť kvóty vyprší nevyužitá, obmedzenia sadzieb počas náročného kódovania
Poznámka: OpenClaw funguje iba s lokálnou OmniRoute. Použite 127.0.0.1 namiesto localhost, aby ste sa vyhli problémom s rozlíšením IPv6.
Cline / Pokračovať / RooCode
Settings → API Configuration:
Provider: OpenAI Compatible
Base URL: http://localhost:20128/v1
API Key: [from OmniRoute dashboard]
Model: if/kimi-k2-thinking
🧪 Hodnotenia (Evals)
OmniRoute obsahuje vstavaný hodnotiaci rámec na testovanie kvality odozvy LLM oproti zlatému súboru. Prístup k nej získate cez Analytics → Evals na hlavnom paneli.
Vstavaná zlatá súprava
Predinštalovaná sada „OmniRoute Golden Set“ obsahuje 10 testovacích prípadov, ktoré zahŕňajú:
Ak problémy pretrvávajú: Dashboard → Provider → Reconnect
Vysoké náklady
Skontrolujte štatistiky používania v hlavnom paneli → Náklady
Prepnite primárny model na GLM/MiniMax
Používajte bezplatnú vrstvu (Gemini CLI, iFlow) pre nekritické úlohy
Palubná doska sa otvára na nesprávnom porte
Nastavte PORT=20128 a NEXT_PUBLIC_BASE_URL=http://localhost:20128
Chyby synchronizácie v cloude
Overte BASE_URL body na vašu spustenú inštanciu
– Overte CLOUD_URL bodov k očakávanému koncovému bodu cloudu
Ponechajte hodnoty NEXT_PUBLIC_* zarovnané s hodnotami na strane servera
Prvé prihlásenie nefunguje
Skontrolujte INITIAL_PASSWORD v .env
– Ak nie je nastavené, záložné heslo je 123456
Žiadne záznamy žiadostí
Nastaviť ENABLE_REQUEST_LOGS=true v .env
Test pripojenia ukazuje „Neplatné“ pre poskytovateľov kompatibilných s OpenAI
Mnohí poskytovatelia nevystavujú koncový bod /models
OmniRoute v1.0.6+ zahŕňa záložné overenie prostredníctvom dokončenia chatu
Uistite sa, že základná adresa URL obsahuje príponu /v1
🔐 OAuth em Servidor Remoto (Vzdialené nastavenie OAuth)
⚠️ DÔLEŽITÉ pre používateľov s OmniRoute a diaľkovým ovládaním VPS/Docker/servidor
Od OAuth do Antigravity / Gemini CLI falha em servidores remotos?
Osvedčuje Antigravity a Gemini CLI používame Google OAuth 2.0 ako autentifikáciu. O Google exige que a redirect_uri usada no fluxo OAuth saja exatamente uma das URI pre-kadastradas no Google Cloud Console to use.
Ako credenciais OAuth embutidas no OmniRoute estão cadastradas apenas para localhost. K dispozícii máte prístup k OmniRoute k vzdialenému servisu (napr.: https://omniroute.meuservidor.com), alebo k autenticite spoločnosti Google:
Error 400: redirect_uri_mismatch
Riešenie: Konfigurácia proprias poverenia OAuth
Presný kód je OAuth 2.0 Client ID bez služby Google Cloud Console s identifikátorom URI.
Špeciálne poďakovanie patrí 9router od decolua – pôvodnému projektu, ktorý inšpiroval túto vidličku. OmniRoute stavia na tomto neuveriteľnom základe s ďalšími funkciami, multimodálnymi API a úplným prepísaním TypeScript.
Špeciálne poďakovanie patrí CLIProxyAPI – pôvodnej implementácii Go, ktorá inšpirovala tento port JavaScript.
📄 Licencia
Licencia MIT – podrobnosti nájdete na stránke LICENSE.
Vytvorené pomocou ❤️ pre vývojárov, ktorí kódujú 24/7 omniroute.online