OmniRoute Dashboard # 🚀 OmniRoute — Gateway-ul gratuit AI ### Nu opriți niciodată codificarea. Dirijare inteligentă către **modele AI GRATUITE și cu costuri reduse** cu rezervă automată. _Proxy-ul dvs. universal API - un punct final, peste 36 de furnizori, zero timpi de nefuncționare._ **Finalizări de chat • Încorporare • Generare de imagini • Audio • Reclasificare • 100% TypeScript** --- ### 🤖 Furnizor AI gratuit pentru agenții tăi preferați de codare _Conectați orice instrument IDE sau CLI alimentat de AI prin OmniRoute — gateway API gratuit pentru codare nelimitată._
OpenClaw
OpenClaw

⭐ 205K
NanoBot
NanoBot

⭐ 20.9K
PicoClaw
PicoClaw

⭐ 14.6K
ZeroClaw
ZeroClaw

⭐ 9.9K
IronClaw
IronClaw

⭐ 2.1K
OpenCode
OpenCode

⭐ 106K
Codex CLI
Codex CLI

⭐ 60.8K
Claude Code
Claude Code

⭐ 67.3K
Gemini CLI
Gemini CLI

⭐ 94.7K
Kilo Code
Kilo Code

⭐ 15.5K
📡 Toți agenții se conectează prin http://localhost:20128/v1 sau http://cloud.omniroute.online.online/v1 modele și cotă nelimitate --- [![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) [![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE) [![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) [![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) [🌐 Website](https://omniroute.online) • [🚀 Quick Start](#-quick-start) • [💡 Features](#-key-features) • [📖 Docs](#-documentation) • [💰 Pricing](#-pricing-at-a-glance) • [💬 WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) 🌐 **Available in:** 🇺🇸 [English](README.md) | 🇧🇷 [Português (Brasil)](README.pt-BR.md) | 🇪🇸 [Español](README.es.md) | 🇫🇷 [Français](README.fr.md) | 🇮🇹 [Italiano](README.it.md) | 🇷🇺 [Русский](README.ru.md) | 🇨🇳 [中文 (简体)](README.zh-CN.md) | 🇩🇪 [Deutsch](README.de.md) | 🇮🇳 [हिन्दी](README.in.md) | 🇹🇭 [ไทย](README.th.md) | 🇺🇦 [Українська](README.uk-UA.md) | 🇸🇦 [العربية](README.ar.md) | 🇯🇵 [日本語](README.ja.md) | 🇻🇳 [Tiếng Việt](README.vi.md) | 🇧🇬 [Български](README.bg.md) | 🇩🇰 [Dansk](README.da.md) | 🇫🇮 [Suomi](README.fi.md) | 🇮🇱 [עברית](README.he.md) | 🇭🇺 [Magyar](README.hu.md) | 🇮🇩 [Bahasa Indonesia](README.id.md) | 🇰🇷 [한국어](README.ko.md) | 🇲🇾 [Bahasa Melayu](README.ms.md) | 🇳🇱 [Nederlands](README.nl.md) | 🇳🇴 [Norsk](README.no.md) | 🇵🇹 [Português (Portugal)](README.pt.md) | 🇷🇴 [Română](README.ro.md) | 🇵🇱 [Polski](README.pl.md) | 🇸🇰 [Slovenčina](README.sk.md) | 🇸🇪 [Svenska](README.sv.md) | 🇵🇭 [Filipino](README.phi.md)
--- ## 🤔 De ce OmniRoute? **Nu mai risipi banii și nu mai atingeți limitele:** - Cota de abonament expiră neutilizată în fiecare lună - Limitele ratelor te opresc la mijloc de codare - API-uri scumpe (20-50 USD/lună per furnizor) - Comutare manuală între furnizori **OmniRoute rezolvă asta:** - ✅ **Maximizați abonamentele** - Urmăriți cota, utilizați fiecare bit înainte de resetare - ✅ **Auto de rezervă** - Abonament → Cheie API → Ieftin → Gratuit, timp de nefuncționare zero - ✅ **Multi-cont** - Round-robin între conturi pentru fiecare furnizor - ✅ **Universal** - Funcționează cu Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, orice instrument CLI --- ## 🔄 Cum funcționează ``` ┌─────────────┐ │ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) │ Tool │ └──────┬──────┘ │ http://localhost:20128/v1 ↓ ┌─────────────────────────────────────────┐ │ OmniRoute (Smart Router) │ │ • Format translation (OpenAI ↔ Claude) │ │ • Quota tracking + Embeddings + Images │ │ • Auto token refresh │ └──────┬──────────────────────────────────┘ │ ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI │ ↓ quota exhausted ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. │ ↓ budget limit ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) │ ↓ budget limit └─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited) Result: Never stop coding, minimal cost ``` --- ## 🎯 What OmniRoute Solves — 16 Real Pain Points > **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 - **Custom Combos** — Customizable fallback chains with 6 balancing strategies (fill-first, round-robin, P2C, random, least-used, cost-optimized) - **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 - **Response Sanitization** — Strips non-standard fields (`x_groq`, `usage_breakdown`, `service_tier`) that break OpenAI SDK v1.83+ - **Role Normalization** — Converts `developer` → `system` for non-OpenAI providers; `system` → `user` for GLM/ERNIE - **Think Tag Extraction** — Extracts `` 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) - **Exponential Backoff** — Progressive retry delays - **Anti-Thundering Herd** — Mutex + semaphore protection against concurrent retry storms - **Combo Fallback Chains** — If the primary provider fails, automatically falls through the chain with no intervention - **Combo Circuit Breaker** — Auto-disables failing providers within a combo chain - **Health Dashboard** — Uptime monitoring, circuit breaker states, lockouts, cache stats, p50/p95/p99 latency
🔧 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. **How OmniRoute solves it:** - **Unified Logs Dashboard** — 4 tabs: Request Logs, Proxy Logs, Audit Logs, Console - **Console Log Viewer** — Real-time terminal-style viewer with color-coded levels, auto-scroll, search, filter - **SQLite Proxy Logs** — Persistent logs that survive server restarts - **Translator Playground** — 4 debugging modes: Playground (format translation), Chat Tester (round-trip), Test Bench (batch), Live Monitor (real-time) - **Request Telemetry** — p50/p95/p99 latency + X-Request-Id tracing - **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. **How OmniRoute solves it:** - **npm global install** — `npm install -g omniroute && omniroute` — done - **Docker Multi-Platform** — AMD64 + ARM64 native (Apple Silicon, AWS Graviton, Raspberry Pi) - **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. **How OmniRoute solves it:** - **Dashboard i18n — 30 Languages** — All 500+ keys translated including Arabic, Bulgarian, Danish, German, Spanish, Finnish, French, Hebrew, Hindi, Hungarian, Indonesian, Italian, Japanese, Korean, Malay, Dutch, Norwegian, Polish, Portuguese (PT/BR), Romanian, Russian, Slovak, Swedish, Thai, Ukrainian, Vietnamese, Chinese, Filipino, English - **RTL Support** — Right-to-left support for Arabic and Hebrew - **Multi-Language READMEs** — 30 complete documentation translations - **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 - **Audio Transcription** — `/v1/audio/transcriptions` — Whisper-compatible - **Text-to-Speech** — `/v1/audio/speech` — Multi-provider audio synthesis - **Moderations** — `/v1/moderations` — Content safety checks - **Reranking** — `/v1/rerank` — Document relevance reranking - **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. **How OmniRoute solves it:** - **Semantic Cache** — Two-tier cache (signature + semantic) reduces cost and latency - **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
## ⚡ Pornire rapidă **1. Instalați la nivel global:** ```bash npm install -g omniroute omniroute ``` 🎉 Tabloul de bord se deschide la `http://localhost:20128` | Comanda | Descriere | | ----------------------- | ---------------------------------------- | | `omniroute` | Porniți serverul (portul implicit 20128) | | `omniroute --port 3000` | Utilizați portul personalizat | | `omniroute --no-open` | Nu deschideți automat browserul | | `omniroute --help` | Arată ajutor | **2. Conectați un furnizor GRATUIT:** Tabloul de bord → Furnizori → Conectare **Claude Code** sau **Antigravity** → Conectare OAuth → Gata! **3. Utilizați în instrumentul dvs. 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 ``` **Asta este!** Începeți să codați cu modele AI GRATUITE. **Alternativă - rulează de la sursă:** ```bash cp .env.example .env npm install PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev ``` --- ## 🐳 Docker OmniRoute este disponibil ca imagine publică Docker pe [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). **Alergare rapidă:** ```bash docker run -d \ --name omniroute \ --restart unless-stopped \ -p 20128:20128 \ -v omniroute-data:/app/data \ diegosouzapw/omniroute:latest ``` **Cu fișierul de mediu:** ```bash # Copy and edit .env first cp .env.example .env docker run -d \ --name omniroute \ --restart unless-stopped \ --env-file .env \ -p 20128:20128 \ -v omniroute-data:/app/data \ diegosouzapw/omniroute:latest ``` **Utilizarea Docker Compose:** ```bash # Base profile (no CLI tools) docker compose --profile base up -d # CLI profile (Claude Code, Codex, OpenClaw built-in) docker compose --profile cli up -d ``` | Imagine | Etichetă | Dimensiune | Descriere | | ------------------------ | -------- | ---------- | ----------------------- | | `diegosouzapw/omniroute` | `latest` | ~250MB | Ultima versiune stabilă | | `diegosouzapw/omniroute` | `1.0.3` | ~250MB | Versiunea curentă | --- --- ## 🖥️ Desktop App — Offline & Always-On > 🆕 **NEW!** OmniRoute is now available as a **native desktop application** for Windows, macOS, and Linux. - 🖥️ **Native Window** — Dedicated app window with system tray integration - 🔄 **Auto-Start** — Launch OmniRoute on system login - 🔔 **Native Notifications** — Get alerts for quota exhaustion or provider issues - ⚡ **One-Click Install** — NSIS (Windows), DMG (macOS), AppImage (Linux) - 🌐 **Offline Mode** — Works fully offline with bundled server ```bash 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) ``` 📖 Full documentation: [`electron/README.md`](electron/README.md) --- ## 💰 Prețurile dintr-o privire | Nivelul | Furnizor | Cost | Resetare cotă | Cel mai bun pentru | | ---------------- | ----------------- | ---------------------------- | --------------------------- | ------------------------- | | **💳 ABONARE** | Claude Code (Pro) | 20 USD/lună | 5h + săptămânal | Deja abonat | | | Codex (Plus/Pro) | 20-200 USD/lună | 5h + săptămânal | Utilizatori OpenAI | | | Gemeni CLI | **GRATIS** | 180K/lună + 1K/zi | Toată lumea! | | | GitHub Copilot | 10-19 USD/lună | Lunar | utilizatorii GitHub | | **🔑 CHEIA API** | NVIDIA NIM | **GRATIS** (1000 de credite) | O singură dată | Testare gratuită la nivel | | | DeepSeek | Plată-pe-utilizare | Niciuna | Cel mai bun preț/calitate | | | Groq | Nivel gratuit + plătit | Tarif limitat | Inferență ultra-rapidă | | | xAI (Grok) | Plată-pe-utilizare | Niciuna | Modele Grok | | | Mistral | Nivel gratuit + plătit | Tarif limitat | IA europeană | | | OpenRouter | Plată-pe-utilizare | Niciuna | 100+ modele | | **💰 IEFTIN** | GLM-4.7 | 0,6 USD/1 milion | Zilnic 10:00 | Backup buget | | | MiniMax M2.1 | 0,2 USD/1 milion | rulare de 5 ore | Cea mai ieftină opțiune | | | Kimi K2 | 9 USD/lună plat | 10 milioane de jetoane/lună | Cost previzibil | | **🆓 GRATUIT** | iFlow | $0 | Nelimitat | 8 modele gratuite | | | Qwen | $0 | Nelimitat | 3 modele gratuite | | | Kiro | $0 | Nelimitat | Claude liber | **💡 Sfat profesionist:** Începeți cu Gemini CLI (180K gratuit/lună) + iFlow (gratuit nelimitat) combo = cost 0 USD! --- ## 💡 Caracteristici cheie ### 🧠 Core Routing & Intelligence | Caracteristica | Ce face | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | | 🎯 **Backback inteligent pe 4 niveluri** | Rută automată: Abonament → Cheie API → Ieftin → Gratuit | | 📊 **Urmărirea cotelor în timp real** | Numărătoare de jetoane live + numărătoare inversă de resetare per furnizor | | 🔄 **Traducerea formatului** | OpenAI ↔ Claude ↔ Gemeni ↔ Cursor ↔ Kiro fără întreruperi + dezinfectare răspuns | | 👥 **Asistență pentru mai multe conturi** | Conturi multiple per furnizor cu selecție inteligentă | | 🔄 **Reîmprospătare automată a simbolului** | Tokenurile OAuth se reîmprospătează automat cu reîncercarea | | 🎨 **Combinații personalizate** | 6 strategii: fill-first, round-robin, p2c, aleatoriu, cel mai puțin utilizat, optimizat din punct de vedere al costurilor | | 🧩 **Modele personalizate** | Adăugați orice ID de model oricărui furnizor | | 🌐 **Wildcard Router** | Dirijați dinamic modelele `provider/*` către orice furnizor | | 🧠 **Buget de gândire** | Moduri de trecere, automat, personalizat și adaptiv pentru modelele de raționament | | 🔀 **Model Aliases** | Auto-forward deprecated model IDs to current replacements (built-in + custom) | | ⚡ **Background Degradation** | Auto-route background tasks (titles, summaries) to cheaper models | | 💬 **System Prompt Injection** | Prompt de sistem global aplicat pentru toate solicitările | | 📄 **Responses API** | Compatibilitate completă cu OpenAI Responses API (`/v1/responses`) pentru Codex | ### 🎵 API-uri multimodale | Caracteristica | Ce face | | ------------------------- | ---------------------------------------------------------- | | 🖼️ **Generarea imaginii** | `/v1/images/generations` — 4 furnizori, peste 9 modele | | 📐 **Inglobări** | `/v1/embeddings` — 6 furnizori, peste 9 modele | | 🎤 **Transcriere audio** | `/v1/audio/transcriptions` — Compatibil cu Whisper | | 🔊 **Text-to-speech** | `/v1/audio/speech` — Sinteză audio cu mai mulți furnizori | | 🛡️ **Moderații** | `/v1/moderations` — Verificări de siguranță a conținutului | | 🔀 **Reclasificare** | `/v1/rerank` — Reclasificarea relevanței documentului | ### 🛡️ Reziliență și securitate | Caracteristica | Ce face | | -------------------------------------- | ------------------------------------------------------------------------------------ | | 🔌 **Disjunctor** | Deschidere/închidere automată pentru fiecare furnizor cu praguri configurabile | | 🛡️ **Turmă Anti-Tunete** | Limită de rată Mutex + semafor pentru furnizorii de chei API | | 🧠 **Cache semantic** | Cache-ul pe două niveluri (semnătură + semantică) reduce costurile și latența | | ⚡ **Solicita Idempotenta** | Fereastra de dedup 5s pentru cereri duplicate | | 🔒 **TLS Fingerprint Spoofing** | Ocoliți detectarea botului bazată pe TLS prin wreq-js | | 🌐 **Filtrare IP** | Lista permisă/lista blocată pentru controlul accesului API | | 📊 **Limite de rată editabile** | RPM configurabil, interval minim și concurență maximă la nivel de sistem | | 💾 **Rate Limit Persistence** | Learned limits survive restarts via SQLite with 60s debounce + 24h staleness | | 🔄 **Token Refresh Resilience** | Per-provider circuit breaker (5 fails→30min) + 30s timeout per attempt | | 🛡 **Protecție API Endpoint** | Autentificare + blocare furnizor pentru punctul final `/models` | | 🔒 **Vizibilitatea proxy** | Ecusoane cu coduri de culoare: 🟢 global, 🟡 furnizor, 🔵 per conexiune cu afișaj IP | | 🌐 **Configurare proxy pe 3 niveluri** | Configurați proxy-uri la nivel global, per furnizor sau per conexiune | ### 📊 Observabilitate și analiză | Caracteristica | Ce face | | -------------------------------------- | ------------------------------------------------------------------------------------------------- | | 📝 **Solicitare înregistrare** | Modul de depanare cu jurnalele complete de cereri/răspuns | | 💾 **Jurnale proxy SQLite** | Jurnalele proxy persistente supraviețuiesc repornirilor de server | | 📊 **Tabloul de bord de analiză** | Recharts-powered: carduri cu statistici, diagramă de utilizare a modelului, tabel furnizor | | 📈 **Urmărirea progresului** | Înscrieți-vă evenimentele de progres SSE pentru streaming | | 🧪 **Evaluări LLM** | Testarea setului de aur cu 4 strategii de meci | | 🔍 **Solicitare telemetrie** | agregare latență p50/p95/p99 + urmărire X-Request-Id | | 📋 **Tabloul de bord jurnal** | Pagina unificată cu 4 file: Jurnalele de solicitări, Jurnalele proxy, Jurnalele de audit, Consolă | | 🖥️ **Console Log Viewer** | Vizualizator în timp real în stil terminal cu filtru de nivel, căutare, defilare automată | | 📑 **Înregistrare pe bază de fișiere** | Interceptor de consolă captează toate ieșirile în fișierul jurnal JSON cu rotație | | 🏥 **Tabloul de bord pentru sănătate** | Timp de funcționare a sistemului, stări întrerupătoare, blocări, statistici cache | | 💰 **Urmărirea costurilor** | Gestionarea bugetului + configurarea prețurilor pe model | ### ☁️ Implementare și sincronizare | Caracteristica | Ce face | | ------------------------------------- | ------------------------------------------------------------------------------- | | 💾 **Cloud Sync** | Sincronizați configurația între dispozitive prin Cloudflare Workers | | 🌐 **Implementează oriunde** | Localhost, VPS, Docker, lucrători Cloudflare | | 🔑 **Administrarea cheilor API** | Generați, rotiți și stabiliți cheile API pentru fiecare furnizor | | 🧙 **Onboarding Wizard** | Configurare ghidată în 4 pași pentru utilizatorii debutanți | | 🔧 **Tabloul de bord CLI Tools** | Configurați cu un singur clic Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | | 🔄 **Backup-uri DB** | Backup automat, restaurare, export și import pentru toate setările | | 🌐 **Internaționalizare** | I18n complet cu next-intl — suport engleză + portugheză (Brazilia) | | 🌍 **Selector de limbă** | Pictograma glob în antet pentru schimbarea limbii în timp real (🇺🇸/🇧🇷) | | 📂 **Director de date personalizate** | `DATA_DIR` env var pentru a înlocui calea de stocare implicită `~/.omniroute` |
📖 Detalii caracteristică ### 🎯 Smart 4-Tier Fallback Creați combinații cu rezervă automată: ``` Combo: "my-coding-stack" 1. cc/claude-opus-4-6 (your subscription) 2. nvidia/llama-3.3-70b (free NVIDIA API) 3. glm/glm-4.7 (cheap backup, $0.6/1M) 4. if/kimi-k2-thinking (free fallback) → Auto switches when quota runs out or errors occur ``` ### 📊 Urmărirea cotelor în timp real - Consumul de token per furnizor - Resetați numărătoarea inversă (5 ore, zilnic, săptămânal) - Estimarea costurilor pentru nivelurile plătite - Rapoarte lunare de cheltuieli ### 🔄 Format traducere Traducere fără întreruperi între formate: - **OpenAI** ↔ **Claude** ↔ **Gemeni** ↔ **Răspunsuri OpenAI** - Instrumentul dvs. CLI trimite formatul OpenAI → OmniRoute traduce → Furnizorul primește formatul nativ - Funcționează cu orice instrument care acceptă puncte finale personalizate OpenAI - **Sanitizarea răspunsului** — Elimina câmpurile nestandard pentru compatibilitate strictă cu OpenAI SDK - **Normalizarea rolurilor** — `developer` → `system` pentru non-OpenAI; `system` → `user` pentru modelele GLM/ERNIE - **Think tag extraction** — blocuri `` → `reasoning_content` pentru modele de gândire - **Ieșire structurată** — `json_schema` → `responseMimeType`/`responseSchema` a lui Gemeni ### 👥 Suport pentru mai multe conturi - Adăugați mai multe conturi pentru fiecare furnizor - Auto round-robin sau rutare bazată pe prioritate - Revenire la următorul cont când cineva atinge cota ### 🔄 Reîmprospătare automată a simbolului - Tokenurile OAuth se reîmprospătează automat înainte de expirare - Nu este nevoie de re-autentificare manuală - Experiență perfectă pentru toți furnizorii ### 🎨 Combo personalizate - Creați combinații de modele nelimitate - 6 strategii: umplere întâi, round-robin, putere cu două alegeri, aleatoriu, cel mai puțin utilizat, optimizat din punct de vedere al costurilor - Partajați combo-uri pe dispozitive cu Cloud Sync ### 🏥 Tabloul de bord pentru sănătate - Starea sistemului (timp de funcționare, versiune, utilizare a memoriei) - Stări întrerupătoarelor de circuit pentru fiecare furnizor (Închis/Deschis/Pe jumătate deschis) - Starea limitei ratei și blocajele active - Statistici de cache pentru semnături - Telemetrie latență (p50/p95/p99) + cache prompt - Resetați starea de sănătate cu un singur clic ### 🔧 Translator Playground OmniRoute include un puternic Translator Playground încorporat cu **4 moduri** pentru depanare, testare și monitorizare a traducerilor API: | Modul | Descriere | | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **💻 Loc de joacă** | Traducere directă a formatului — inserați orice corp de solicitare API și vedeți instantaneu cum îl traduce OmniRoute între formatele de furnizor (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Include exemple de șabloane și detecție automată a formatului. | | **💬 Tester de chat** | Trimiteți cereri reale de chat prin OmniRoute și vedeți întregul drum dus-întors: intrarea dvs., solicitarea tradusă, răspunsul furnizorului și răspunsul tradus înapoi. Neprețuit pentru validarea rutei combinate. | | **🧪 Banc de testare** | Mod de testare în loturi — definiți mai multe cazuri de testare cu diferite intrări și rezultate așteptate, rulați-le pe toate simultan și comparați rezultatele între furnizori și modele. | | **📱 Monitor live** | Monitorizare în timp real a cererilor — urmăriți cererile primite în timp ce acestea trec prin OmniRoute, vedeți traducerile formatului care au loc în direct și identificați problemele instantaneu. | **Acces:** Tabloul de bord → Traducător (bara laterală) ### 💾 Cloud Sync - Sincronizați furnizorii, combo-urile și setările pe dispozitive - Sincronizare automată în fundal - Stocare securizată criptată
--- ## 🎯 Cazuri de utilizare ### Cazul 1: „Am abonament Claude Pro” **Problemă:** Cota expiră neutilizată, limitele ratei în timpul codării grele ``` 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 ``` ### Cazul 2: „Vreau cost zero” **Problemă:** Nu-mi permit abonamente, au nevoie de codare AI de încredere ``` 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 ``` ### Cazul 3: „Am nevoie de codare 24/7, fără întreruperi” **Problemă:** Termenele limită, nu-mi permit timpi de nefuncționare ``` 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 ``` ### Cazul 4: „Vreau AI GRATUIT în OpenClaw” **Problemă:** Aveți nevoie de asistent AI în aplicațiile de mesagerie, complet gratuit ``` 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... ``` --- ## 📖 Ghid de configurare
💳 Furnizori de abonament ### Cod Claude (Pro/Max) ```bash 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-20251001 ``` **Sfat profesionist:** Folosiți Opus pentru sarcini complexe, Sonnet pentru viteză. OmniRoute urmărește cota per model! ### OpenAI Codex (Plus/Pro) ```bash Dashboard → Providers → Connect Codex → OAuth login (port 1455) → 5-hour + weekly reset Models: cx/gpt-5.2-codex cx/gpt-5.1-codex-max ``` ### Gemini CLI (GRATIS 180K/lună!) ```bash Dashboard → Providers → Connect Gemini CLI → Google OAuth → 180K completions/month + 1K/day Models: gc/gemini-3-flash-preview gc/gemini-2.5-pro ``` **Cea mai bună valoare:** Nivel gratuit imens! Utilizați acest lucru înainte de nivelurile plătite. ### GitHub Copilot ```bash 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 ```
🔑 Furnizori de chei API ### NVIDIA NIM (1000 de credite GRATUITE!) 1. Înscrieți-vă: [build.nvidia.com](https://build.nvidia.com) 2. Obțineți cheia API gratuită (1000 de credite de inferență incluse) 3. Tabloul de bord → Adăugați furnizor → NVIDIA NIM: - Cheie API: `nvapi-your-key` **Modele:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` și peste 50 de altele **Sfat profesional:** API compatibil cu OpenAI - funcționează perfect cu traducerea formatului OmniRoute! ### DeepSeek 1. Înscrieți-vă: [platform.deepseek.com](https://platform.deepseek.com) 2. Obțineți cheia API 3. Tabloul de bord → Adăugați furnizor → DeepSeek **Modele:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` ### Groq (nivel gratuit disponibil!) 1. Înscrieți-vă: [console.groq.com](https://console.groq.com) 2. Obțineți cheia API (nivel gratuit inclus) 3. Tabloul de bord → Adăugați furnizor → Groq **Modele:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` **Sfat profesionist:** Inferență ultra-rapidă - cel mai bun pentru codare în timp real! ### OpenRouter (100+ modele) 1. Înscrieți-vă: [openrouter.ai](https://openrouter.ai) 2. Obțineți cheia API 3. Tabloul de bord → Adăugare furnizor → OpenRouter **Modele:** Accesați peste 100 de modele de la toți furnizorii importanți printr-o singură cheie API.
💰 Furnizori ieftini (backup) ### GLM-4.7 (Resetare zilnică, 0,6 USD/1 milion) 1. Înscrieți-vă: [Zhipu AI](https://open.bigmodel.cn/) 2. Obțineți cheia API din Coding Plan 3. Tabloul de bord → Adăugați cheia API: - Furnizor: `glm` - Cheie API: `your-key` **Utilizați:** `glm/glm-4.7` **Sfat profesionist:** Planul de codare oferă cotă de 3 ori la 1/7 cost! Resetați zilnic la 10:00. ### MiniMax M2.1 (resetare 5 ore, 0,20 USD/1 milion) 1. Înscrieți-vă: [MiniMax](https://www.minimax.io/) 2. Obțineți cheia API 3. Tabloul de bord → Adăugați cheia API **Utilizați:** `minimax/MiniMax-M2.1` **Sfat pro:** Cea mai ieftină opțiune pentru context lung (1 milion de jetoane)! ### Kimi K2 (9 USD/lună fix) 1. Abonați-vă: [Moonshot AI](https://platform.moonshot.ai/) 2. Obțineți cheia API 3. Tabloul de bord → Adăugați cheia API **Utilizați:** `kimi/kimi-latest` **Sfat profesionist:** Fix 9 USD/lună pentru 10 milioane de jetoane = 0,90 USD/cost efectiv de 1 milion!
🆓 Furnizori GRATUITI (Backup de urgență) ### iFlow (8 modele GRATUITE) ```bash Dashboard → Connect iFlow → iFlow OAuth login → Unlimited usage Models: if/kimi-k2-thinking if/qwen3-coder-plus if/glm-4.7 if/minimax-m2 if/deepseek-r1 ``` ### Qwen (3 modele GRATUITE) ```bash Dashboard → Connect Qwen → Device code authorization → Unlimited usage Models: qw/qwen3-coder-plus qw/qwen3-coder-flash ``` ### Kiro (Claude GRATUIT) ```bash Dashboard → Connect Kiro → AWS Builder ID or Google/GitHub → Unlimited usage Models: kr/claude-sonnet-4.5 kr/claude-haiku-4.5 ```
🎨 Creați combinații ### Exemplul 1: Maximizați abonamentul → Backup ieftin ``` Dashboard → 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 ``` ### Exemplul 2: Numai gratuit (cost zero) ``` 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! ```
🔧 Integrare CLI ### Cursor IDE ``` Settings → Models → Advanced: OpenAI API Base URL: http://localhost:20128/v1 OpenAI API Key: [from OmniRoute dashboard] Model: cc/claude-opus-4-6 ``` ### Claude Cod Utilizați pagina **Instrumente CLI** din tabloul de bord pentru configurarea cu un singur clic sau editați manual `~/.claude/settings.json`. ### Codex CLI ```bash export OPENAI_BASE_URL="http://localhost:20128" export OPENAI_API_KEY="your-omniroute-api-key" codex "your prompt" ``` ### OpenClaw **Opțiunea 1 — Tabloul de bord (recomandat):** ``` Dashboard → CLI Tools → OpenClaw → Select Model → Apply ``` **Opțiunea 2 — Manual:** Editați `~/.openclaw/openclaw.json`: ```json { "models": { "providers": { "omniroute": { "baseUrl": "http://127.0.0.1:20128/v1", "apiKey": "sk_omniroute", "api": "openai-completions" } } } } ``` > **Notă:** OpenClaw funcționează numai cu OmniRoute local. Utilizați `127.0.0.1` în loc de `localhost` pentru a evita problemele de rezoluție IPv6. ### Cline / Continuare / RooCode ``` Settings → API Configuration: Provider: OpenAI Compatible Base URL: http://localhost:20128/v1 API Key: [from OmniRoute dashboard] Model: if/kimi-k2-thinking ```
--- ## 🧪 Evaluări (Evaluări) OmniRoute include un cadru de evaluare încorporat pentru a testa calitatea răspunsului LLM față de un set de aur. Accesați-l prin **Analitice → Evaluări** în tabloul de bord. ### Set de aur încorporat „Setul de Aur OmniRoute” preîncărcat conține 10 cazuri de testare care acoperă: - Salutări, matematică, geografie, generare de cod - Conformitatea formatului JSON, traducere, reducere - Refuz de siguranță (conținut dăunător), numărare, logică booleană ### Strategii de evaluare | Strategie | Descriere | Exemplu | | ---------- | ------------------------------------------------------------------------- | -------------------------------- | | `exact` | Ieșirea trebuie să se potrivească exact cu | `"4"` | | `contains` | Ieșirea trebuie să conțină subșir (indiferență de majuscule și minuscule) | `"Paris"` | | `regex` | Ieșirea trebuie să se potrivească cu modelul regex | `"1.*2.*3"` | | `custom` | Funcția JS personalizată returnează adevărat/fals | `(output) => output.length > 10` | --- ## 🐛 Depanare
Faceți clic pentru a extinde ghidul de depanare **„Modelul de limbă nu a furnizat mesaje”** - Cota de furnizor epuizată → Verificați instrumentul de urmărire a cotei din tabloul de bord - Soluție: utilizați alternativă combinată sau treceți la un nivel mai ieftin **Limitarea ratei** - Scăderea cotei de abonament → Fallback la GLM/MiniMax - Adăugați combo: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` **Tokenul OAuth a expirat** - Reîmprospătat automat de OmniRoute - Dacă problemele persistă: Dashboard → Provider → Reconnect **Costuri mari** - Verificați statisticile de utilizare în Tabloul de bord → Costuri - Comutați modelul principal la GLM/MiniMax - Utilizați nivelul gratuit (Gemini CLI, iFlow) pentru sarcini necritice **Tabloul de bord se deschide pe portul greșit** - Setați `PORT=20128` și `NEXT_PUBLIC_BASE_URL=http://localhost:20128` **Erori de sincronizare în cloud** - Verificați `BASE_URL` puncte către instanța dvs. care rulează - Verificați `CLOUD_URL` puncte către punctul final din cloud așteptat - Păstrați valorile `NEXT_PUBLIC_*` aliniate cu valorile de pe partea serverului **Prima conectare nu funcționează** - Verificați `INITIAL_PASSWORD` în `.env` - Dacă nu este setată, parola de rezervă este `123456` **Fără jurnal de solicitare** - Setați `ENABLE_REQUEST_LOGS=true` în `.env` **Testul de conectare arată „Invalid” pentru furnizorii compatibili cu OpenAI** - Mulți furnizori nu expun un punct final `/models` - OmniRoute v1.0.6+ include validarea de rezervă prin finalizarea chatului - Asigurați-vă că adresa URL de bază include sufixul `/v1` ### 🔐 OAuth em Servidor Remoto (Configurare OAuth la distanță) > **⚠️ IMPORTANT pentru utilizatorii cu OmniRoute în VPS/Docker/servidor remoto** #### Por que o OAuth do Antigravity / Gemini CLI falha em serveres remotes? Pentru autentificare, **Antigravity** și **Gemini CLI** folosesc **Google OAuth 2.0**. O Google exige que a `redirect_uri` utilizat nu fluxo OAuth seja **exatamente** uma das URIs pre-cadastradas no Google Cloud Console do aplicative. As credenciais OAuth embutidas no OmniRoute esteo cadastradas **apenas for `localhost`**. Când accesați OmniRoute într-un server la distanță (ex: `https://omniroute.meuservidor.com`), sau Google respinge autentificarea com: ``` Error 400: redirect_uri_mismatch ``` ### Soluție: Configurați propriile acreditări OAuth Você necesita criar um **OAuth 2.0 Client ID** nu Google Cloud Console ca URI pentru server. #### Passo a passo **1. Acces sau Google Cloud Console** Abra: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) **2. Plângeți nou OAuth 2.0 Client ID** - Faceți clic pe **"+ Create Credentials"** → **"OAuth client ID"** - Tip de aplicație: **"Aplicație web"** - Nume: scolha qualquer nome (ex: `OmniRoute Remote`) **3. Adăugați ca URI de redirecționare autorizate** No campo **„URI-uri de redirecționare autorizate”**, adiție: ``` https://seu-servidor.com/callback ``` > Substitue `seu-servidor.com` pelo domínio sau IP do seu servidor (inclua a porta se necessário, ex: `http://45.33.32.156:20128/callback`). **4. Salve și copie ca credenciais** Após criar, o Google afișează o **Client ID** e o **Client Secret**. **5. Configurați ca variabile de mediu** Nu ai `.env` (ai variat de ambient do Docker): ```bash # Para Antigravity: ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret # Para Gemini CLI: GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret ``` **6. Reinicie o OmniRoute** ```bash # Se usando npm: npm run dev # Se usando Docker: docker restart omniroute ``` **7. Tente connect novamente** Tabloul de bord → Furnizori → Antigravity (sau Gemini CLI) → OAuth Agora sau Google redirecționează corect pentru `https://seu-servidor.com/callback` și funcționează autenticação. --- ### Soluție temporară (sem configurar credenciais proprias) Nu vă rugăm să vă convingeți acum, dar este posibil să utilizați sau să fluxați **manual de URL**: 1. OmniRoute deschide o adresă URL de autorizare Google 2. Após você autorizar, o Google tentará redirecionar para `localhost` (que falha no server remote) 3. **Copiați o adresă URL completă** da bara de accesare a browserului (mesmo que a page não carregue) 4. Cole essa URL nu există câmpuri care nu apar modal de conexão pentru OmniRoute 5. Faceți clic pe **„Conectați-vă”** > Această soluție de soluționare funcționează deoarece codul de autorizare a URL-ului este valabil independent de redirecționare pentru a încărca sau nu.
--- ## 🛠️ Tech Stack - **Runtime**: Node.js 18–22 LTS (⚠️ Node.js 24+ este **nu este acceptat** - `better-sqlite3` binarele native sunt incompatibile) - **Limba**: TypeScript 5.9 — **100% TypeScript** în `src/` și `open-sse/` (v1.0.6) - **Cadru**: Next.js 16 + React 19 + Tailwind CSS 4 - **Bază de date**: LowDB (JSON) + SQLite (starea domeniului + jurnalele proxy) - **Streaming**: evenimente trimise de server (SSE) - **Auth**: OAuth 2.0 (PKCE) + JWT + chei API - **Testare**: Runner de testare Node.js (368+ teste unitare) - **CI/CD**: GitHub Actions (publicare automată npm + Docker Hub la lansare) - **Site web**: [omniroute.online](https://omniroute.online) - **Pachet**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) - **Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) - **Reziliență**: întrerupător de circuit, backoff exponențial, turmă anti-tunet, falsificare TLS --- ## 📖 Documentație | Document | Descriere | | -------------------------------------------- | --------------------------------------------------------- | | [User Guide](docs/USER_GUIDE.md) | Furnizori, combo-uri, integrare CLI, implementare | | [API Reference](docs/API_REFERENCE.md) | Toate punctele finale cu exemple | | [Troubleshooting](docs/TROUBLESHOOTING.md) | Probleme și soluții comune | | [Architecture](docs/ARCHITECTURE.md) | Arhitectura sistemului și elementele interne | | [Contributing](CONTRIBUTING.md) | Configurare și linii directoare de dezvoltare | | [OpenAPI Spec](docs/openapi.yaml) | Specificație OpenAPI 3.0 | | [Security Policy](SECURITY.md) | Raportarea vulnerabilităților și practicile de securitate | | [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Ghid complet: VM + nginx + configurare Cloudflare | | [Features Gallery](docs/FEATURES.md) | Tur vizual al tabloului de bord cu capturi de ecran | ### 📸 Previzualizarea tabloului de bord
Faceți clic pentru a vedea capturile de ecran de pe tabloul de bord | Pagina | Captură de ecran | | ------------------------ | ------------------------------------------------- | | **Furnizori** | ![Providers](docs/screenshots/01-providers.png) | | **Combo** | ![Combos](docs/screenshots/02-combos.png) | | **Analitice** | ![Analytics](docs/screenshots/03-analytics.png) | | **Sănătate** | ![Health](docs/screenshots/04-health.png) | | **Translator** | ![Translator](docs/screenshots/05-translator.png) | | **Setări** | ![Settings](docs/screenshots/06-settings.png) | | **Instrumente CLI** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | | **Jurnale de utilizare** | ![Usage](docs/screenshots/08-usage.png) | | **Punctul final** | ![Endpoint](docs/screenshots/09-endpoint.png) |
--- ## 🗺️ Foaia de parcurs OmniRoute are **210+ funcții planificate** în mai multe faze de dezvoltare. Iată domeniile cheie: | Categoria | Caracteristici planificate | Repere | | --------------------------------- | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | | 🧠 **Routing & Intelligence** | 25+ | Rutare cu cea mai mică latență, rutare bazată pe etichete, verificare preliminară a cotei, selecție contului P2C | | 🔒 **Securitate și conformitate** | 20+ | Întărirea SSRF, acoperirea acreditărilor, limita de rată per punct final, domeniul de aplicare al cheii de management | | 📊 **Observabilitate** | 15+ | Integrarea OpenTelemetry, monitorizarea cotelor în timp real, urmărirea costurilor per model | | 🔄 **Integrări furnizori** | 20+ | Registrul modelului dinamic, perioadele de încărcare ale furnizorului, Codexul cu mai multe conturi, analiza cotelor Copilot | | ⚡ **Performanță** | 15+ | Strat cache dublu, cache prompt, cache de răspuns, streaming keepalive, API batch | | 🌐 **Ecosistem** | 10+ | WebSocket API, config hot-reload, magazin de configurare distribuit, mod comercial | ### 🔜 În curând - 🔗 **Integrare OpenCode** — Suport furnizor nativ pentru IDE-ul de codare OpenCode AI - 🔗 **Integrare TRAE** — Suport complet pentru cadrul de dezvoltare TRAE AI - 📦 **Batch API** — Procesare asincronă în lot pentru solicitări în bloc - 🎯 **Rutare bazată pe etichete** — Solicitări de rutare bazate pe etichete și metadate personalizate - 💰 **Strategia cu cel mai mic cost** — Selectați automat cel mai ieftin furnizor disponibil > 📝 Specificații complete ale caracteristicilor disponibile în [link](docs/new-features/) (217 specificații detaliate) --- ## 📧 Suport > 💬 **Alăturați-vă comunității noastre!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Obțineți ajutor, împărtășiți sfaturi și fiți la curent. - **Site web**: [omniroute.online](https://omniroute.online) - **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) - **Probleme**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) - **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) - **Proiect original**: [9router by decolua](https://github.com/decolua/9router) --- ## 👥 Colaboratori [![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) ### Cum să contribui 1. Bifurcați depozitul 2. Creați-vă ramura caracteristică (`git checkout -b feature/amazing-feature`) 3. Afișează modificările (`git commit -m 'Add amazing feature'`) 4. Apăsați la ramură (`git push origin feature/amazing-feature`) 5. Deschideți o cerere de tragere Consultați [CONTRIBUTING.md](CONTRIBUTING.md) pentru instrucțiuni detaliate. ### Lansarea unei noi versiuni ```bash # Create a release — npm publish happens automatically gh release create v1.0.6 --title "v1.0.6" --generate-notes ``` --- ## 📊 Istoria stelelor Star History Chart --- ## 🙏 Mulțumiri Mulțumiri speciale pentru **[9router](https://github.com/decolua/9router)** de **[decolua](https://github.com/decolua)** — proiectul original care a inspirat această furcă. OmniRoute se bazează pe această bază incredibilă cu funcții suplimentare, API-uri multimodale și o rescrie completă TypeScript. Mulțumiri speciale pentru **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — implementarea Go originală care a inspirat acest port JavaScript. --- ## 📄 Licență Licență MIT - consultați [LICENSE](LICENSE) pentru detalii. ---
Construit cu ❤️ pentru dezvoltatorii care codifică 24/7
omniroute.online