Skip to content

Latest commit

 

History

History
1372 lines (984 loc) · 62.9 KB

File metadata and controls

1372 lines (984 loc) · 62.9 KB
OmniRoute Dashboard

🚀 OmniRoute — ilmainen tekoälyyhdyskäytävä

Älä koskaan lopeta koodaamista. Älykäs reititys ILMAisiin ja edullisiin tekoälymalleihin automaattisella varalla.

Universaali API-välityspalvelin – yksi päätepiste, yli 36 palveluntarjoajaa, nolla seisokkia.

Pikaviestien loppuun saattaminen • upotukset • kuvien luominen • ääni • uudelleensijoitus • 100 % TypeScript


🤖 Ilmainen AI Provider suosikkikoodaajillesi

Yhdistä mikä tahansa tekoälyllä toimiva IDE- tai CLI-työkalu OmniRouten kautta – ilmainen API-yhdyskäytävä rajoittamattomaan koodaukseen.

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

📡 Kaikki agentit muodostavat yhteyden kautta http://localhost:20128/v1 tai http://cloud.omniroute_EN_2NI4/v_1_TO_OM. konfiguraatio, rajattomat mallit ja kiintiö


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


🤔 Miksi OmniRoute?

Lopeta rahan tuhlaaminen ja rajojen ylittäminen:

  • Tilauskiintiö vanhenee käyttämättä joka kuukausi
  • Korjausrajoitukset estävät sinua kesken koodaamisen
  • kalliita sovellusliittymiä (20-50 $/kk per tarjoaja)
  • Manuaalinen vaihtaminen palveluntarjoajien välillä

OmniRoute ratkaisee tämän:

  • Maksimoi tilaukset - Seuraa kiintiötä, käytä jokainen bitti ennen nollausta
  • Automaattinen palautus - Tilaus → API-avain → Halpa → Ilmainen, nolla seisonta-aikaa
  • Moni tili - Pyöreä haku tilien välillä per palveluntarjoaja
  • Universaali - Toimii Claude Coden, Codexin, Gemini CLI:n, Cursorin, Clinen, OpenClawin ja minkä tahansa CLI-työkalun kanssa

🔄 Näin se toimii

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

⚡ Pika-aloitus

1. Asenna maailmanlaajuisesti:

npm install -g omniroute
omniroute

🎉 Hallintapaneeli avautuu klo http://localhost:20128

Komento Kuvaus
omniroute Käynnistä palvelin (oletusportti 20128)
omniroute --port 3000 Käytä mukautettua porttia
omniroute --no-open Älä avaa selainta automaattisesti
omniroute --help Näytä ohje

2. Yhdistä ILMAINEN palveluntarjoaja:

Kojelauta → Palveluntarjoajat → Yhdistä Claude Code tai Antigravity → OAuth-kirjautuminen → Valmis!

3. Käytä CLI-työkalussasi:

Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings:
  Endpoint: http://localhost:20128/v1
  API Key: [copy from dashboard]
  Model: if/kimi-k2-thinking

Siinä se! Aloita koodaus ILMAISTEN AI-malleilla.

Vaihtoehto – suorita lähteestä:

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

🐳 Docker

OmniRoute on saatavilla julkisena Docker-kuvana osoitteessa Docker Hub.

Pikaajo:

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

Ympäristötiedostolla:

# 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

Docker Composen käyttäminen:

# 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
Kuva Tag Koko Kuvaus
diegosouzapw/omniroute latest ~250 Mt Uusin vakaa julkaisu
diegosouzapw/omniroute 1.0.3 ~250 Mt Nykyinen versio


🖥️ 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


💰 Hinnoittelu yhdellä silmäyksellä

Taso Palveluntarjoaja Kustannukset Kiintiön nollaus Paras
💳 TILAUS Claude Code (Pro) 20 dollaria/kk 5h + viikoittain jo tilattu
Codex (Plus/Pro) 20-200 $/kk 5h + viikoittain OpenAI-käyttäjät
Gemini CLI ILMAINEN 180 tk/kk + 1 tk/päivä Kaikki!
GitHub Copilot 10-19 $/kk Kuukausittain GitHub-käyttäjät
🔑 API-AVAIN NVIDIA NIM ILMAINEN (1000 krediittiä) Kertaluonteinen Ilmainen tasotestaus
DeepSeek Maksu per käyttö Ei yhtään Paras hinta/laatu
Groq Ilmainen taso + maksettu Hinta rajoitettu Erittäin nopea johtopäätös
xAI (Grok) Maksu per käyttö Ei yhtään Grok mallit
Mistral Ilmainen taso + maksettu Hinta rajoitettu Eurooppalainen tekoäly
OpenRouter Maksu per käyttö Ei yhtään 100+ mallia
💰 EDULLISET GLM-4.7 0,6 $/1 milj. Päivittäin klo 10 Budjetin varmuuskopio
MiniMax M2.1 0,2 $/1 milj. 5 tunnin rullaus Halvin vaihtoehto
Kimi K2 9 dollaria/kk asunto 10 milj. rahakkeita/kk Ennustettavat kustannukset
🆓 ILMAINEN iFlow 0 dollaria Rajoittamaton 8 mallia ilmaiseksi
Qwen 0 dollaria Rajoittamaton 3 mallia ilmaiseksi
Kiro 0 dollaria Rajoittamaton Claude ilmaiseksi

💡 Pro-vinkki: Aloita Gemini CLI:llä (180 000 ilmaista kuukaudessa) + iFlow (rajoittamaton ilmainen) -yhdistelmä = 0 dollarin hinta!


💡 Tärkeimmät ominaisuudet

🧠 Ydinreititys ja älykkyys

Ominaisuus Mitä se tekee
🎯 Smart 4-Tier Fallback Automaattinen reitti: Tilaus → API-avain → Halpa → Ilmainen
📊 Reaaliaikainen kiintiöseuranta Live-tunnusten määrä + nollaa lähtölaskenta palveluntarjoajaa kohti
🔄 Käännösmuoto OpenAI ↔ Claude ↔ Kaksoset ↔ Kursori ↔ Kiro saumaton + vastaus desinfiointi
👥 Useiden tilien tuki Useita tilejä per palveluntarjoaja älykkäällä valinnalla
🔄 Automaattinen Token Refresh OAuth-tunnukset päivittyvät automaattisesti yrittämällä uudelleen
🎨 Muokatut yhdistelmät 6 strategiaa: fill-first, round-robin, p2c, satunnainen, vähiten käytetty, kustannusoptimoitu
🧩 Räätälöidyt mallit Lisää mikä tahansa mallitunnus mille tahansa toimittajalle
🌐 Wildcard-reititin Reititä provider/* mallit mille tahansa palveluntarjoajalle dynaamisesti
🧠 Ajatteleva budjetti Läpivienti-, automaatti-, mukautetut ja mukautuvat tilat päättelymalleille
🔀 Model Aliases Auto-forward deprecated model IDs to current replacements (built-in + custom)
Background Degradation Auto-route background tasks (titles, summaries) to cheaper models
💬 Järjestelmän pikaruiskutus Maailmanlaajuinen järjestelmäkehote käytössä kaikissa pyynnöissä
📄 Responses API Täysi OpenAI Responses API (/v1/responses) tuki Codexille

🎵 Multimodaaliset sovellusliittymät

Ominaisuus Mitä se tekee
🖼️ Kuvan luominen /v1/images/generations — 4 toimittajaa, 9+ mallia
📐 Upotukset /v1/embeddings — 6 toimittajaa, 9+ mallia
🎤 Äänitranskriptio /v1/audio/transcriptions — Kuiskausyhteensopiva
🔊 Tekstistä puheeksi /v1/audio/speech — Usean palveluntarjoajan äänisynteesi
🛡️ Moderaatiot /v1/moderations — Sisällön turvallisuustarkistukset
🔀 Uudelleenjärjestys /v1/rerank — Asiakirjan osuvuuden uudelleensijoitus

🛡️ Joustavuus ja turvallisuus

Ominaisuus Mitä se tekee
🔌 Katkaisija Automaattinen avaaminen/sulkeminen palveluntarjoajakohtaisesti konfiguroitavilla kynnysarvoilla
🛡️ Ukkosen vastainen lauma Mutex + semaforin nopeusrajoitus API-avainten tarjoajille
🧠 Semanttinen välimuisti Kaksitasoinen välimuisti (allekirjoitus + semanttinen) vähentää kustannuksia ja viivettä
Pyydä idempotenssia 5s dedup-ikkuna päällekkäisille pyynnöille
🔒 TLS-sormenjälkien huijaus Ohita TLS-pohjainen bot-tunnistus wreq-js:n avulla
🌐 IP-suodatus API-käyttöoikeuksien hallinnan sallittu-/estoluettelo
📊 Muokattavat hintarajat Konfiguroitava kierrosluku, minimiväli ja suurin samanaikainen järjestelmätasolla
💾 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 Todennusportin + tarjoajan esto /models-päätepisteelle
🔒 Välityspalvelimen näkyvyys Värikoodatut merkit: 🟢 maailmanlaajuinen, 🟡 tarjoaja, 🔵 yhteyskohtainen IP-näytöllä
🌐 3-tason välityspalvelimen määritys Määritä välityspalvelimet maailmanlaajuisesti, palveluntarjoajakohtaisesti tai yhteyskohtaisesti

📊 Havaittavuus ja analytiikka

Ominaisuus Mitä se tekee
📝 Pyydä kirjaamista Vianetsintätila täydellisillä pyyntö-/vastauslokeilla
💾 SQLite-välityspalvelimen lokit Pysyvät välityspalvelimen lokit selviävät palvelimen uudelleenkäynnistyksistä
📊 Analytics Dashboard Recharts-powered: tilastokortit, mallin käyttökaavio, toimittajataulukko
📈 Edistyksen seuranta Ota SSE:n edistymistapahtumat käyttöön suoratoistoa varten
🧪 LLM-arvioinnit Kultaisen setin testaus 4 ottelustrategialla
🔍 Pyydä telemetriaa p50/p95/p99 latenssiaggregointi + X-Request-Id-jäljitys
📋 Lokien hallintapaneeli Yhdistetty 4-välilehden sivu: pyyntölokit, välityspalvelimen lokit, tarkastuslokit, konsoli
🖥️ Console Log Viewer Reaaliaikainen pääte-tyylinen katseluohjelma tasosuodattimella, haulla, automaattisella vierityksellä
📑 Tiedostopohjainen kirjaus Konsolin sieppaaja kaappaa kaiken lähdön JSON-lokitiedostoon pyörittämällä
🏥 Terveyden hallintapaneeli Järjestelmän käytettävyys, katkaisijoiden tilat, lukitukset, välimuistitilastot
💰 Kustannusseuranta Budjetin hallinta + mallikohtainen hinnoittelu

☁️ Käyttöönotto ja synkronointi

Ominaisuus Mitä se tekee
💾 Cloud Sync Synkronoi asetukset laitteiden välillä Cloudflare Workersin kautta
🌐 Ota käyttöön missä tahansa Localhost, VPS, Docker, Cloudflare Workers
🔑 API-avainten hallinta Luo, kierrä ja laajenna API-avaimia tarjoajakohtaisesti
🧙 Ohjattu käyttöönottotoiminto 4-vaiheinen ohjattu asennus ensikertalaisille
🔧 CLI Tools Dashboard Määritä yhdellä napsautuksella Claude, Codex, Cline, OpenClaw, Kilo, Antigravity
🔄 DB-varmuuskopiot Automaattinen varmuuskopiointi, palautus, vienti ja tuonti kaikille asetuksille
🌐 Kansainvälistyminen Täysi i18n next-intl:llä — Englanti + portugali (Brasilia) tuki
🌍 Kielenvalitsin Maapallokuvake otsikossa reaaliaikaista kielenvaihtoa varten (🇺🇸/🇧🇷)
📂 Muokattu tietohakemisto DATA_DIR env var ohittaa oletusarvoisen ~/.omniroute-tallennuspolun
📖 Ominaisuuden tiedot

🎯 Älykäs 4-tasoinen varavaihtoehto

Luo komboja automaattisella varalla:

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

📊 Reaaliaikainen kiintiöseuranta

  • Token-kulutus palveluntarjoajaa kohti
  • Nollaa lähtölaskenta (5 tuntia, päivittäin, viikoittain)
  • Kustannusarvio maksetuille tasoille
  • Kuukausittaiset kuluraportit

🔄 Muotoile käännös

Saumaton käännös muotojen välillä:

  • OpenAIClaudeGeminiOpenAI-vastaukset
  • CLI-työkalusi lähettää OpenAI-muodon → OmniRoute kääntää → Palveluntarjoaja vastaanottaa alkuperäisen muodon
  • Toimii minkä tahansa työkalun kanssa, joka tukee mukautettuja OpenAI-päätepisteitä
  • Vastauksen desinfiointi - Poistaa standardista poikkeavat kentät tiukan OpenAI SDK -yhteensopivuuden varmistamiseksi
  • Roolin normalisointidevelopersystem ei-OpenAI:lle; systemuser GLM/ERNIE-malleille
  • Ajattele tunnisteen purkaminen<think> lohkot → reasoning_content ajattelumalleille
  • Strukturoitu tulosjson_schema → Geminin responseMimeType/responseSchema

👥 Usean tilin tuki

  • Lisää useita tilejä palveluntarjoajaa kohti
  • Automaattinen round-robin tai prioriteettipohjainen reititys
  • Takaisin seuraavalle tilille, kun kiintiö saavutetaan

🔄 Tokenin automaattinen päivitys

  • OAuth-tunnukset päivittyvät automaattisesti ennen vanhenemista
  • Manuaalista uudelleentodennusta ei tarvita
  • Saumaton kokemus kaikilta palveluntarjoajilta

🎨 Mukautetut yhdistelmät

  • Luo rajattomasti malliyhdistelmiä
  • 6 strategiaa: täytä ensin, round-robin, kahden valinnan teho, satunnainen, vähiten käytetty, kustannusoptimoitu
  • Jaa komboja laitteiden välillä Cloud Sync -sovelluksella

🏥 Health Dashboard

  • Järjestelmän tila (käyttöaika, versio, muistin käyttö)
  • Katkaisijoiden tilat palveluntarjoajan mukaan (suljettu/auki/puoliauki)
  • Hintarajoituksen tila ja aktiiviset lukitukset
  • Allekirjoitusvälimuistin tilastot
  • Latenssi-telemetria (p50/p95/p99) + välimuisti
  • Palauta terveydentila yhdellä napsautuksella

🔧 Kääntäjän leikkikenttä

OmniRoute sisältää tehokkaan sisäänrakennetun Translator Playgroundin, jossa on 4 tilaa virheenkorjausta, testausta ja API-käännösten seurantaa varten:

Tila Kuvaus
💻 Leikkikenttä Suoramuotoinen käännös — liitä mikä tahansa API-pyynnön runko ja katso heti, kuinka OmniRoute kääntää sen toimittajamuotojen välillä (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Sisältää esimerkkimalleja ja muotojen automaattisen tunnistuksen.
💬 Chat Tester Lähetä todellisia chat-pyyntöjä OmniRouten kautta ja katso koko meno-paluu: syötteesi, käännetty pyyntö, palveluntarjoajan vastaus ja käännetty vastaus takaisin. Korvaamaton yhdistelmäreitityksen vahvistamisessa.
🧪 Testipenkki Erätestaustila — määritä useita testitapauksia eri tuloilla ja odotettavissa olevilla lähdöillä, suorita ne kaikki kerralla ja vertaile tuloksia eri toimittajien ja mallien välillä.
📱 Live Monitor Reaaliaikainen pyyntöjen seuranta – seuraa saapuvia pyyntöjä niiden kulkeessa OmniRouten kautta, katso muotokäännökset reaaliajassa ja tunnista ongelmat välittömästi.

Käyttö: Kojelauta → Kääntäjä (sivupalkki)

💾 Cloud Sync

  • Synkronoi palveluntarjoajat, yhdistelmät ja asetukset eri laitteiden välillä
  • Automaattinen taustasynkronointi
  • Suojattu salattu tallennustila

🎯 Käyttökotelot

Tapaus 1: "Minulla on Claude Pro -tilaus"

Ongelma: Kiintiö vanhenee käyttämättä, nopeusrajoitukset raskaan koodauksen aikana

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

Tapaus 2: "Haluan ilman kustannuksia"

Ongelma: Ei ole varaa tilauksiin, tarvitaan luotettavaa tekoälykoodausta

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

Tapaus 3: "Tarvitsen 24/7-koodausta, ei keskeytyksiä"

Ongelma: Määräajat, seisokkeihin ei ole varaa

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

Tapaus 4: "Haluan ILMAISTA tekoälyä OpenClawissa"

Ongelma: Tarvitset AI-avustajan viestisovelluksissa, täysin ilmainen

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

📖 Asennusopas

💳 Tilauksen tarjoajat

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

Provinkki: Käytä Opusta monimutkaisiin tehtäviin ja Sonnetia nopeutta varten. OmniRoute jäljityskiintiö mallia kohden!

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 (ILMAINEN 180 000/kk!)

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

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

Paras hinta-laatusuhde: Valtava ilmainen taso! Käytä tätä ennen maksettuja tasoja.

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

NVIDIA NIM (ILMAINEN 1000 krediittiä!)

  1. Rekisteröidy: build.nvidia.com
  2. Hanki ilmainen API-avain (sisältää 1000 johtopäätöskrediittiä)
  3. Kojelauta → Lisää toimittaja → NVIDIA NIM:
    • API-avain: nvapi-your-key

Mallit: nvidia/llama-3.3-70b-instruct, nvidia/mistral-7b-instruct ja yli 50 muuta

Provinkki: OpenAI-yhteensopiva API – toimii saumattomasti OmniRouten muotokäännöksen kanssa!

DeepSeek

  1. Rekisteröidy: platform.deepseek.com
  2. Hanki API-avain
  3. Dashboard → Add Provider → DeepSeek

Mallit: deepseek/deepseek-chat, deepseek/deepseek-coder

Groq (ilmainen taso saatavilla!)

  1. Rekisteröidy: console.groq.com
  2. Hanki API-avain (ilmainen taso mukana)
  3. Dashboard → Add Provider → Groq

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

Provinkki: Erittäin nopea päättely – paras reaaliaikaiseen koodaukseen!

OpenRouter (100+ mallia)

  1. Rekisteröidy: openrouter.ai
  2. Hanki API-avain
  3. Dashboard → Add Provider → OpenRouter

Mallit: Käytä yli 100 mallia kaikilta tärkeimmiltä palveluntarjoajilta yhdellä API-avaimella.

💰 Halvat palveluntarjoajat (Varmuuskopio)

GLM-4.7 (Päivittäinen nollaus, 0,6 $/1 milj.)

  1. Rekisteröidy: Zhipu AI
  2. Hanki API-avain Coding Planista
  3. Hallintapaneeli → Lisää API-avain:
    • Palveluntarjoaja: glm
    • API-avain: your-key

Käytä: glm/glm-4.7

Provinkki: Koodaussuunnitelma tarjoaa 3-kertaisen kiintiön 1/7 hinnalla! Nollaa päivittäin klo 10.00.

MiniMax M2.1 (5 h nollaus, 0,20 $/1 milj.)

  1. Rekisteröidy: MiniMax
  2. Hanki API-avain
  3. Kojelauta → Lisää API-avain

Käytä: minimax/MiniMax-M2.1

Ammattilaisen vinkki: Halvin vaihtoehto pitkälle kontekstille (1 milj. merkkiä)!

Kimi K2 (9 dollaria/kk asunto)

  1. Tilaa: Moonshot AI
  2. Hanki API-avain
  3. Kojelauta → Lisää API-avain

Käytä: kimi/kimi-latest

Ammattilaisen vinkki: Kiinteä 9 dollaria kuukaudessa 10 miljoonalle tokenille = 0,90 dollaria / 1 miljoona todellista hintaa!

🆓 ILMAISIA palveluntarjoajia (hätävarmuuskopio)

iFlow (8 ILMAISTA mallia)

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

Dashboard → Connect Qwen
→ Device code authorization
→ Unlimited usage

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

Kiro (Claude ILMAINEN)

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

Models:
  kr/claude-sonnet-4.5
  kr/claude-haiku-4.5
🎨 Luo komboja

Esimerkki 1: Maksimoi tilaus → Halpa varmuuskopio

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

Esimerkki 2: Vain ilmainen (nollahinta)

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

Kohdistimen 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

Käytä kojelaudan CLI Tools -sivua määrittääksesi yhdellä napsautuksella tai muokkaa ~/.claude/settings.json manuaalisesti.

Codex CLI

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

codex "your prompt"

OpenClaw

Vaihtoehto 1 – hallintapaneeli (suositus):

Dashboard → CLI Tools → OpenClaw → Select Model → Apply

Vaihtoehto 2 – Manuaalinen: Muokkaa ~/.openclaw/openclaw.json:

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

Huomaa: OpenClaw toimii vain paikallisen OmniRouten kanssa. Käytä 127.0.0.1 localhost sijaan IPv6-resoluutioongelmien välttämiseksi.

Cline / Continue / RooCode

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

🧪 Arvioinnit (Evals)

OmniRoute sisältää sisäänrakennetun arviointikehyksen, jolla testataan LLM-vastauksen laatua kultaiseen joukkoon verrattuna. Käytä sitä kojelaudan Analytics → Evals kautta.

Sisäänrakennettu kultainen setti

Esiladattu "OmniRoute Golden Set" sisältää 10 testitapausta, jotka kattavat:

  • Tervehdys, matematiikka, maantiede, koodin luominen
  • JSON-muodon noudattaminen, käännös, merkintä
  • Turvallisuuskielto (haitallinen sisältö), laskenta, boolen logiikka

Arviointistrategiat

Strategia Kuvaus Esimerkki
exact Tulosten on vastattava tarkasti "4"
contains Tulosteen tulee sisältää alimerkkijono (kirjainkoolla ei ole merkitystä) "Paris"
regex Tulostuksen on vastattava regex-mallia "1.*2.*3"
custom Mukautettu JS-funktio palauttaa true/false (output) => output.length > 10

🐛 Vianetsintä

Laajenna vianetsintäopas napsauttamalla

"Kielimalli ei antanut viestejä"

  • Palveluntarjoajan kiintiö käytetty loppuun → Tarkista kojelaudan kiintiön seuranta
  • Ratkaisu: Käytä yhdistelmävaraa tai vaihda halvempaan tasoon

hintarajoitus

  • Tilauskiintiö loppu → Varaa GLM/MiniMaxiin
  • Lisää yhdistelmä: cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking

OAuth-tunnus vanhentunut

  • OmniRoute päivittää automaattisesti
  • Jos ongelmat jatkuvat: Kojelauta → Palveluntarjoaja → Yhdistä uudelleen

Korkeat kustannukset

  • Tarkista käyttötilastot kohdassa Dashboard → Costs
  • Vaihda ensisijaiseksi malliksi GLM/MiniMax
  • Käytä ilmaista tasoa (Gemini CLI, iFlow) ei-kriittisiin tehtäviin

Kojelauta avautuu väärään porttiin

  • Aseta PORT=20128 ja NEXT_PUBLIC_BASE_URL=http://localhost:20128

Pilvisynkronointivirheet

  • Vahvista BASE_URL pistettä käynnissä olevaan esiintymääsi
  • Vahvista CLOUD_URL pistettä odotettuun pilvipäätepisteeseen
  • Pidä NEXT_PUBLIC_*-arvot kohdakkain palvelinpuolen arvojen kanssa

Ensimmäinen kirjautuminen ei toimi

  • Tarkista INITIAL_PASSWORD kohteessa .env
  • Jos ei ole asetettu, varasalasana on 123456

Ei pyyntölokeja

  • Aseta ENABLE_REQUEST_LOGS=true kohteeseen .env

Yhteystesti näyttää "Virheellinen" OpenAI-yhteensopiville palveluntarjoajille

  • Monet palveluntarjoajat eivät paljasta /models-päätepistettä
  • OmniRoute v1.0.6+ sisältää varatarkistuksen chatin loppuunsaattamisen kautta
  • Varmista, että perus-URL sisältää /v1-liitteen

🔐 OAuth em Servidor Remoto (OAuth-etäasetus)

⚠️ TÄRKEÄÄ käyttäjille com OmniRoute em VPS/Docker/servidor Remoto

Onko OAuth do Antigravity / Gemini CLI falha em servidores Remotos?

Os provedores Antigravity ja Gemini CLI usam Google OAuth 2.0 para autenticação. O Google exige que a redirect_uri usada no fluxo OAuth seja exatamente uma das URIs pre-cadastradas no Google Cloud Console do aplicativo.

As credenciais OAuth embutidas no OmniRoute estão cadastradas apenas para localhost. Quando você acessa o OmniRoute em um servidor Remoto (esim. https://omniroute.meuservidor.com), o Google rejeita a autenticação com:

Error 400: redirect_uri_mismatch

Ratkaisu: Määritä suas próprias credenciais OAuth

Você precisa criar um OAuth 2.0 Client ID ei Google Cloud Console com URI do seu servidor.

Passo a passo

1. Acesse tai Google Cloud Console

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

2. Crie um novo OAuth 2.0 -asiakastunnus

  • Klikkaa em "+ Luo kirjautumistiedot""OAuth-asiakastunnus"
  • Tipo de aplicativo: "Web-sovellus"
  • Nimi: escolha qualquer nome (esim.: OmniRoute Remote)

3. Adicione valtuutettuina uudelleenohjaus-URI:ina

No campo "Authorized redirect URIs", lisäys:

https://seu-servidor.com/callback

Korvaa seu-servidor.com pelo dominio tai IP do seu servidor (mukaan lukien porta se necessário, esim. http://45.33.32.156:20128/callback).

4. Tallenna kopio valtuutuksena

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

5. Määritä variáveis de ambiente

Ei 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 → Providers → Antigravity (ou Gemini CLI) → OAuth

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


Workaround temporário (sem configurar credenciais próprias)

Se não quiser criar credenciais próprias agora, ainda é possível usar o fluxo manual de URL:

  1. OmniRoute lähettää Googlen lupa-osoitteen
  2. Após você autorizar, o Google tentará redirecionar para localhost (que falha no servidor Remoto)
  3. Kopioi URL-osoite täydellinen da barra de endereço do seu selaimessa (mesmo que a página não carregue)
  4. Cole essa URL no campo que aparece no modal de conexão do OmniRoute
  5. Klikkaa em "Yhdistä"

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


🛠️ Tech Stack

  • Suoritusaika: Node.js 18–22 LTS (⚠️ Node.js 24+ -versiota ei tuetabetter-sqlite3 alkuperäiset binaarit eivät ole yhteensopivia)
  • Kieli: TypeScript 5.9 — 100 % TypeScript src/ ja open-sse/ (v1.0.6) välillä
  • Framework: Next.js 16 + React 19 + Tailwind CSS 4
  • Tietokanta: LowDB (JSON) + SQLite (verkkotunnuksen tila + välityspalvelimen lokit)
  • Striimaus: Palvelimen lähettämät tapahtumat (SSE)
  • Auth: OAuth 2.0 (PKCE) + JWT + API-avaimet
  • Testaus: Node.js-testausohjelma (368+ yksikkötestiä)
  • CI/CD: GitHub Actions (automaattinen npm-julkaisu + Docker Hub julkaisussa)
  • Verkkosivusto: omniroute.online
  • Paketti: npmjs.com/package/omniroute
  • Dokkeri: hub.docker.com/r/diegosouzapw/omniroute
  • Kestävyys: Katkaisija, eksponentiaalinen backoff, ukkosen esto, TLS-huijaus

📖 Dokumentaatio

Asiakirja Kuvaus
User Guide Palveluntarjoajat, yhdistelmät, CLI-integrointi, käyttöönotto
API Reference Kaikki päätepisteet esimerkeineen
Troubleshooting Yleisiä ongelmia ja ratkaisuja
Architecture Järjestelmäarkkitehtuuri ja sisäosat
Contributing Kehittämisjärjestelyt ja -ohjeet
OpenAPI Spec OpenAPI 3.0 -spesifikaatio
Security Policy Haavoittuvuusraportointi ja tietoturvakäytännöt
VM Deployment Täydellinen opas: VM + nginx + Cloudflare-asennus
Features Gallery Visuaalinen kojelautakierros kuvakaappauksilla

📸 Kojelaudan esikatselu

Klikkaa nähdäksesi hallintapaneelin kuvakaappaukset
Sivu Kuvakaappaus
Palvelut Providers
Yhdistelmät Combos
Analytics Analytics
Terveys Health
Kääntäjä Translator
Asetukset Settings
CLI-työkalut CLI Tools
Käyttölokit Usage
Päätepiste Endpoint

🗺️ Etenemissuunnitelma

OmniRoutella on 210+ suunniteltua ominaisuutta useissa kehitysvaiheissa. Tässä ovat tärkeimmät alueet:

Luokka Suunnitellut ominaisuudet Kohokohdat
🧠 Routing & Intelligence 25+ Pienimmän viiveen reititys, tunnistepohjainen reititys, kiintiön esitarkastus, P2C-tilin valinta
🔒 Turvallisuus ja vaatimustenmukaisuus 20+ SSRF-karkaisu, valtuustietojen peittäminen, päätepistekohtainen nopeusraja, hallintaavaimen laajuus
📊 Havaittavuus 15+ OpenTelemetry-integraatio, reaaliaikainen kiintiöiden seuranta, kustannusseuranta mallikohtaisesti
🔄 Tarjoajien integraatiot 20+ Dynaaminen mallirekisteri, palveluntarjoajan jäähtyminen, usean tilin Codex, Copilot-kiintiön jäsentäminen
Suorituskyky 15+ Kaksoisvälimuistikerros, kehotevälimuisti, vastausvälimuisti, suoratoiston ylläpitäminen, erä-API
🌐 Ekosysteemi 10+ WebSocket API, konfiguroinnin hot-reload, hajautettu konfiguraatiosäilö, kaupallinen tila

🔜 Tulossa pian

  • 🔗 OpenCode Integration - Natiivitoimittajan tuki OpenCode AI -koodaus-IDE:lle
  • 🔗 TRAE-integraatio — Täysi tuki TRAE AI -kehityskehykselle
  • 📦 Eräsovellusliittymä — Asynkroninen eräkäsittely joukkopyyntöille
  • 🎯 Tagipohjainen reititys - Reittipyynnöt mukautettujen tunnisteiden ja metatietojen perusteella
  • 💰 Alhaisimman kustannustason strategia - Valitse automaattisesti halvin saatavilla oleva palveluntarjoaja

📝 Täydelliset ominaisuudet saatavilla osoitteessa link (217 yksityiskohtaista spesifikaatiota)


📧 Tuki

💬 Liity yhteisöömme! WhatsApp Group — Hanki apua, jaa vinkkejä ja pysy ajan tasalla.


👥 Avustajat

Contributors

Kuinka osallistua

  1. Haarukka arkisto
  2. Luo ominaisuushaara (git checkout -b feature/amazing-feature)
  3. Vahvista muutokset (git commit -m 'Add amazing feature')
  4. Työnnä haaraan (git push origin feature/amazing-feature)
  5. Avaa vetopyyntö

Katso tarkemmat ohjeet kohdasta CONTRIBUTING.md.

Uuden version julkaisu

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

📊 Tähtihistoria

Star History Chart

🙏 Kiitokset

Erityinen kiitos 9router, decolua - alkuperäinen projekti, joka inspiroi tätä haarukkaa. OmniRoute rakentaa tälle uskomattomalle perustalle lisäominaisuuksia, multimodaalisia API-liittymiä ja täydellistä TypeScript-uudelleenkirjoitusta.

Erityinen kiitos CLIProxyAPI - alkuperäiselle Go-toteutukselle, joka inspiroi tätä JavaScript-porttia.


📄 Lisenssi

MIT-lisenssi – katso lisätietoja osoitteesta LICENSE.


Rakennettu ❤️-kehittäjille, jotka koodaavat 24/7
omniroute.online