Skip to content

Latest commit

 

History

History
1372 lines (984 loc) · 60.9 KB

File metadata and controls

1372 lines (984 loc) · 60.9 KB
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 Docker Hub License Website WhatsApp

🌐 Website🚀 Quick Start💡 Features📖 Docs💰 Pricing💬 WhatsApp

🌐 Available in: 🇺🇸 English | 🇧🇷 Português (Brasil) | 🇪🇸 Español | 🇫🇷 Français | 🇮🇹 Italiano | 🇷🇺 Русский | 🇨🇳 中文 (简体) | 🇩🇪 Deutsch | 🇮🇳 हिन्दी | 🇹🇭 ไทย | 🇺🇦 Українська | 🇸🇦 العربية | 🇯🇵 日本語 | 🇻🇳 Tiếng Việt | 🇧🇬 Български | 🇩🇰 Dansk | 🇫🇮 Suomi | 🇮🇱 עברית | 🇭🇺 Magyar | 🇮🇩 Bahasa Indonesia | 🇰🇷 한국어 | 🇲🇾 Bahasa Melayu | 🇳🇱 Nederlands | 🇳🇴 Norsk | 🇵🇹 Português (Portugal) | 🇷🇴 Română | 🇵🇱 Polski | 🇸🇰 Slovenčina | 🇸🇪 Svenska | 🇵🇭 Filipino


🤔 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 developersystem for non-OpenAI providers; systemuser for GLM/ERNIE
  • Think Tag Extraction — Extracts <think> blocks from models like DeepSeek R1 into standardized reasoning_content
  • Structured Output for Geminijson_schemaresponseMimeType/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 installnpm install -g omniroute && omniroute — done
  • Docker Multi-Platform — AMD64 + ARM64 native (Apple Silicon, AWS Graviton, Raspberry Pi)
  • Docker Compose Profilesbase (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 Strategiesexact, 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 Routerprovider/* 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:

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:

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.

Snabbkörning:

docker run -d \
  --name omniroute \
  --restart unless-stopped \
  -p 20128:20128 \
  -v omniroute-data:/app/data \
  diegosouzapw/omniroute:latest

Med miljöfil:

# 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:

# 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
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


💰 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:

  • OpenAIClaudeGeminiOpenAI-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
  • Rollnormaliseringdevelopersystem för icke-OpenAI; systemuser för GLM/ERNIE-modeller
  • Think tag extrahering<think> block → reasoning_content för tänkande modeller
  • Structured outputjson_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)

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)

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!)

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

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
  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
  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
  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
  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
  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
  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
  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)

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)

Dashboard → Connect Qwen
→ Device code authorization
→ Unlimited usage

Models:
  qw/qwen3-coder-plus
  qw/qwen3-coder-flash

Kiro (Claude FREE)

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

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:

{
  "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

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):

# 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

# 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 intebetter-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
  • Paket: npmjs.com/package/omniroute
  • Docker: hub.docker.com/r/diegosouzapw/omniroute
  • Resiliens: Strömbrytare, exponentiell backoff, anti-dundrande flock, TLS-spoofing

📖 Dokumentation

Dokument Beskrivning
User Guide Leverantörer, kombinationer, CLI-integration, distribution
API Reference Alla slutpunkter med exempel
Troubleshooting Vanliga problem och lösningar
Architecture Systemarkitektur och interna delar
Contributing Utvecklingsupplägg och riktlinjer
OpenAPI Spec OpenAPI 3.0-specifikation
Security Policy Sårbarhetsrapportering och säkerhetsrutiner
VM Deployment Komplett guide: VM + nginx + Cloudflare-installation
Features Gallery 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
Kombos Combos
Analytics Analytics
Hälsa Health
Översättare Translator
Inställningar Settings
CLI-verktyg CLI Tools
Användningsloggar Usage
Slutpunkt Endpoint

🗺️ 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 (217 detaljerade specifikationer)


📧 Support

💬 Gå med i vår community! WhatsApp Group — Få hjälp, dela tips och håll dig uppdaterad.


👥 Bidragsgivare

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 för detaljerade riktlinjer.

Släpper en ny version

# 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 av 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 — den ursprungliga Go-implementeringen som inspirerade denna JavaScript-port.


📄 Licens

MIT-licens - se LICENSE för detaljer.


Byggd med ❤️ för utvecklare som kodar 24/7
omniroute.online