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](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) [![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE) [![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) [![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) [🌐 Website](https://omniroute.online) ‱ [🚀 Quick Start](#-quick-start) ‱ [💡 Features](#-key-features) ‱ [📖 Docs](#-documentation) ‱ [💰 Pricing](#-pricing-at-a-glance) ‱ [💬 WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) 🌐 **Available in:** đŸ‡ș🇾 [English](README.md) | đŸ‡§đŸ‡· [PortuguĂȘs (Brasil)](README.pt-BR.md) | đŸ‡Ș🇾 [Español](README.es.md) | đŸ‡«đŸ‡· [Français](README.fr.md) | 🇼đŸ‡č [Italiano](README.it.md) | đŸ‡·đŸ‡ș [РуссĐșĐžĐč](README.ru.md) | 🇹🇳 [äž­æ–‡ (çź€äœ“)](README.zh-CN.md) | đŸ‡©đŸ‡Ș [Deutsch](README.de.md) | 🇼🇳 [à€čà€żà€šà„à€Šà„€](README.in.md) | đŸ‡č🇭 [àč„àž—àžą](README.th.md) | đŸ‡ș🇩 [ĐŁĐșŃ€Đ°Ń—ĐœŃŃŒĐșа](README.uk-UA.md) | 🇾🇩 [Ű§Ù„ŰčŰ±ŰšÙŠŰ©](README.ar.md) | đŸ‡ŻđŸ‡” [æ—„æœŹèȘž](README.ja.md) | đŸ‡»đŸ‡ł [Tiáșżng Việt](README.vi.md) | 🇧🇬 [БългарсĐșĐž](README.bg.md) | đŸ‡©đŸ‡° [Dansk](README.da.md) | đŸ‡«đŸ‡ź [Suomi](README.fi.md) | đŸ‡źđŸ‡± [ŚąŚ‘ŚšŚ™ŚȘ](README.he.md) | 🇭đŸ‡ș [Magyar](README.hu.md) | đŸ‡źđŸ‡© [Bahasa Indonesia](README.id.md) | đŸ‡°đŸ‡· [한ꔭ얎](README.ko.md) | đŸ‡ČđŸ‡Ÿ [Bahasa Melayu](README.ms.md) | đŸ‡łđŸ‡± [Nederlands](README.nl.md) | 🇳🇮 [Norsk](README.no.md) | đŸ‡”đŸ‡č [PortuguĂȘs (Portugal)](README.pt.md) | đŸ‡·đŸ‡Ž [RomĂąnă](README.ro.md) | đŸ‡”đŸ‡± [Polski](README.pl.md) | 🇾🇰 [Slovenčina](README.sk.md) | 🇾đŸ‡Ș [Svenska](README.sv.md) | đŸ‡”đŸ‡­ [Filipino](README.phi.md)
--- ## đŸ€” 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 `developer` → `system` for non-OpenAI providers; `system` → `user` for GLM/ERNIE - **Think Tag Extraction** — Extracts `` blocks from models like DeepSeek R1 into standardized `reasoning_content` - **Structured Output for Gemini** — `json_schema` → `responseMimeType`/`responseSchema` automatic conversion - **`stream` defaults to `false`** — Aligns with OpenAI spec, avoiding unexpected SSE in Python/Rust/Go SDKs
🌐 3. "My AI provider blocks my region/country" Providers like OpenAI/Codex block access from certain geographic regions. Users get errors like `unsupported_country_region_territory` during OAuth and API connections. This is especially frustrating for developers from developing countries. **How OmniRoute solves it:** - **3-Level Proxy Config** — Configurable proxy at 3 levels: global (all traffic), per-provider (one provider only), and per-connection/key - **Color-Coded Proxy Badges** — Visual indicators: 🟱 global proxy, 🟡 provider proxy, đŸ”” connection proxy, always showing the IP - **OAuth Token Exchange Through Proxy** — OAuth flow also goes through the proxy, solving `unsupported_country_region_territory` - **Connection Tests via Proxy** — Connection tests use the configured proxy (no more direct bypass) - **SOCKS5 Support** — Full SOCKS5 proxy support for outbound routing - **TLS Fingerprint Spoofing** — Browser-like TLS fingerprint via `wreq-js` to bypass bot detection
🆓 4. "I want to use AI for coding but I have no money" Not everyone can pay $20–200/month for AI subscriptions. Students, devs from emerging countries, hobbyists, and freelancers need access to quality models at zero cost. **How OmniRoute solves it:** - **Free Tier Providers Built-in** — Native support for 100% free providers: iFlow (8 unlimited models), Qwen (3 unlimited models), Kiro (Claude for free), Gemini CLI (180K/month free) - **Free-Only Combos** — Chain `gc/gemini-3-flash → if/kimi-k2-thinking → qw/qwen3-coder-plus` = $0/month with zero downtime - **NVIDIA NIM Free Credits** — 1000 free credits integrated - **Cost Optimized Strategy** — Routing strategy that automatically chooses the cheapest available provider
🔒 5. "I need to protect my AI gateway from unauthorized access" When exposing an AI gateway to the network (LAN, VPS, Docker), anyone with the address can consume the developer's tokens/quota. Without protection, APIs are vulnerable to misuse, prompt injection, and abuse. **How OmniRoute solves it:** - **API Key Management** — Generation, rotation, and scoping per provider with a dedicated `/dashboard/api-manager` page - **Model-Level Permissions** — Restrict API keys to specific models (`openai/*`, wildcard patterns), with Allow All/Restrict toggle - **API Endpoint Protection** — Require a key for `/v1/models` and block specific providers from the listing - **Auth Guard + CSRF Protection** — All dashboard routes protected with `withAuth` middleware + CSRF tokens - **Rate Limiter** — Per-IP rate limiting with configurable windows - **IP Filtering** — Allowlist/blocklist for access control - **Prompt Injection Guard** — Sanitization against malicious prompt patterns - **AES-256-GCM Encryption** — Credentials encrypted at rest
🛑 6. "My provider went down and I lost my coding flow" AI providers can become unstable, return 5xx errors, or hit temporary rate limits. If a dev depends on a single provider, they're interrupted. Without circuit breakers, repeated retries can crash the application. **How OmniRoute solves it:** - **Circuit Breaker per-provider** — Auto-open/close with configurable thresholds and cooldown (Closed/Open/Half-Open) - **Exponential Backoff** — Progressive retry delays - **Anti-Thundering Herd** — Mutex + semaphore protection against concurrent retry storms - **Combo Fallback Chains** — If the primary provider fails, automatically falls through the chain with no intervention - **Combo Circuit Breaker** — Auto-disables failing providers within a combo chain - **Health Dashboard** — Uptime monitoring, circuit breaker states, lockouts, cache stats, p50/p95/p99 latency
🔧 7. "Configuring each AI tool is tedious and repetitive" Developers use Cursor, Claude Code, Codex CLI, OpenClaw, Gemini CLI, Kilo Code... Each tool needs a different config (API endpoint, key, model). Reconfiguring when switching providers or models is a waste of time. **How OmniRoute solves it:** - **CLI Tools Dashboard** — Dedicated page with one-click setup for Claude Code, Codex CLI, OpenClaw, Kilo Code, Antigravity, Cline - **GitHub Copilot Config Generator** — Generates `chatLanguageModels.json` for VS Code with bulk model selection - **Onboarding Wizard** — Guided 4-step setup for first-time users - **One endpoint, all models** — Configure `http://localhost:20128/v1` once, access 36+ providers
🔑 8. "Managing OAuth tokens from multiple providers is hell" Claude Code, Codex, Gemini CLI, Copilot — all use OAuth 2.0 with expiring tokens. Developers need to re-authenticate constantly, deal with `client_secret is missing`, `redirect_uri_mismatch`, and failures on remote servers. OAuth on LAN/VPS is particularly problematic. **How OmniRoute solves it:** - **Auto Token Refresh** — OAuth tokens refresh in background before expiration - **OAuth 2.0 (PKCE) Built-in** — Automatic flow for Claude Code, Codex, Gemini CLI, Copilot, Kiro, Qwen, iFlow - **Multi-Account OAuth** — Multiple accounts per provider via JWT/ID token extraction - **OAuth LAN/Remote Fix** — Private IP detection for `redirect_uri` + manual URL mode for remote servers - **OAuth Behind Nginx** — Uses `window.location.origin` for reverse proxy compatibility - **Remote OAuth Guide** — Step-by-step guide for Google Cloud credentials on VPS/Docker
📊 9. "I don't know how much I'm spending or where" Developers use multiple paid providers but have no unified view of spending. Each provider has its own billing dashboard, but there's no consolidated view. Unexpected costs can pile up. **How OmniRoute solves it:** - **Cost Analytics Dashboard** — Per-token cost tracking and budget management per provider - **Budget Limits per Tier** — Spending ceiling per tier that triggers automatic fallback - **Per-Model Pricing Configuration** — Configurable prices per model - **Usage Statistics Per API Key** — Request count and last-used timestamp per key - **Analytics Dashboard** — Stat cards, model usage chart, provider table with success rates and latency
🐛 10. "I can't diagnose errors and problems in AI calls" When a call fails, the dev doesn't know if it was a rate limit, expired token, wrong format, or provider error. Fragmented logs across different terminals. Without observability, debugging is trial-and-error. **How OmniRoute solves it:** - **Unified Logs Dashboard** — 4 tabs: Request Logs, Proxy Logs, Audit Logs, Console - **Console Log Viewer** — Real-time terminal-style viewer with color-coded levels, auto-scroll, search, filter - **SQLite Proxy Logs** — Persistent logs that survive server restarts - **Translator Playground** — 4 debugging modes: Playground (format translation), Chat Tester (round-trip), Test Bench (batch), Live Monitor (real-time) - **Request Telemetry** — p50/p95/p99 latency + X-Request-Id tracing - **File-Based Logging with Rotation** — Console interceptor captures everything to JSON log with size-based rotation
đŸ—ïž 11. "Deploying and maintaining the gateway is complex" Installing, configuring, and maintaining an AI proxy across different environments (local, VPS, Docker, cloud) is labor-intensive. Problems like hardcoded paths, `EACCES` on directories, port conflicts, and cross-platform builds add friction. **How OmniRoute solves it:** - **npm global install** — `npm install -g omniroute && omniroute` — done - **Docker Multi-Platform** — AMD64 + ARM64 native (Apple Silicon, AWS Graviton, Raspberry Pi) - **Docker Compose Profiles** — `base` (no CLI tools) and `cli` (with Claude Code, Codex, OpenClaw) - **Electron Desktop App** — Native app for Windows/macOS/Linux with system tray, auto-start, offline mode - **Split-Port Mode** — API and Dashboard on separate ports for advanced scenarios (reverse proxy, container networking) - **Cloud Sync** — Config synchronization across devices via Cloudflare Workers - **DB Backups** — Automatic backup, restore, export and import of all settings
🌍 12. "The interface is English-only and my team doesn't speak English" Teams in non-English-speaking countries, especially in Latin America, Asia, and Europe, struggle with English-only interfaces. Language barriers reduce adoption and increase configuration errors. **How OmniRoute solves it:** - **Dashboard i18n — 30 Languages** — All 500+ keys translated including Arabic, Bulgarian, Danish, German, Spanish, Finnish, French, Hebrew, Hindi, Hungarian, Indonesian, Italian, Japanese, Korean, Malay, Dutch, Norwegian, Polish, Portuguese (PT/BR), Romanian, Russian, Slovak, Swedish, Thai, Ukrainian, Vietnamese, Chinese, Filipino, English - **RTL Support** — Right-to-left support for Arabic and Hebrew - **Multi-Language READMEs** — 30 complete documentation translations - **Language Selector** — Globe icon in header for real-time switching
🔄 13. "I need more than chat — I need embeddings, images, audio" AI isn't just chat completion. Devs need to generate images, transcribe audio, create embeddings for RAG, rerank documents, and moderate content. Each API has a different endpoint and format. **How OmniRoute solves it:** - **Embeddings** — `/v1/embeddings` with 6 providers and 9+ models - **Image Generation** — `/v1/images/generations` with 4 providers and 9+ models - **Audio Transcription** — `/v1/audio/transcriptions` — Whisper-compatible - **Text-to-Speech** — `/v1/audio/speech` — Multi-provider audio synthesis - **Moderations** — `/v1/moderations` — Content safety checks - **Reranking** — `/v1/rerank` — Document relevance reranking - **Responses API** — Full `/v1/responses` support for Codex
đŸ§Ș 14. "I have no way to test and compare quality across models" Developers want to know which model is best for their use case — code, translation, reasoning — but comparing manually is slow. No integrated eval tools exist. **How OmniRoute solves it:** - **LLM Evaluations** — Golden set testing with 10 pre-loaded cases covering greetings, math, geography, code generation, JSON compliance, translation, markdown, safety refusal - **4 Match Strategies** — `exact`, `contains`, `regex`, `custom` (JS function) - **Translator Playground Test Bench** — Batch testing with multiple inputs and expected outputs, cross-provider comparison - **Chat Tester** — Full round-trip with visual response rendering - **Live Monitor** — Real-time stream of all requests flowing through the proxy
📈 15. "I need to scale without losing performance" As request volume grows, without caching the same questions generate duplicate costs. Without idempotency, duplicate requests waste processing. Per-provider rate limits must be respected. **How OmniRoute solves it:** - **Semantic Cache** — Two-tier cache (signature + semantic) reduces cost and latency - **Request Idempotency** — 5s deduplication window for identical requests - **Rate Limit Detection** — Per-provider RPM, min gap, and max concurrent tracking - **Editable Rate Limits** — Configurable defaults in Settings → Resilience with persistence - **API Key Validation Cache** — 3-tier cache for production performance - **Health Dashboard with Telemetry** — p50/p95/p99 latency, cache stats, uptime
đŸ€– 16. "I want to control model behavior globally" Developers who want all responses in a specific language, with a specific tone, or want to limit reasoning tokens. Configuring this in every tool/request is impractical. **How OmniRoute solves it:** - **System Prompt Injection** — Global prompt applied to all requests - **Thinking Budget Validation** — Reasoning token allocation control per request (passthrough, auto, custom, adaptive) - **6 Routing Strategies** — Global strategies that determine how requests are distributed - **Wildcard Router** — `provider/*` patterns route dynamically to any provider - **Combo Enable/Disable Toggle** — Toggle combos directly from the dashboard - **Provider Toggle** — Enable/disable all connections for a provider with one click - **Blocked Providers** — Exclude specific providers from `/v1/models` listing
## ⚡ Pika-aloitus **1. Asenna maailmanlaajuisesti:** ```bash 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Ă€:** ```bash 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](https://hub.docker.com/r/diegosouzapw/omniroute). **Pikaajo:** ```bash docker run -d \ --name omniroute \ --restart unless-stopped \ -p 20128:20128 \ -v omniroute-data:/app/data \ diegosouzapw/omniroute:latest ``` **YmpĂ€ristötiedostolla:** ```bash # Copy and edit .env first cp .env.example .env docker run -d \ --name omniroute \ --restart unless-stopped \ --env-file .env \ -p 20128:20128 \ -v omniroute-data:/app/data \ diegosouzapw/omniroute:latest ``` **Docker Composen kĂ€yttĂ€minen:** ```bash # Base profile (no CLI tools) docker compose --profile base up -d # CLI profile (Claude Code, Codex, OpenClaw built-in) docker compose --profile cli up -d ``` | 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 ```bash npm run electron:dev # Development mode npm run electron:build # Current platform npm run electron:build:win # Windows (.exe) npm run electron:build:mac # macOS (.dmg) npm run electron:build:linux # Linux (.AppImage) ``` 📖 Full documentation: [`electron/README.md`](electron/README.md) --- ## 💰 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Ă€: - **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI-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 normalisointi** — `developer` → `system` ei-OpenAI:lle; `system` → `user` GLM/ERNIE-malleille - **Ajattele tunnisteen purkaminen** — `` lohkot → `reasoning_content` ajattelumalleille - **Strukturoitu tulos** — `json_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) ```bash Dashboard → Providers → Connect Claude Code → OAuth login → Auto token refresh → 5-hour + weekly quota tracking Models: cc/claude-opus-4-6 cc/claude-sonnet-4-5-20250929 cc/claude-haiku-4-5-20251001 ``` **Provinkki:** KĂ€ytĂ€ Opusta monimutkaisiin tehtĂ€viin ja Sonnetia nopeutta varten. OmniRoute jĂ€ljityskiintiö mallia kohden! ### OpenAI Codex (Plus/Pro) ```bash Dashboard → Providers → Connect Codex → OAuth login (port 1455) → 5-hour + weekly reset Models: cx/gpt-5.2-codex cx/gpt-5.1-codex-max ``` ### Gemini CLI (ILMAINEN 180 000/kk!) ```bash 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 ```bash Dashboard → Providers → Connect GitHub → OAuth via GitHub → Monthly reset (1st of month) Models: gh/gpt-5 gh/claude-4.5-sonnet gh/gemini-3-pro ```
🔑 API-avaintoimittajat ### NVIDIA NIM (ILMAINEN 1000 krediittiĂ€!) 1. Rekisteröidy: [build.nvidia.com](https://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](https://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](https://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](https://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](https://open.bigmodel.cn/) 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](https://www.minimax.io/) 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](https://platform.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) ```bash Dashboard → Connect iFlow → iFlow OAuth login → Unlimited usage Models: if/kimi-k2-thinking if/qwen3-coder-plus if/glm-4.7 if/minimax-m2 if/deepseek-r1 ``` ### Qwen (3 ILMAISTA mallia) ```bash Dashboard → Connect Qwen → Device code authorization → Unlimited usage Models: qw/qwen3-coder-plus qw/qwen3-coder-flash ``` ### Kiro (Claude ILMAINEN) ```bash 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 ```bash 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`: ```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](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): ```bash # Para Antigravity: ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret # Para Gemini CLI: GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret ``` **6. Reinicie o OmniRoute** ```bash # Se usando npm: npm run dev # Se usando Docker: docker restart omniroute ``` **7. Tente conectar novamente** Dashboard → 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 tueta** — `better-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](https://omniroute.online) - **Paketti**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) - **Dokkeri**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) - **KestĂ€vyys**: Katkaisija, eksponentiaalinen backoff, ukkosen esto, TLS-huijaus --- ## 📖 Dokumentaatio | Asiakirja | Kuvaus | | -------------------------------------------- | ------------------------------------------------------------- | | [User Guide](docs/USER_GUIDE.md) | Palveluntarjoajat, yhdistelmĂ€t, CLI-integrointi, kĂ€yttöönotto | | [API Reference](docs/API_REFERENCE.md) | Kaikki pÀÀtepisteet esimerkeineen | | [Troubleshooting](docs/TROUBLESHOOTING.md) | YleisiĂ€ ongelmia ja ratkaisuja | | [Architecture](docs/ARCHITECTURE.md) | JĂ€rjestelmĂ€arkkitehtuuri ja sisĂ€osat | | [Contributing](CONTRIBUTING.md) | KehittĂ€misjĂ€rjestelyt ja -ohjeet | | [OpenAPI Spec](docs/openapi.yaml) | OpenAPI 3.0 -spesifikaatio | | [Security Policy](SECURITY.md) | Haavoittuvuusraportointi ja tietoturvakĂ€ytĂ€nnöt | | [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | TĂ€ydellinen opas: VM + nginx + Cloudflare-asennus | | [Features Gallery](docs/FEATURES.md) | Visuaalinen kojelautakierros kuvakaappauksilla | ### 📾 Kojelaudan esikatselu
Klikkaa nÀhdÀksesi hallintapaneelin kuvakaappaukset | Sivu | Kuvakaappaus | | ---------------- | ------------------------------------------------- | | **Palvelut** | ![Providers](docs/screenshots/01-providers.png) | | **YhdistelmÀt** | ![Combos](docs/screenshots/02-combos.png) | | **Analytics** | ![Analytics](docs/screenshots/03-analytics.png) | | **Terveys** | ![Health](docs/screenshots/04-health.png) | | **KÀÀntÀjÀ** | ![Translator](docs/screenshots/05-translator.png) | | **Asetukset** | ![Settings](docs/screenshots/06-settings.png) | | **CLI-työkalut** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | | **KÀyttölokit** | ![Usage](docs/screenshots/08-usage.png) | | **PÀÀtepiste** | ![Endpoint](docs/screenshots/09-endpoint.png) |
--- ## đŸ—ș 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](docs/new-features/) (217 yksityiskohtaista spesifikaatiota) --- ## 📧 Tuki > 💬 **Liity yhteisöömme!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Hanki apua, jaa vinkkejĂ€ ja pysy ajan tasalla. - **Verkkosivusto**: [omniroute.online](https://omniroute.online) - **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) - **Ongelmia**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) - **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) - **AlkuperĂ€inen projekti**: [9router by decolua](https://github.com/decolua/9router) --- ## đŸ‘„ Avustajat [![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/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](CONTRIBUTING.md). ### Uuden version julkaisu ```bash # 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](https://github.com/decolua/9router)**, **[decolua](https://github.com/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](https://github.com/router-for-me/CLIProxyAPI)** - alkuperĂ€iselle Go-toteutukselle, joka inspiroi tĂ€tĂ€ JavaScript-porttia. --- ## 📄 Lisenssi MIT-lisenssi – katso lisĂ€tietoja osoitteesta [LICENSE](LICENSE). ---
Rakennettu ❀-kehittĂ€jille, jotka koodaavat 24/7
omniroute.online