OmniRoute Dashboard # 🚀 OmniRoute — Den kostnadsfria AI-gatewayen ### Sluta aldrig koda. Smart routing till **GRATIS & lĂ„gkostnads ​​AI-modeller** med automatisk reserv. _Din universella API-proxy — en slutpunkt, 36+ leverantörer, noll driftstopp._ **Slutförda chatt ‱ InbĂ€ddningar ‱ Bildgenerering ‱ Ljud ‱ Omrankning ‱ 100 % TypeScript** --- ### đŸ€– Gratis AI-leverantör för dina favoritkodningsagenter _Anslut alla AI-drivna IDE- eller CLI-verktyg via OmniRoute — gratis API-gateway för obegrĂ€nsad kodning._
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
📡 Alla agenter ansluter via http://localhost:20128/v1 eller http://cloud.omniroute.online/v1, —limited one config_245\_\_ kvot --- [![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)
--- ## đŸ€” Varför OmniRoute? **Sluta slösa pengar och nĂ„ grĂ€nser:** - Prenumerationskvoten löper ut oanvĂ€nd varje mĂ„nad - HastighetsgrĂ€nser stoppar dig mellankodning - Dyra API:er ($20-50/mĂ„nad per leverantör) - Manuellt byte mellan leverantörer **OmniRoute löser detta:** - ✅ **Maximera prenumerationer** - SpĂ„ra kvot, anvĂ€nd varje bit innan Ă„terstĂ€llning - ✅ **Automatisk reserv** - Prenumeration → API-nyckel → Billigt → Gratis, noll driftstopp - ✅ **Multi-konto** - Round-robin mellan konton per leverantör - ✅ **Universal** - Fungerar med Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, vilket CLI-verktyg som helst --- ## 🔄 Hur det fungerar ``` ┌─────────────┐ │ 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
## ⚡ Snabbstart **1. Installera globalt:** ```bash npm install -g omniroute omniroute ``` 🎉 Instrumentpanelen öppnar kl. `http://localhost:20128` | Kommando | Beskrivning | | ----------------------- | ---------------------------------- | | `omniroute` | Startserver (standardport 20128) | | `omniroute --port 3000` | AnvĂ€nd anpassad port | | `omniroute --no-open` | Öppna inte webblĂ€saren automatiskt | | `omniroute --help` | Visa hjĂ€lp | **2. Anslut en GRATIS leverantör:** Dashboard → Leverantörer → Anslut **Claude Code** eller **Antigravity** → OAuth-inloggning → Klar! **3. AnvĂ€nd i ditt CLI-verktyg:** ``` Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings: Endpoint: http://localhost:20128/v1 API Key: [copy from dashboard] Model: if/kimi-k2-thinking ``` **Det var allt!** Börja koda med GRATIS AI-modeller. **Alternativ – kör frĂ„n kĂ€llan:** ```bash cp .env.example .env npm install PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev ``` --- ## 🐳 Hamnarbetare OmniRoute Ă€r tillgĂ€nglig som en offentlig Docker-bild pĂ„ [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). **Snabbkörning:** ```bash docker run -d \ --name omniroute \ --restart unless-stopped \ -p 20128:20128 \ -v omniroute-data:/app/data \ diegosouzapw/omniroute:latest ``` **Med miljöfil:** ```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 ``` **AnvĂ€nda 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 ``` | Bild | Tagga | Storlek | Beskrivning | | ------------------------ | -------- | ------- | ----------------------- | | `diegosouzapw/omniroute` | `latest` | ~250MB | Senaste stabila utgĂ„van | | `diegosouzapw/omniroute` | `1.0.3` | ~250MB | Aktuell version | --- --- ## đŸ–„ïž 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) --- ## 💰 PrissĂ€ttning i en överblick | NivĂ„ | Leverantör | Kostnad | KvotĂ„terstĂ€llning | BĂ€st för | | -------------------- | ----------------- | ----------------------- | ------------------------ | ----------------------- | | **💳 PRENUMERATION** | Claude Code (Pro) | 20 USD/mĂ„nad | 5h + veckovis | Har redan prenumererat | | | Codex (Plus/Pro) | 20-200 USD/mĂ„nad | 5h + veckovis | OpenAI-anvĂ€ndare | | | Gemini CLI | **GRATIS** | 180K/mĂ„nad + 1K/dag | Alla! | | | GitHub Copilot | 10-19 USD/mĂ„nad | MĂ„natlig | GitHub-anvĂ€ndare | | **🔑 API-NYCKEL** | NVIDIA NIM | **GRATIS** (1000 poĂ€ng) | EngĂ„ng | Gratis nivĂ„testning | | | DeepSeek | Betala per anvĂ€ndning | Inga | BĂ€sta pris/kvalitet | | | Groq | Gratis nivĂ„ + betald | BegrĂ€nsat pris | Ultrasnabb slutledning | | | xAI (Grok) | Betala per anvĂ€ndning | Inga | Grok modeller | | | Mistral | Gratis nivĂ„ + betald | BegrĂ€nsat pris | Europeisk AI | | | OpenRouter | Betala per anvĂ€ndning | Inga | 100+ modeller | | **💰 BILLIGT** | GLM-4.7 | $0,6/1M | Dagligen 10:00 | Budget backup | | | MiniMax M2.1 | $0,2/1M | 5-timmars rullande | Billigaste alternativet | | | Kimi K2 | 9 USD/mĂ„n lĂ€genhet | 10 miljoner tokens/mĂ„nad | FörutsĂ€gbar kostnad | | **🆓 GRATIS** | iFlow | $0 | ObegrĂ€nsad | 8 modeller gratis | | | Qwen | $0 | ObegrĂ€nsad | 3 modeller gratis | | | Kiro | $0 | ObegrĂ€nsad | Claude gratis | **💡 Proffstips:** Börja med Gemini CLI (180K gratis/mĂ„nad) + iFlow (obegrĂ€nsat gratis) combo = $0 kostnad! --- ## 💡 Nyckelfunktioner ### 🧠 Core Routing & Intelligence | Funktion | Vad det gör | | ------------------------------ | ----------------------------------------------------------------------------------------- | | 🎯 **Smart 4-lagers reserv** | Automatisk rutt: Prenumeration → API-nyckel → Billigt → Gratis | | 📊 **KvotspĂ„rning i realtid** | Live token count + Ă„terstĂ€ll nedrĂ€kning per leverantör | | 🔄 **FormatöversĂ€ttning** | OpenAI ↔ Claude ↔ Gemini ↔ Markör ↔ Kiro sömlös + sanering av svar | | đŸ‘„ **Multi-Account Support** | Flera konton per leverantör med intelligent urval | | 🔄 **Auto Token Refresh** | OAuth-tokens uppdateras automatiskt med försök igen | | 🎹 **Anpassade kombinationer** | 6 strategier: fill-first, round-robin, p2c, slumpmĂ€ssig, minst anvĂ€nda, kostnadsoptimerad | | đŸ§© **Anpassade modeller** | LĂ€gg till valfritt modell-ID till valfri leverantör | | 🌐 **Wildcard-router** | Dirigera `provider/*`-mönster till valfri leverantör dynamiskt | | 🧠 **TĂ€nkande budget** | GenomgĂ„ng, auto, anpassade och adaptiva lĂ€gen för resonerande modeller | | 🔀 **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** | Global systemprompt tillĂ€mpas pĂ„ alla förfrĂ„gningar | | 📄 **Responses API** | FullstĂ€ndigt stöd för OpenAI Responses API (`/v1/responses`) för Codex | ### đŸŽ” Multimodala API:er | Funktion | Vad det gör | | ------------------------ | ------------------------------------------------------ | | đŸ–Œïž **Bildgenerering** | `/v1/images/generations` — 4 leverantörer, 9+ modeller | | 📐 **InbĂ€ddningar** | `/v1/embeddings` — 6 leverantörer, 9+ modeller | | đŸŽ€ **Ljudtranskription** | `/v1/audio/transcriptions` — Whisper-kompatibel | | 🔊 **Text-till-tal** | `/v1/audio/speech` — Ljudsyntes med flera leverantörer | | đŸ›Ąïž **Moderationer** | `/v1/moderations` — InnehĂ„llssĂ€kerhetskontroller | | 🔀 **Omrankning** | `/v1/rerank` — Omrankning av dokumentrelevans | ### đŸ›Ąïž MotstĂ„ndskraft och sĂ€kerhet | Funktion | Vad det gör | | -------------------------------------- | --------------------------------------------------------------------------------- | | 🔌 **Circuit Breaker** | Autoöppna/stĂ€ng per leverantör med konfigurerbara trösklar | | đŸ›Ąïž **Anti-Ă„nflock** | Mutex + semaforhastighetsgrĂ€ns för API-nyckelleverantörer | | 🧠 **Semantisk cache** | TvĂ„skiktscache (signatur + semantisk) minskar kostnaden och fördröjningen | | ⚡ **BegĂ€r idempotens** | 5s dedup-fönster för dubblettförfrĂ„gningar | | 🔒 **TLS Fingerprint Spoofing** | Förbi TLS-baserad botdetektering via wreq-js | | 🌐 **IP-filtrering** | TillĂ„telselista/blockeringslista för API-Ă„tkomstkontroll | | 📊 **Redigerbara hastighetsgrĂ€nser** | Konfigurerbart RPM, min gap och max samtidiga pĂ„ systemnivĂ„ | | đŸ’Ÿ **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 | | 🛡 **API Endpoint Protection** | Auth gating + leverantörsblockering för `/models` slutpunkt | | 🔒 **Proxysynlighet** | FĂ€rgkodade mĂ€rken: 🟱 global, 🟡 leverantör, đŸ”” per anslutning med IP-display | | 🌐 **Proxykonfiguration med 3 nivĂ„er** | Konfigurera proxyservrar pĂ„ global nivĂ„, per leverantör eller per anslutningsnivĂ„ | ### 📊 Observerbarhet och analys | Funktion | Vad det gör | | --------------------------- | ----------------------------------------------------------------------------- | | 📝 **BegĂ€r loggning** | FelsökningslĂ€ge med fullstĂ€ndiga förfrĂ„gnings-/svarsloggar | | đŸ’Ÿ **SQLite proxyloggar** | BestĂ€ndiga proxyloggar överlever serverstarter | | 📊 **Analytics Dashboard** | Recharts-driven: statistikkort, modellanvĂ€ndningsdiagram, leverantörstabell | | 📈 **FörloppsspĂ„rning** | Opt-in SSE-förloppshĂ€ndelser för streaming | | đŸ§Ș **LLM-utvĂ€rderingar** | Golden set testning med 4 matchstrategier | | 🔍 **BegĂ€r telemetri** | p50/p95/p99 latensaggregation + X-Request-Id-spĂ„rning | | 📋 **Dashboard för loggar** | Enad sida med 4 flikar: BegĂ€ranloggar, Proxyloggar, Granskningsloggar, Konsol | | đŸ–„ïž **Konsolloggvisare** | Realtidsvisare i terminalstil med nivĂ„filter, sökning, automatisk rullning | | 📑 **Filbaserad loggning** | Console Interceptor fĂ„ngar all utdata till JSON-loggfilen med rotation | | đŸ„ **HĂ€lsoinstrumentpanel** | Systemupptid, strömbrytartillstĂ„nd, lĂ„sningar, cachestatistik | | 💰 **KostnadsspĂ„rning** | Budgethantering + prissĂ€ttning per modell | ### ☁ Implementering och synkronisering | Funktion | Vad det gör | | -------------------------------- | -------------------------------------------------------------------------------------- | | đŸ’Ÿ **Cloud Sync** | Synkronisera konfiguration mellan enheter via Cloudflare Workers | | 🌐 **Distribuera var som helst** | Localhost, VPS, Docker, Cloudflare Workers | | 🔑 **API-nyckelhantering** | Generera, rotera och omfĂ„ng API-nycklar per leverantör | | 🧙 **Onboarding Wizard** | 4-stegs guidad installation för förstagĂ„ngsanvĂ€ndare | | 🔧 **CLI Tools Dashboard** | Konfigurera med ett klick Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | | 🔄 **DB-sĂ€kerhetskopior** | Automatisk sĂ€kerhetskopiering, Ă„terstĂ€llning, export och import för alla instĂ€llningar | | 🌐 **Internationalisering** | FullstĂ€ndig i18n med nĂ€sta-intl — stöd för engelska + portugisiska (Brasilien) | | 🌍 **SprĂ„kvĂ€ljare** | Globikon i rubriken för sprĂ„kvĂ€xling i realtid (đŸ‡ș🇾/đŸ‡§đŸ‡·) | | 📂 **Anpassad datakatalog** | `DATA_DIR` env var för att Ă„sidosĂ€tta standard `~/.omniroute` lagringssökvĂ€g |
📖 Funktionsdetaljer ### 🎯 Smart 4-lagers reserv Skapa kombinationer med automatisk reserv: ``` 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 ``` ### 📊 KvotspĂ„rning i realtid - Tokenförbrukning per leverantör - ÅterstĂ€ll nedrĂ€kningen (5 timmar, dagligen, veckovis) - Kostnadsuppskattning för betalda nivĂ„er - MĂ„natliga utgiftsrapporter ### 🔄 FormatöversĂ€ttning Sömlös översĂ€ttning mellan format: - **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI-svar** - Ditt CLI-verktyg skickar OpenAI-format → OmniRoute översĂ€tter → Leverantör tar emot inbyggt format - Fungerar med alla verktyg som stöder anpassade OpenAI-slutpunkter - **Responssanering** — Tar bort icke-standardiserade fĂ€lt för strikt OpenAI SDK-kompatibilitet - **Rollnormalisering** — `developer` → `system` för icke-OpenAI; `system` → `user` för GLM/ERNIE-modeller - **Think tag extrahering** — `` block → `reasoning_content` för tĂ€nkande modeller - **Structured output** — `json_schema` → Gemini's `responseMimeType`/`responseSchema` ### đŸ‘„ Support för flera konton - LĂ€gg till flera konton per leverantör - Auto round-robin eller prioritetsbaserad routing - Fallback till nĂ€sta konto nĂ€r man nĂ„r kvoten ### 🔄 Auto Token Refresh - OAuth-tokens uppdateras automatiskt innan utgĂ„ngen - Ingen manuell Ă„terautentisering behövs - Sömlös upplevelse hos alla leverantörer ### 🎹 Anpassade kombinationer - Skapa obegrĂ€nsade modellkombinationer - 6 strategier: fyll-först, round-robin, kraft-av-tvĂ„-val, slumpmĂ€ssig, minst anvĂ€nda, kostnadsoptimerad - Dela kombinationer mellan enheter med Cloud Sync ### đŸ„ Health Dashboard - Systemstatus (upptid, version, minnesanvĂ€ndning) - Strömbrytarstatus per leverantör (stĂ€ngd/öppen/halvöppen) - PrisgrĂ€nsstatus och aktiva lĂ„sningar - Signaturcachestatistik - Latens-telemetri (p50/p95/p99) + promptcache - ÅterstĂ€ll hĂ€lsostatus med ett klick ### 🔧 ÖversĂ€ttarlekplats OmniRoute inkluderar en kraftfull inbyggd översĂ€ttarlekplats med **4 lĂ€gen** för felsökning, testning och övervakning av API-översĂ€ttningar: | LĂ€ge | Beskrivning | | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **đŸ’» Lekplats** | Direkt formatöversĂ€ttning — klistra in valfri API-begĂ€ran och se direkt hur OmniRoute översĂ€tter den mellan leverantörsformat (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Inkluderar exempelmallar och automatisk identifiering av format. | | **💬 Chattestare** | Skicka riktiga chattförfrĂ„gningar genom OmniRoute och se hela tur och retur: din input, den översatta begĂ€ran, leverantörens svar och det översatta svaret tillbaka. OvĂ€rderligt för att validera combo routing. | | **đŸ§Ș TestbĂ€nk** | BatchtestlĂ€ge — definiera flera testfall med olika ingĂ„ngar och förvĂ€ntade utgĂ„ngar, kör dem alla pĂ„ en gĂ„ng och jĂ€mför resultat mellan leverantörer och modeller. | | **đŸ“± Live Monitor** | Bevakning av förfrĂ„gningar i realtid — titta pĂ„ inkommande förfrĂ„gningar nĂ€r de flödar genom OmniRoute, se formatöversĂ€ttningar som sker live och identifiera problem direkt. | **Åtkomst:** Instrumentpanel → ÖversĂ€ttare (sidofĂ€lt) ### đŸ’Ÿ Cloud Sync - Synkronisera leverantörer, kombinationer och instĂ€llningar mellan enheter - Automatisk bakgrundssynkronisering - SĂ€ker krypterad lagring
--- ## 🎯 AnvĂ€ndningsfall ### Fall 1: "Jag har Claude Pro-abonnemang" **Problem:** Kvoten gĂ„r ut oanvĂ€nd, hastighetsgrĂ€nser under tung kodning ``` 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 ``` ### Fall 2: "Jag vill ha noll kostnad" **Problem:** Har inte rĂ„d med prenumerationer, behöver pĂ„litlig AI-kodning ``` 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 ``` ### Fall 3: "Jag behöver kodning dygnet runt, inga avbrott" **Problem:** Deadlines, har inte rĂ„d med driftstopp ``` 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 ``` ### Fall 4: "Jag vill ha GRATIS AI i OpenClaw" **Problem:** Behöver AI-assistent i meddelandeappar, helt gratis ``` 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... ``` --- ## 📖 Installationsguide
💳 Prenumerationsleverantörer ### Claude Code (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 ``` **Proffstips:** AnvĂ€nd Opus för komplexa uppgifter, Sonnet för snabbhet. OmniRoute spĂ„rar kvot per modell! ### 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/mĂ„nad!) ```bash Dashboard → Providers → Connect Gemini CLI → Google OAuth → 180K completions/month + 1K/day Models: gc/gemini-3-flash-preview gc/gemini-2.5-pro ``` **BĂ€st vĂ€rde:** Enorma gratis nivĂ„! AnvĂ€nd detta före betalda nivĂ„er. ### 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 ```
🔑 API-nyckelleverantörer ### NVIDIA NIM (GRATIS 1000 krediter!) 1. Registrera dig: [build.nvidia.com](https://build.nvidia.com) 2. FĂ„ gratis API-nyckel (1000 slutsatspoĂ€ng ingĂ„r) 3. Dashboard → LĂ€gg till leverantör → NVIDIA NIM: - API-nyckel: `nvapi-your-key` **Modeller:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` och 50+ till **Proffstips:** OpenAI-kompatibelt API — fungerar sömlöst med OmniRoutes formatöversĂ€ttning! ### DeepSeek 1. Registrera dig: [platform.deepseek.com](https://platform.deepseek.com) 2. HĂ€mta API-nyckel 3. Dashboard → LĂ€gg till leverantör → DeepSeek **Modeller:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` ### Groq (gratis nivĂ„ tillgĂ€nglig!) 1. Registrera dig: [console.groq.com](https://console.groq.com) 2. Skaffa API-nyckel (gratis nivĂ„ ingĂ„r) 3. Dashboard → LĂ€gg till leverantör → Groq **Modeller:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` **Proffstips:** Ultrasnabb slutledning — bĂ€st för realtidskodning! ### OpenRouter (100+ modeller) 1. Registrera dig: [openrouter.ai](https://openrouter.ai) 2. HĂ€mta API-nyckel 3. Dashboard → LĂ€gg till leverantör → OpenRouter **Modeller:** FĂ„ tillgĂ„ng till 100+ modeller frĂ„n alla större leverantörer genom en enda API-nyckel.
💰 Billiga leverantörer (backup) ### GLM-4.7 (Daglig Ă„terstĂ€llning, $0,6/1M) 1. Registrera dig: [Zhipu AI](https://open.bigmodel.cn/) 2. HĂ€mta API-nyckel frĂ„n Coding Plan 3. Instrumentpanel → LĂ€gg till API-nyckel: - Leverantör: `glm` - API-nyckel: `your-key` **AnvĂ€nd:** `glm/glm-4.7` **Proffstips:** Coding Plan erbjuder 3× kvot till 1/7 kostnad! ÅterstĂ€ll dagligen 10:00. ### MiniMax M2.1 (5 timmars Ă„terstĂ€llning, $0,20/1M) 1. Registrera dig: [MiniMax](https://www.minimax.io/) 2. HĂ€mta API-nyckel 3. Instrumentpanel → LĂ€gg till API-nyckel **AnvĂ€nd:** `minimax/MiniMax-M2.1` **Proffstips:** Billigaste alternativet för lĂ„nga sammanhang (1M tokens)! ### Kimi K2 ($9/mĂ„nad platt) 1. Prenumerera: [Moonshot AI](https://platform.moonshot.ai/) 2. HĂ€mta API-nyckel 3. Instrumentpanel → LĂ€gg till API-nyckel **AnvĂ€nd:** `kimi/kimi-latest` **Proffstips:** Fast $9/mĂ„nad för 10 miljoner tokens = $0,90/1 miljon effektiv kostnad!
🆓 GRATIS leverantörer (nödbackup) ### iFlow (8 GRATIS modeller) ```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 GRATIS modeller) ```bash Dashboard → Connect Qwen → Device code authorization → Unlimited usage Models: qw/qwen3-coder-plus qw/qwen3-coder-flash ``` ### Kiro (Claude FREE) ```bash Dashboard → Connect Kiro → AWS Builder ID or Google/GitHub → Unlimited usage Models: kr/claude-sonnet-4.5 kr/claude-haiku-4.5 ```
🎹 Skapa kombinationer ### Exempel 1: Maximera prenumeration → Billig backup ``` 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 ``` ### Exempel 2: Endast gratis (noll kostnad) ``` 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! ```
🔧 CLI-integration ### Markör 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 Code AnvĂ€nd sidan **CLI Tools** i instrumentpanelen för konfiguration med ett klick, eller redigera `~/.claude/settings.json` manuellt. ### Codex CLI ```bash export OPENAI_BASE_URL="http://localhost:20128" export OPENAI_API_KEY="your-omniroute-api-key" codex "your prompt" ``` ### OpenClaw **Alternativ 1 — Instrumentpanel (rekommenderas):** ``` Dashboard → CLI Tools → OpenClaw → Select Model → Apply ``` **Alternativ 2 — Manuell:** Redigera `~/.openclaw/openclaw.json`: ```json { "models": { "providers": { "omniroute": { "baseUrl": "http://127.0.0.1:20128/v1", "apiKey": "sk_omniroute", "api": "openai-completions" } } } } ``` > **Obs!** OpenClaw fungerar endast med lokal OmniRoute. AnvĂ€nd `127.0.0.1` istĂ€llet för `localhost` för att undvika problem med IPv6-upplösning. ### Cline / FortsĂ€tt / RooCode ``` Settings → API Configuration: Provider: OpenAI Compatible Base URL: http://localhost:20128/v1 API Key: [from OmniRoute dashboard] Model: if/kimi-k2-thinking ```
--- ## đŸ§Ș UtvĂ€rderingar (Evals) OmniRoute inkluderar ett inbyggt utvĂ€rderingsramverk för att testa LLM-svarskvalitet mot en gyllene uppsĂ€ttning. FĂ„ Ă„tkomst till det via **Analytics → Evals** i instrumentpanelen. ### Inbyggt gyllene set Det förinstallerade "OmniRoute Golden Set" innehĂ„ller 10 testfall som tĂ€cker: - HĂ€lsningar, matematik, geografi, kodgenerering - JSON-formatöverensstĂ€mmelse, översĂ€ttning, markdown - SĂ€kerhetsvĂ€gran (skadligt innehĂ„ll), rĂ€kning, boolesk logik ### UtvĂ€rderingsstrategier | Strategi | Beskrivning | Exempel | | ---------- | ---------------------------------------------------- | -------------------------------- | | `exact` | Utdata mĂ„ste matcha exakt | `"4"` | | `contains` | Utdata mĂ„ste innehĂ„lla delstrĂ€ng (skiftlĂ€geskĂ€nslig) | `"Paris"` | | `regex` | Utdata mĂ„ste matcha regexmönster | `"1.*2.*3"` | | `custom` | Anpassad JS-funktion returnerar true/false | `(output) => output.length > 10` | --- ## 🐛 Felsökning
Klicka för att expandera felsökningsguide **"SprĂ„kmodellen gav inga meddelanden"** - Leverantörskvoten Ă€r slut → Kontrollera instrumentpanelens kvotföljare - Lösning: AnvĂ€nd kombinationsalternativ eller byt till billigare nivĂ„ **TaxebegrĂ€nsning** - Prenumerationskvot ute → Fallback till GLM/MiniMax - LĂ€gg till kombination: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` **OAuth-token har löpt ut** - Automatisk uppdatering av OmniRoute - Om problemen kvarstĂ„r: Dashboard → Leverantör → Återanslut **Höga kostnader** - Kontrollera anvĂ€ndningsstatistik i Dashboard → Kostnader - Byt primĂ€r modell till GLM/MiniMax - AnvĂ€nd gratis nivĂ„ (Gemini CLI, iFlow) för icke-kritiska uppgifter **Dashboard öppnas pĂ„ fel port** - Set `PORT=20128` och `NEXT_PUBLIC_BASE_URL=http://localhost:20128` **Molnsynkroniseringsfel** - Verifiera att `BASE_URL` pekar pĂ„ din löpinstans - Verifiera `CLOUD_URL` poĂ€ng till din förvĂ€ntade molnslutpunkt - HĂ„ll `NEXT_PUBLIC_*` vĂ€rden i linje med vĂ€rden pĂ„ serversidan **Första inloggningen fungerar inte** - Kontrollera `INITIAL_PASSWORD` i `.env` - Om det inte Ă€r instĂ€llt Ă€r reservlösenordet `123456` **Inga förfrĂ„gningsloggar** - StĂ€ll in `ENABLE_REQUEST_LOGS=true` i `.env` **Anslutningstest visar "Invalid" för OpenAI-kompatibla leverantörer** - MĂ„nga leverantörer exponerar inte en `/models` slutpunkt - OmniRoute v1.0.6+ inkluderar reservvalidering via chattslutföranden - Se till att baswebbadressen innehĂ„ller suffixet `/v1` ### 🔐 OAuth em Servidor Remoto (Remote OAuth Setup) > **⚠ VIKTIGT för anvĂ€ndning av OmniRoute med VPS/Docker/serverfjĂ€rrkontroll** ### Hur kan du göra Antigravity / Tvilling CLI pĂ„ fjĂ€rrkontroller? Os provedores **Antigravity** och **Gemini CLI** usam **Google OAuth 2.0** för autenticação. O Google exige que a `redirect_uri` usada no fluxo OAuth seja **exatamente** uma das URIs prĂ©-cadastradas no Google Cloud Console do aplicativo. Som credenciais OAuth embutidas no OmniRoute estĂŁo cadastradas **apenas para `localhost`**. Quando vocĂȘ acessa o OmniRoute em um servidor remoto (ex: `https://omniroute.meuservidor.com`), o Google rejeita a autenticação com: ``` Error 400: redirect_uri_mismatch ``` ### Lösning: Konfigurera sjĂ€lvstĂ€ndigt OAuth VocĂȘ precisa criar um **OAuth 2.0 Client ID** no Google Cloud Console com a URI do seu service. #### Passo a passo **1. Åtkomst till Google Cloud Console** Abra: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) **2. Crie um novo OAuth 2.0 Client ID** - Klicka pĂ„ dem **"+ Skapa inloggningsuppgifter"** → **"OAuth-klient-ID"** - Typo de aplicativo: **"Webbapplikation"** - Namn: escolha qualquer nome (ex: `OmniRoute Remote`) **3. Adicione som auktoriserade omdirigerings-URI** Ingen campo **"Auktoriserade omdirigerings-URIs"**, adicione: ``` https://seu-servidor.com/callback ``` > Substitua `seu-servidor.com` pelo domĂ­nio ou IP do seu servidor (inclua a porta se necessĂĄrio, ex: `http://45.33.32.156:20128/callback`). **4. Spara e kopia som credenciais** ApĂłs criar, o Google mostrarĂĄ o **Client ID** e o **Client Secret**. **5. Konfigurera som variĂĄveis de ambiente** No seu `.env` (ou nas variĂĄveis de ambiente 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 conectar novamente** Dashboard → Leverantörer → Antigravity (ou Gemini CLI) → OAuth Agora o Google redirecionarĂĄ corretamente para `https://seu-servidor.com/callback` e a autenticação funcionarĂĄ. --- ### Lösning temporĂĄrio (som configurar credenciais prĂłprias) Se nĂŁo quiser criar credenciais prĂłprias agora, ainda Ă© possĂ­vel usar o fluxo **manual de URL**: 1. O OmniRoute abrirĂĄ en URL de autorização till Google 2. ApĂłs vocĂȘ autorizar, o Google tentarĂĄ redirecionar para `localhost` (que falha no servidor remoto) 3. **Kopiera en webbadress komplett** da barra de endereço do seu webblĂ€sare (mesmo que a pĂĄgina nĂŁo carregue) 4. Cole essa URL no campo que aparece no modal de conexĂŁo do OmniRoute 5. Klicka pĂ„ **"Anslut"** > Este workaround funciona porque o cĂłdigo de autorização na URL Ă© vĂĄlido independente do redirect ter carregado ou nĂŁo.
--- ## đŸ› ïž Tech Stack - **Körtid**: Node.js 18–22 LTS (⚠ Node.js 24+ stöds **inte** — `better-sqlite3` inbyggda binĂ€rer Ă€r inkompatibla) - **SprĂ„k**: TypeScript 5.9 — **100 % TypeScript** över `src/` och `open-sse/` (v1.0.6) - **Framework**: Next.js 16 + React 19 + Tailwind CSS 4 - **Databas**: LowDB (JSON) + SQLite (domĂ€ntillstĂ„nd + proxyloggar) - **Streaming**: ServersĂ€nda hĂ€ndelser (SSE) - **Auth**: OAuth 2.0 (PKCE) + JWT + API-nycklar - **Test**: Node.js testlöpare (368+ enhetstester) - **CI/CD**: GitHub-Ă„tgĂ€rder (automatisk npm-publicering + Docker Hub vid release) - **Webbplats**: [omniroute.online](https://omniroute.online) - **Paket**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) - **Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) - **Resiliens**: Strömbrytare, exponentiell backoff, anti-dundrande flock, TLS-spoofing --- ## 📖 Dokumentation | Dokument | Beskrivning | | -------------------------------------------- | ---------------------------------------------------------- | | [User Guide](docs/USER_GUIDE.md) | Leverantörer, kombinationer, CLI-integration, distribution | | [API Reference](docs/API_REFERENCE.md) | Alla slutpunkter med exempel | | [Troubleshooting](docs/TROUBLESHOOTING.md) | Vanliga problem och lösningar | | [Architecture](docs/ARCHITECTURE.md) | Systemarkitektur och interna delar | | [Contributing](CONTRIBUTING.md) | UtvecklingsupplĂ€gg och riktlinjer | | [OpenAPI Spec](docs/openapi.yaml) | OpenAPI 3.0-specifikation | | [Security Policy](SECURITY.md) | SĂ„rbarhetsrapportering och sĂ€kerhetsrutiner | | [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Komplett guide: VM + nginx + Cloudflare-installation | | [Features Gallery](docs/FEATURES.md) | Visuell visning av instrumentpanelen med skĂ€rmdumpar | ### 📾 Förhandsgranskning av instrumentpanelen
Klicka för att se skĂ€rmdumpar pĂ„ instrumentpanelen | Sida | SkĂ€rmdump | | --------------------- | ------------------------------------------------- | | **Leverantörer** | ![Providers](docs/screenshots/01-providers.png) | | **Kombos** | ![Combos](docs/screenshots/02-combos.png) | | **Analytics** | ![Analytics](docs/screenshots/03-analytics.png) | | **HĂ€lsa** | ![Health](docs/screenshots/04-health.png) | | **ÖversĂ€ttare** | ![Translator](docs/screenshots/05-translator.png) | | **InstĂ€llningar** | ![Settings](docs/screenshots/06-settings.png) | | **CLI-verktyg** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | | **AnvĂ€ndningsloggar** | ![Usage](docs/screenshots/08-usage.png) | | **Slutpunkt** | ![Endpoint](docs/screenshots/09-endpoint.png) |
--- ## đŸ—ș FĂ€rdkarta OmniRoute har **210+ funktioner planerade** över flera utvecklingsfaser. HĂ€r Ă€r nyckelomrĂ„dena: | Kategori | Planerade funktioner | Höjdpunkter | | ------------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------ | | 🧠 **Routing & intelligens** | 25+ | Routning med lĂ€gsta latens, taggbaserad routing, kvotförhandskontroll, val av P2C-konto | | 🔒 **SĂ€kerhet och efterlevnad** | 20+ | SSRF-hĂ€rdning, cloaking av autentiseringsuppgifter, hastighetsgrĂ€ns per endpoint, hanteringsnyckelomfattning | | 📊 **Observerbarhet** | 15+ | OpenTelemetry-integration, kvotövervakning i realtid, kostnadsspĂ„rning per modell | | 🔄 **Providerintegrationer** | 20+ | Dynamiskt modellregister, nedkylning av leverantörer, Codex för flera konton, Copilot-kvotanalys | | ⚡ **Prestanda** | 15+ | Dubbla cachelager, promptcache, svarscache, streaming keepalive, batch API | | 🌐 **Ekosystem** | 10+ | WebSocket API, config hot-reload, distribuerad config store, kommersiellt lĂ€ge | ### 🔜 Kommer snart - 🔗 **OpenCode Integration** — Inbyggt leverantörsstöd för OpenCode AI-kodnings-IDE - 🔗 **TRAE Integration** — FullstĂ€ndigt stöd för TRAE AI-utvecklingsramverket - 📩 **Batch API** — Asynkron batchbearbetning för bulkförfrĂ„gningar - 🎯 **Taggbaserad routing** — RuttbegĂ€randen baserade pĂ„ anpassade taggar och metadata - 💰 **LĂ€gsta kostnadsstrategi** — VĂ€lj automatiskt den billigaste tillgĂ€ngliga leverantören > 📝 FullstĂ€ndiga funktionsspecifikationer tillgĂ€ngliga i [link](docs/new-features/) (217 detaljerade specifikationer) --- ## 📧 Support > 💬 **GĂ„ med i vĂ„r community!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — FĂ„ hjĂ€lp, dela tips och hĂ„ll dig uppdaterad. - **Webbplats**: [omniroute.online](https://omniroute.online) - **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) - **FrĂ„gor**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) - **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) - **Originalprojekt**: [9router by decolua](https://github.com/decolua/9router) --- ## đŸ‘„ Bidragsgivare [![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) ### Hur man bidrar 1. Dela förvaret 2. Skapa din funktionsgren (`git checkout -b feature/amazing-feature`) 3. BekrĂ€fta dina Ă€ndringar (`git commit -m 'Add amazing feature'`) 4. Tryck till grenen (`git push origin feature/amazing-feature`) 5. Öppna en Pull Request Se [CONTRIBUTING.md](CONTRIBUTING.md) för detaljerade riktlinjer. ### SlĂ€pper en ny version ```bash # Create a release — npm publish happens automatically gh release create v1.0.6 --title "v1.0.6" --generate-notes ``` --- ## 📊 StjĂ€rnhistorik Star History Chart --- ## 🙏 Tack Speciellt tack till **[9router](https://github.com/decolua/9router)** av **[decolua](https://github.com/decolua)** — originalprojektet som inspirerade denna gaffel. OmniRoute bygger pĂ„ den otroliga grunden med ytterligare funktioner, multimodala API:er och en fullstĂ€ndig TypeScript-omskrivning. SĂ€rskilt tack till **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — den ursprungliga Go-implementeringen som inspirerade denna JavaScript-port. --- ## 📄 Licens MIT-licens - se [LICENSE](LICENSE) för detaljer. ---
Byggd med ❀ för utvecklare som kodar 24/7
omniroute.online