Skip to content

Latest commit

 

History

History
1372 lines (984 loc) · 60.3 KB

File metadata and controls

1372 lines (984 loc) · 60.3 KB
OmniRoute Dashboard

🚀 OmniRoute — Den gratis AI-gateway

Stop aldrig med at kode. Smart routing til GRATIS og billige AI-modeller med automatisk fallback.

Din universelle API-proxy — ét slutpunkt, 36+ udbydere, ingen nedetid.

Chatafslutninger • Indlejringer • Billedgenerering • Lyd • Genrangering • 100 % TypeScript


🤖 Gratis AI-udbyder til dine foretrukne kodningsagenter

Tilslut ethvert AI-drevet IDE- eller CLI-værktøj gennem OmniRoute - gratis API-gateway til ubegrænset 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

📡 Alle agenter forbinder via http://localhost:20128/v1 eller http://cloud.omniroute.online/v1 , —limited one config and kvote


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


🤔 Hvorfor OmniRoute?

Stop med at spilde penge og nå grænser:

  • Abonnementskontingent udløber ubrugt hver måned
  • Hastighedsgrænser stopper dig midtkodning
  • Dyre API'er ($20-50/måned pr. udbyder)
  • Manuel skift mellem udbydere

OmniRoute løser dette:

  • Maksimer abonnementer - Spor kvote, brug hver bit før nulstilling
  • Automatisk fallback - Abonnement → API-nøgle → Billig → Gratis, ingen nedetid
  • Multi-konto - Round-robin mellem konti pr. udbyder
  • Universal - Virker med Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, ethvert CLI-værktøj

🔄 Sådan virker det

┌─────────────┐
│  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

⚡ Hurtig start

1. Installer globalt:

npm install -g omniroute
omniroute

🎉 Dashboard åbner kl. http://localhost:20128

Kommando Beskrivelse
omniroute Start server (standardport 20128)
omniroute --port 3000 Brug tilpasset port
omniroute --no-open Åbn ikke browseren automatisk
omniroute --help Vis hjælp

2. Tilslut en GRATIS udbyder:

Dashboard → Udbydere → Connect Claude Code eller Antigravity → OAuth-login → Færdig!

3. Brug i dit CLI-værktøj:

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 det! Begynd at kode med GRATIS AI-modeller.

Alternativt — kør fra kilden:

cp .env.example .env
npm install
PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev

🐳 Docker

OmniRoute er tilgængelig som et offentligt Docker-billede på Docker Hub.

Hurtigt løb:

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

Brug af 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
Billede Tag Størrelse Beskrivelse
diegosouzapw/omniroute latest ~250MB Seneste stabile udgivelse
diegosouzapw/omniroute 1.0.3 ~250MB Nuværende 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ætning på et øjeblik

Tier Udbyder Omkostninger Kvote nulstilling Bedst til
💳 ABONNEMENT Claude Code (Pro) 20 USD/md. 5 timer + ugentlig Allerede abonneret
Codex (Plus/Pro) $20-200/md. 5 timer + ugentlig OpenAI-brugere
Gemini CLI GRATIS 180K/md + 1K/dag Alle sammen!
GitHub Copilot $10-19/md. Månedlig GitHub-brugere
🔑 API NØGLE NVIDIA NIM GRATIS (1000 kreditter) Engangs Gratis tier test
DeepSeek Betal pr. brug Ingen Bedste pris/kvalitet
Groq Gratis niveau + betalt Sats begrænset Ultrahurtig slutning
xAI (Grok) Betal pr. brug Ingen Grok modeller
Mistral Gratis niveau + betalt Sats begrænset Europæisk AI
OpenRouter Betal pr. brug Ingen 100+ modeller
💰 BILLIG GLM-4.7 0,6 USD/1 mio. Dagligt 10:00 Budget backup
MiniMax M2.1 $0,2/1 mio. 5-timers rullende Billigste mulighed
Kimi K2 9 USD/md. lejlighed 10M tokens/md. Forudsigelige omkostninger
🆓 GRATIS iFlow $0 Ubegrænset 8 modeller gratis
Qwen $0 Ubegrænset 3 modeller gratis
Kiro $0 Ubegrænset Claude gratis

💡 Pro-tip: Start med Gemini CLI (180K gratis/måned) + iFlow (ubegrænset gratis) combo = $0 omkostninger!


💡 Nøglefunktioner

🧠 Core Routing & Intelligence

Funktion Hvad det gør
🎯 Smart 4-lags fallback Auto-rute: Abonnement → API-nøgle → Billig → Gratis
📊 Kvotesporing i realtid Live token count + nulstil nedtælling pr. udbyder
🔄 Formatoversættelse OpenAI ↔ Claude ↔ Gemini ↔ Markør ↔ Kiro sømløs + respons sanitisering
👥 Multi-Account Support Flere konti pr. udbyder med intelligent valg
🔄 Automatisk token-opdatering OAuth-tokens opdateres automatisk med genforsøg
🎨 Tilpassede kombinationer 6 strategier: fill-first, round-robin, p2c, random, mindst brugt, omkostningsoptimeret
🧩 Tilpassede modeller Tilføj ethvert model-id til enhver udbyder
🌐 Wildcard-router Rut provider/* mønstre til enhver udbyder dynamisk
🧠 Tænkende budget Passthrough, auto, brugerdefinerede og adaptive tilstande til ræsonnerende 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 anvendt på tværs af alle anmodninger
📄 Responses API Fuld OpenAI Responses API (/v1/responses) understøttelse af Codex

🎵 Multi-Modal API'er

Funktion Hvad det gør
🖼️ Billedgenerering /v1/images/generations — 4 udbydere, 9+ modeller
📐 Indlejringer /v1/embeddings — 6 udbydere, 9+ modeller
🎤 Lydtransskription /v1/audio/transcriptions — Whisper-kompatibel
🔊 Tekst-til-tale /v1/audio/speech — Multi-udbyder lydsyntese
🛡️ Moderationer /v1/moderations — Indholdssikkerhedstjek
🔀 Omrangering /v1/rerank — Omrangering af dokumentrelevans

🛡️ Modstandsdygtighed og sikkerhed

Funktion Hvad det gør
🔌 Circuit Breaker Automatisk åbning/lukning pr. udbyder med konfigurerbare tærskler
🛡️ Anti-tordenbesætning Mutex + semafor-hastighedsgrænse for API-nøgleudbydere
🧠 Semantisk cache To-lags cache (signatur + semantisk) reducerer omkostninger og ventetid
Anmod om idempotens 5s dedup-vindue for duplikerede anmodninger
🔒 TLS Fingerprint Spoofing Omgå TLS-baseret botdetektion via wreq-js
🌐 IP-filtrering Tilladelsesliste/blokeringsliste til API-adgangskontrol
📊 Redigerbare satsgrænser Konfigurerbar RPM, min. gap og maks. samtidighed på systemniveau
💾 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-endepunktsbeskyttelse Auth gating + udbyderblokering for /models slutpunktet
🔒 Proxysynlighed Farvekodede badges: 🟢 global, 🟡 udbyder, 🔵 per forbindelse med IP-skærm
🌐 3-Level Proxy Config Konfigurer proxyer på globalt niveau, pr. udbyder eller pr. forbindelsesniveau

📊 Observerbarhed og analyse

Funktion Hvad det gør
📝 Anmod om logning Fejlretningstilstand med fuld anmodnings-/svarlogs
💾 SQLite Proxy Logs Vedvarende proxy-logfiler overlever genstart af server
📊 Analytics Dashboard Recharts-drevet: statkort, modelbrugsdiagram, udbydertabel
📈 Fremskridtssporing Opt-in SSE-fremskridtsbegivenheder til streaming
🧪 LLM-evalueringer Gyldne sæt test med 4 kampstrategier
🔍 Anmod om telemetri p50/p95/p99 latenstidsaggregering + X-Request-Id-sporing
📋 Log Dashboard Samlet side med 4 faner: Anmodningslogfiler, Proxylogfiler, Revisionslogfiler, Konsol
🖥️ Konsol Log Viewer Real-time terminal-stil fremviser med niveau filter, søgning, auto-scroll
📑 Filbaseret logning Konsolinterceptor fanger alt output til JSON-logfil med rotation
🏥 Sundhedskontrolpanel Systemets oppetid, strømafbrydertilstande, lockouts, cachestatistik
💰 Omkostningssporing Budgetstyring + priskonfiguration pr. model

☁️ Implementering og synkronisering

Funktion Hvad det gør
💾 Cloud Sync Synkroniser konfiguration på tværs af enheder via Cloudflare Workers
🌐 Deploy hvor som helst Localhost, VPS, Docker, Cloudflare Workers
🔑 API Key Management Generer, roter og omfang API-nøgler pr. udbyder
🧙 Onboarding Wizard 4-trins guidet opsætning for førstegangsbrugere
🔧 CLI Tools Dashboard Et-klik konfigurer Claude, Codex, Cline, OpenClaw, Kilo, Antigravity
🔄 DB-sikkerhedskopier Automatisk backup, gendannelse, eksport og import for alle indstillinger
🌐 Internationalisering Fuld i18n med next-intl — engelsk + portugisisk (Brasilien) support
🌍 Sprogvælger Globusikon i overskriften til sprogskift i realtid (🇺🇸/🇧🇷)
📂 Tilpasset datakatalog DATA_DIR env var for at tilsidesætte standard ~/.omniroute lagersti
📖 Funktionsdetaljer

🎯 Smart 4-Tier Fallback

Opret kombinationer med automatisk fallback:

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

📊 Kvotesporing i realtid

  • Tokenforbrug pr. udbyder
  • Nulstil nedtælling (5 timer, dagligt, ugentligt)
  • Omkostningsestimat for betalte niveauer
  • Månedlige udgiftsrapporter

🔄 Formatoversættelse

Problemfri oversættelse mellem formater:

  • OpenAIClaudeGeminiOpenAI-svar
  • Dit CLI-værktøj sender OpenAI-format → OmniRoute oversætter → Udbyder modtager oprindeligt format
  • Fungerer med ethvert værktøj, der understøtter brugerdefinerede OpenAI-endepunkter
  • Responssanering — Fjerner ikke-standardfelter for streng OpenAI SDK-kompatibilitet
  • Rollenormaliseringdevelopersystem for ikke-OpenAI; systemuser til GLM/ERNIE-modeller
  • Tænk tag-udtrækning<think> blokke → reasoning_content til tænkende modeller
  • Struktureret outputjson_schema → Gemini's responseMimeType/responseSchema

👥 Support til flere konti

  • Tilføj flere konti pr. udbyder
  • Auto round-robin eller prioritetsbaseret routing
  • Fallback til næste konto, når man rammer kvoten

🔄 Automatisk token-opdatering

  • OAuth-tokens opdateres automatisk før udløb
  • Ingen manuel gengodkendelse nødvendig
  • Problemfri oplevelse på tværs af alle udbydere

🎨 Brugerdefinerede kombinationer

  • Opret ubegrænsede modelkombinationer
  • 6 strategier: fill-first, round-robin, power-of-to-choices, tilfældig, mindst brugt, omkostningsoptimeret
  • Del kombinationer på tværs af enheder med Cloud Sync

🏥 Health Dashboard

  • Systemstatus (oppetid, version, hukommelsesforbrug)
  • Strømafbrydertilstande pr. udbyder (lukket/åbent/halvt åbent)
  • Takstgrænsestatus og aktive lockouts
  • Signatur cache statistik
  • Latency-telemetri (p50/p95/p99) + prompt-cache
  • Nulstil sundhedsstatus med et enkelt klik

🔧 Oversætterlegeplads

OmniRoute inkluderer en kraftfuld indbygget oversætterlegeplads med 4 tilstande til fejlretning, test og overvågning af API-oversættelser:

Tilstand Beskrivelse
💻 Legeplads Direkte formatoversættelse — indsæt enhver API-anmodningstekst og se øjeblikkeligt, hvordan OmniRoute oversætter det mellem udbyderformater (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Indeholder eksempelskabeloner og automatisk genkendelse af formater.
💬 Chattester Send rigtige chatanmodninger gennem OmniRoute og se den fulde rundrejse: dit input, den oversatte anmodning, udbyderens svar og det oversatte svar tilbage. Uvurderlig til validering af combo routing.
🧪 Test bænk Batch-testtilstand – definer flere testcases med forskellige input og forventede output, kør dem alle på én gang, og sammenlign resultater på tværs af udbydere og modeller.
📱 Live Monitor Overvågning af anmodninger i realtid — se indgående anmodninger, mens de flyder gennem OmniRoute, se formatoversættelser, der foregår live, og identificer problemer med det samme.

Adgang: Dashboard → Oversætter (sidebjælke)

💾 Cloud Sync

  • Synkroniser udbydere, kombinationer og indstillinger på tværs af enheder
  • Automatisk baggrundssynkronisering
  • Sikker krypteret opbevaring

🎯 Use Cases

Case 1: "Jeg har Claude Pro-abonnement"

Problem: Kvoten udløber ubrugt, satsgræ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

Case 2: "Jeg vil have nul omkostninger"

Problem: Har ikke råd til abonnementer, har brug for pålidelig 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

Case 3: "Jeg har brug for 24/7 kodning, ingen afbrydelser"

Problem: Deadlines, har ikke råd til nedetid

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

Case 4: "Jeg vil have GRATIS AI i OpenClaw"

Problem: Har brug for AI-assistent i beskedapps, 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...

📖 Opsætningsvejledning

💳 Abonnementsudbydere

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

Prof tip: Brug Opus til komplekse opgaver, Sonnet for hurtighed. OmniRoute sporer kvote pr. model!

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

Dashboard → Providers → Connect Gemini CLI
→ Google OAuth
→ 180K completions/month + 1K/day

Models:
  gc/gemini-3-flash-preview
  gc/gemini-2.5-pro

Bedste værdi: Kæmpe gratis niveau! Brug dette før betalte niveauer.

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-nøgleudbydere

NVIDIA NIM (GRATIS 1000 kreditter!)

  1. Tilmeld dig: build.nvidia.com
  2. Få gratis API-nøgle (1000 slutningskreditter inkluderet)
  3. Dashboard → Tilføj udbyder → NVIDIA NIM:
    • API-nøgle: nvapi-your-key

Modeller: nvidia/llama-3.3-70b-instruct, nvidia/mistral-7b-instruct og mere end 50

Prof tip: OpenAI-kompatibel API — fungerer problemfrit med OmniRoutes formatoversættelse!

DeepSeek

  1. Tilmeld dig: platform.deepseek.com
  2. Hent API-nøgle
  3. Dashboard → Tilføj udbyder → DeepSeek

Modeller: deepseek/deepseek-chat, deepseek/deepseek-coder

Groq (gratis niveau tilgængelig!)

  1. Tilmeld dig: console.groq.com
  2. Få API-nøgle (gratis niveau inkluderet)
  3. Dashboard → Tilføj udbyder → Groq

Modeller: groq/llama-3.3-70b, groq/mixtral-8x7b

Prof tip: Ultrahurtig slutning — bedst til realtidskodning!

OpenRouter (100+ modeller)

  1. Tilmeld dig: openrouter.ai
  2. Hent API-nøgle
  3. Dashboard → Tilføj udbyder → OpenRouter

Modeller: Få adgang til mere end 100 modeller fra alle større udbydere via en enkelt API-nøgle.

💰 Billige udbydere (backup)

GLM-4.7 (Daglig nulstilling, $0,6/1 mio.)

  1. Tilmeld dig: Zhipu AI
  2. Hent API-nøgle fra Coding Plan
  3. Dashboard → Tilføj API-nøgle:
    • Udbyder: glm
    • API-nøgle: your-key

Brug: glm/glm-4.7

Pro-tip: Coding Plan tilbyder 3× kvote til 1/7 pris! Nulstil dagligt 10:00.

MiniMax M2.1 (5 timers nulstilling, $0,20/1 mio.)

  1. Tilmeld dig: MiniMax
  2. Hent API-nøgle
  3. Dashboard → Tilføj API-nøgle

Brug: minimax/MiniMax-M2.1

Prof tip: Billigste mulighed for lang sammenhæng (1M tokens)!

Kimi K2 ($9/måned lejlighed)

  1. Abonner: Moonshot AI
  2. Hent API-nøgle
  3. Dashboard → Tilføj API-nøgle

Brug: kimi/kimi-latest

Prof tip: Fast $9/måned for 10M tokens = $0,90/1M effektive omkostninger!

🆓 GRATIS udbydere (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 GRATIS)

Dashboard → Connect Kiro
→ AWS Builder ID or Google/GitHub
→ Unlimited usage

Models:
  kr/claude-sonnet-4.5
  kr/claude-haiku-4.5
🎨 Opret kombinationer

Eksempel 1: Maksimer abonnement → 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

Eksempel 2: Kun gratis (nul omkostninger)

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

Brug siden CLI Tools i dashboardet til konfiguration med et enkelt klik, eller rediger ~/.claude/settings.json manuelt.

Codex CLI

export OPENAI_BASE_URL="http://localhost:20128"
export OPENAI_API_KEY="your-omniroute-api-key"

codex "your prompt"

OpenClaw

Mulighed 1 — Dashboard (anbefalet):

Dashboard → CLI Tools → OpenClaw → Select Model → Apply

Mulighed 2 — Manuel: Rediger ~/.openclaw/openclaw.json:

{
  "models": {
    "providers": {
      "omniroute": {
        "baseUrl": "http://127.0.0.1:20128/v1",
        "apiKey": "sk_omniroute",
        "api": "openai-completions"
      }
    }
  }
}

Bemærk: OpenClaw fungerer kun med lokale OmniRoute. Brug 127.0.0.1 i stedet for localhost for at undgå problemer med IPv6-opløsning.

Cline / Fortsæt / RooCode

Settings → API Configuration:
  Provider: OpenAI Compatible
  Base URL: http://localhost:20128/v1
  API Key: [from OmniRoute dashboard]
  Model: if/kimi-k2-thinking

🧪 Evalueringer (evalueringer)

OmniRoute inkluderer en indbygget evalueringsramme til at teste LLM-svarkvaliteten mod et gyldent sæt. Få adgang til det via Analytics → Evals i dashboardet.

Indbygget gyldent sæt

Det forudindlæste "OmniRoute Golden Set" indeholder 10 testcases, der dækker:

  • Hilsen, matematik, geografi, kodegenerering
  • JSON format compliance, oversættelse, markdown
  • Sikkerhedsafvisning (skadeligt indhold), optælling, boolsk logik

Evalueringsstrategier

Strategi Beskrivelse Eksempel
exact Output skal matche nøjagtigt "4"
contains Output skal indeholde understreng (uafhængig af store og små bogstaver) "Paris"
regex Output skal matche regex-mønster "1.*2.*3"
custom Brugerdefineret JS-funktion returnerer sand/falsk (output) => output.length > 10

🐛 Fejlfinding

Klik for at udvide fejlfindingsvejledning

"Sprogmodellen leverede ikke beskeder"

  • Udbyderkvote opbrugt → Tjek dashboardkvotesporing
  • Løsning: Brug combo fallback eller skift til et billigere niveau

Satsbegrænsende

  • Abonnementskontingent ude → Fallback til GLM/MiniMax
  • Tilføj kombination: cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking

OAuth-token er udløbet

  • Automatisk genopfrisket af OmniRoute
  • Hvis problemerne fortsætter: Dashboard → Udbyder → Genopret forbindelse

Høje omkostninger

  • Tjek brugsstatistik i Dashboard → Omkostninger
  • Skift primær model til GLM/MiniMax
  • Brug gratis niveau (Gemini CLI, iFlow) til ikke-kritiske opgaver

Dashboard åbner på forkert port

  • Sæt PORT=20128 og NEXT_PUBLIC_BASE_URL=http://localhost:20128

Skysynkroniseringsfejl

  • Bekræft BASE_URL peger på din løbeforekomst
  • Bekræft CLOUD_URL point til dit forventede cloud-endepunkt
  • Hold NEXT_PUBLIC_* værdier på linje med værdier på serversiden

Første login virker ikke

  • Tjek INITIAL_PASSWORD i .env
  • Hvis den ikke er angivet, er reserveadgangskoden 123456

Ingen anmodningslogfiler

  • Indstil ENABLE_REQUEST_LOGS=true i .env

Forbindelsestest viser "Ugyldig" for OpenAI-kompatible udbydere

  • Mange udbydere eksponerer ikke et /models slutpunkt
  • OmniRoute v1.0.6+ inkluderer fallback-validering via chatafslutninger
  • Sørg for, at basis-URL'en inkluderer suffikset /v1

🔐 OAuth em Servidor Remoto (Remote OAuth Setup)

⚠️ VIGTIGT til brugere af OmniRoute med VPS/Docker/server-fjernbetjening

Kan du bruge Antigravity / Gemini CLI til at udføre fjernbetjeninger?

Os testedores Antigravity og Gemini CLI usam Google OAuth 2.0 for 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 afviser en autenticação com:

Error 400: redirect_uri_mismatch

Løsning: Konfigurer OAuth, der er godkendt

Você precisa criar um OAuth 2.0 Client ID ingen Google Cloud Console med en URI, der udfører denne service.

Passo a passo

1. Adgang til Google Cloud Console

Abra: https://console.cloud.google.com/apis/credentials

2. Crie um novo OAuth 2.0 Client ID

  • Klik på dem "+ Opret legitimationsoplysninger""OAuth-klient-id"
  • Tipo de aplicativo: "Webapplikation"
  • Navn: escolha qualquer nome (eks.: OmniRoute Remote)

3. Adicione som autoriseret omdirigerings-URI

Ingen campo "Autoriseret omdirigerings-URI'er", 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. Salve e copy as credenciais

Após criar, o Google mostrará o Client ID e o Client Secret.

5. Konfigurer 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 → Udbydere → Antigravity (ou Gemini CLI) → OAuth

Agora o Google redirecionará corretamente para https://seu-servidor.com/callback og autenticação funcionará.


Løsning midlertidigt (som konfigureret 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 til Google
  2. Após você autorizar, o Google tentará redirecionar para localhost (que falha no servidor remoto)
  3. Kopier en URL komplet da barra de endereço do sin browser (mesmo que a página não carregue)
  4. Cole essa URL no campo que aparece no modal de conexão do OmniRoute
  5. Klik på "Forbind"

Este workaround funciona porque or código de autorização na URL é válido independente do redirect ter carregado or não.


🛠️ Tech Stack

  • Runtime: Node.js 18–22 LTS (⚠️ Node.js 24+ er ikke understøttetbetter-sqlite3 native binære filer er inkompatible)
  • Sprog: TypeScript 5.9 — 100 % TypeScript på tværs af src/ og open-sse/ (v1.0.6)
  • Framework: Next.js 16 + React 19 + Tailwind CSS 4
  • Database: LowDB (JSON) + SQLite (domænetilstand + proxylogfiler)
  • Streaming: Server-sendte hændelser (SSE)
  • Auth: OAuth 2.0 (PKCE) + JWT + API-nøgler
  • Test: Node.js testløber (368+ enhedstest)
  • CI/CD: GitHub-handlinger (automatisk npm-udgivelse + Docker Hub ved udgivelse)
  • Websted: omniroute.online
  • Pakke: npmjs.com/package/omniroute
  • Docker: hub.docker.com/r/diegosouzapw/omniroute
  • Resiliens: Circuit breaker, eksponentiel backoff, anti-tordenbesætning, TLS spoofing

📖 Dokumentation

Dokument Beskrivelse
User Guide Udbydere, kombinationer, CLI-integration, implementering
API Reference Alle endepunkter med eksempler
Troubleshooting Almindelige problemer og løsninger
Architecture Systemarkitektur og indre
Contributing Udviklingsopsætning og retningslinjer
OpenAPI Spec OpenAPI 3.0-specifikation
Security Policy Sårbarhedsrapportering og sikkerhedspraksis
VM Deployment Komplet guide: VM + nginx + Cloudflare opsætning
Features Gallery Visuel dashboard-rundvisning med skærmbilleder

📸 Dashboard Preview

Klik for at se skærmbilleder af dashboard
Side Skærmbillede
Udbydere Providers
Komboer Combos
Analyse Analytics
Sundhed Health
Oversætter Translator
Indstillinger Settings
CLI-værktøjer CLI Tools
Brugslogfiler Usage
Endpunkt Endpoint

🗺️ Køreplan

OmniRoute har 210+ funktioner planlagt på tværs af flere udviklingsfaser. Her er nøgleområderne:

Kategori Planlagte funktioner Højdepunkter
🧠 Routing & intelligens 25+ Routing med laveste latens, tag-baseret routing, kvote preflight, valg af P2C-konto
🔒 Sikkerhed og overholdelse 20+ SSRF-hærdning, tilsløring af legitimationsoplysninger, hastighedsgrænse pr. slutpunkt, styringsnøgleomfang
📊 Observabilitet 15+ OpenTelemetry-integration, kvoteovervågning i realtid, omkostningssporing pr. model
🔄 Udbyderintegrationer 20+ Dynamisk modelregistrering, udbydernedkøling, multi-konto Codex, Copilot-kvoteparsing
Ydeevne 15+ Dobbelt cachelag, promptcache, svarcache, streaming keepalive, batch API
🌐 Økosystem 10+ WebSocket API, config hot-reload, distribueret config butik, kommerciel tilstand

🔜 Kommer snart

  • 🔗 OpenCode-integration — Native udbyderunderstøttelse af OpenCode AI-kodnings-IDE
  • 🔗 TRAE-integration — Fuld understøttelse af TRAE AI-udviklingsrammen
  • 📦 Batch API — Asynkron batchbehandling til masseanmodninger
  • 🎯 Tag-baseret Routing — Ruteanmodninger baseret på tilpassede tags og metadata
  • 💰 Laveste omkostningsstrategi — Vælg automatisk den billigste tilgængelige udbyder

📝 Fuld funktionsspecifikationer tilgængelige i link (217 detaljerede specifikationer)


📧 Support

💬 Tilmeld dig vores fællesskab! WhatsApp Group — Få hjælp, del tips, og hold dig opdateret.


👥 Bidragydere

Contributors

Sådan bidrager du

  1. Fork depotet
  2. Opret din funktionsgren (git checkout -b feature/amazing-feature)
  3. Bekræft dine ændringer (git commit -m 'Add amazing feature')
  4. Skub til grenen (git push origin feature/amazing-feature)
  5. Åbn en pull-anmodning

Se CONTRIBUTING.md for detaljerede retningslinjer.

Frigiver en ny version

# Create a release — npm publish happens automatically
gh release create v1.0.6 --title "v1.0.6" --generate-notes

📊 Stjernehistorie

Star History Chart

🙏 Tak

Særlig tak til 9router af decolua — det originale projekt, der inspirerede denne gaffel. OmniRoute bygger på det utrolige fundament med yderligere funktioner, multimodale API'er og en fuld TypeScript-omskrivning.

Særlig tak til CLIProxyAPI — den originale Go-implementering, der inspirerede denne JavaScript-port.


📄 Licens

MIT-licens - se LICENSE for detaljer.


Bygget med ❤️ for udviklere, der koder 24/7
omniroute.online