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
⚡ התחלה מהירה
1. התקן ברחבי העולם:
npm install -g omniroute
omniroute
🎉 לוח המחוונים נפתח ב-http://localhost:20128
פקודה
תיאור
omniroute
התחל שרת (יציאת ברירת מחדל 20128)
omniroute --port 3000
השתמש ביציאה מותאמת אישית
omniroute --no-open
אל תפתח אוטומטית את הדפדפן
omniroute --help
הצג עזרה
2. חבר ספק חינמי:
לוח מחוונים ← ספקים ← התחבר קוד קלוד או אנטי כבידה ← התחברות OAuth ← בוצע!
3. השתמש בכלי ה-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
זהו זה! התחל לקודד עם דגמי AI בחינם.
אלטרנטיבה - הפעל מהמקור:
cp .env.example .env
npm install
PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev
🐳 דוקר
OmniRoute זמין כתמונת Docker ציבורית ב-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)
פלט מובנה — json_schema → responseMimeType/responseSchema של Gemini
👥 תמיכה בריבוי חשבונות
הוסף מספר חשבונות לכל ספק
ניתוב סבב אוטומטי או מבוסס עדיפות
חזרה לחשבון הבא כאשר אחד מגיע למכסה
🔄 רענון אסימון אוטומטי
אסימוני OAuth מתרעננים אוטומטית לפני פקיעת התוקף
אין צורך באימות מחדש ידני
חוויה חלקה בכל הספקים
🎨 שילובים מותאמים אישית
צור שילובי דגמים ללא הגבלה
6 אסטרטגיות: מילוי ראשון, עגול, כוח משתי בחירות, אקראי, פחות בשימוש, אופטימיזציית עלות
שתף שילובים בין מכשירים עם Cloud Sync
🏥 לוח מחוונים לבריאות
מצב מערכת (זמן פעילות, גרסה, שימוש בזיכרון)
מצבי מפסק לכל ספק (סגור/פתוח/חצי פתוח)
מצב מגבלת תעריף ונעילה אקטיבית
סטטיסטיקת מטמון חתימה
טלמטריית אחזור (p50/p95/p99) + מטמון פקודות
אפס מצב בריאותי בלחיצה אחת
🔧 מגרש משחקים למתרגמים
OmniRoute כולל מגרש משחקי מתרגמים מובנה רב עוצמה עם 4 מצבים לניפוי באגים, בדיקה וניטור תרגומי API:
מצב
תיאור
💻 מגרש משחקים
תרגום פורמט ישיר - הדבק כל גוף בקשת API וראה באופן מיידי כיצד OmniRoute מתרגם אותו בין פורמטים של ספקים (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). כולל תבניות לדוגמה וזיהוי אוטומטי של פורמטים.
💬 בודק צ'אט
שלח בקשות צ'אט אמיתיות דרך OmniRoute וראה את המסלול המלא הלוך ושוב: הקלט שלך, הבקשה המתורגמת, תגובת הספק והתגובה המתורגמת חזרה. לא יסולא בפז עבור אימות ניתוב משולב.
🧪 ספסל מבחן
מצב בדיקת אצווה - הגדירו מקרי בדיקה מרובים עם תשומות ותפוקות צפויות שונות, הפעל את כולם בבת אחת והשווה תוצאות בין ספקים ודגמים.
📱 צג חי
ניטור בקשות בזמן אמת - צפה בבקשות נכנסות כשהן זורמות דרך OmniRoute, ראה תרגומי פורמטים המתרחשים בשידור חי וזיהוי בעיות באופן מיידי.
גישה: לוח מחוונים ← מתרגם (סרגל צד)
💾 סנכרון ענן
סנכרון ספקים, שילובים והגדרות בין מכשירים
סנכרון רקע אוטומטי
אחסון מוצפן מאובטח
🎯 מקרי שימוש
מקרה 1: "יש לי מנוי לקלוד פרו"
בעיה: תוקף המכסה פג ללא שימוש, מגבלות תעריף במהלך קידוד כבד
שמור על ערכי NEXT_PUBLIC_* מיושרים עם ערכי צד השרת
הכניסה הראשונה לא עובדת
בדוק את INITIAL_PASSWORD ב-.env
אם לא מוגדרת, סיסמת החלפה היא 123456
ללא יומני בקשות
הגדר ENABLE_REQUEST_LOGS=true ב-.env
בדיקת חיבור מראה "לא חוקי" עבור ספקים תואמי OpenAI
ספקים רבים אינם חושפים נקודת קצה /models
OmniRoute v1.0.6+ כולל אימות חוזר באמצעות השלמת צ'אט
ודא שכתובת האתר הבסיסית כוללת את הסיומת /v1
🔐 OAuth em Servidor Remoto (הגדרת OAuth מרחוק)
⚠️ חשוב עבור שימוש ב-OmniRoute עם מרחוק VPS/Docker/שרת
האם אפשר לעשות אנטי כבידה / CLI מזל תאומים על שירותים מרוחקים?
שימוש ב-Antigravity ו-Gemini CLI בשימוש ב-Google OAuth 2.0 עבור אוטנטיקה. O Google exige que a redirect_uri usada no fluxo OAuth seja exatamente uma das URIs pré-cadastradas no Google Cloud Console do aplicativo.
As credenciais OAuth embutidas no OmniRoute estão cadastradas apenas para localhost. Quando você acessa o OmniRoute em um servidor remoto (לדוגמה: https://omniroute.meuservidor.com), o Google rejeita a autenticação com:
Error 400: redirect_uri_mismatch
פתרון: הגדר את התצורה של OAuth
קרא בדיוק את OAuth 2.0 Client ID ללא Google Cloud Console com a URI do seu service.
תודה מיוחדת ל**9router** מאת decolua - הפרויקט המקורי שהיווה השראה למזלג הזה. OmniRoute בונה על הבסיס המדהים הזה עם תכונות נוספות, ממשקי API רב-מודאליים ושכתוב מלא של TypeScript.
תודה מיוחדת ל**CLIProxyAPI** - היישום המקורי של Go שימש השראה ליציאת JavaScript הזו.