Jangan pernah berhenti membuat kode. Perutean cerdas ke model AI GRATIS & berbiaya rendah dengan fallback otomatis.
Proksi API universal Anda — satu titik akhir, 36+ penyedia, tanpa waktu henti.
Penyelesaian Obrolan • Penyematan • Pembuatan Gambar • Audio • Pemeringkatan Ulang • 100% TypeScript
Hubungkan alat IDE atau CLI apa pun yang didukung AI melalui OmniRoute — gerbang API gratis untuk pengkodean tanpa batas.
|
OpenClaw ⭐ 205K |
NanoBot ⭐ 20.9K |
PicoClaw ⭐ 14.6K |
ZeroClaw ⭐ 9.9K |
IronClaw ⭐ 2.1K |
|
OpenCode ⭐ 106K |
Codex CLI ⭐ 60.8K |
Claude Code ⭐ 67.3K |
Gemini CLI ⭐ 94.7K |
Kilo Code ⭐ 15.5K |
📡 Semua agen terhubung melalui http://localhost:20128/v1 atau http://cloud.omniroute.online/v1 — satu konfigurasi, model tak terbatas, dan kuota
🌐 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
Berhenti membuang-buang uang dan mencapai batas:
Kuota berlangganan habis tanpa terpakai setiap bulannya
Batas kecepatan menghentikan Anda di tengah coding
API mahal ($20-50/bulan per penyedia)
Peralihan antar penyedia secara manual
OmniRoute memecahkan masalah ini:
- ✅ Maksimalkan langganan - Lacak kuota, gunakan setiap bit sebelum menyetel ulang
- ✅ Pengembalian otomatis - Berlangganan → Kunci API → Murah → Gratis, tanpa downtime
- ✅ Multi-akun - Round-robin antar akun per penyedia
- ✅ Universal - Bekerja dengan Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, alat CLI apa pun
┌─────────────┐
│ 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
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/v1serves 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→systemfor non-OpenAI providers;system→userfor GLM/ERNIE - Think Tag Extraction — Extracts
<think>blocks from models like DeepSeek R1 into standardizedreasoning_content - Structured Output for Gemini —
json_schema→responseMimeType/responseSchemaautomatic conversion streamdefaults tofalse— 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-jsto 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-managerpage - 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/modelsand block specific providers from the listing - Auth Guard + CSRF Protection — All dashboard routes protected with
withAuthmiddleware + 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.jsonfor VS Code with bulk model selection - Onboarding Wizard — Guided 4-step setup for first-time users
- One endpoint, all models — Configure
http://localhost:20128/v1once, 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.originfor 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) andcli(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/embeddingswith 6 providers and 9+ models - Image Generation —
/v1/images/generationswith 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/responsessupport 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/modelslisting
1. Instal secara global:
npm install -g omniroute
omniroute🎉 Dasbor terbuka di http://localhost:20128
| Perintah | Deskripsi |
|---|---|
omniroute |
Mulai server (port default 20128) |
omniroute --port 3000 |
Gunakan port khusus |
omniroute --no-open |
Jangan buka otomatis browser |
omniroute --help |
Tampilkan bantuan |
2. Hubungkan penyedia GRATIS:
Dasbor → Penyedia → Hubungkan Kode Claude atau Antigravitasi → Login OAuth → Selesai!
3. Gunakan di alat CLI Anda:
Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings:
Endpoint: http://localhost:20128/v1
API Key: [copy from dashboard]
Model: if/kimi-k2-thinking
Selesai! Mulai coding dengan model AI GRATIS.
Alternatif — dijalankan dari sumber:
cp .env.example .env
npm install
PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run devOmniRoute tersedia sebagai image Docker publik di Docker Hub.
Lari cepat:
docker run -d \
--name omniroute \
--restart unless-stopped \
-p 20128:20128 \
-v omniroute-data:/app/data \
diegosouzapw/omniroute:latestDengan file lingkungan:
# 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:latestMenggunakan Docker Tulis:
# 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| Gambar | Tandai | Ukuran | Deskripsi |
|---|---|---|---|
diegosouzapw/omniroute |
latest |
~250 MB | Rilis stabil terbaru |
diegosouzapw/omniroute |
1.0.3 |
~250 MB | Versi saat ini |
🆕 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
| Tingkat | Penyedia | Biaya | Reset Kuota | Terbaik Untuk |
|---|---|---|---|---|
| 💳 BERLANGGANAN | Kode Claude (Pro) | $20/bln | 5 jam + mingguan | Sudah berlangganan |
| Kodeks (Plus/Pro) | $20-200/bln | 5 jam + mingguan | Pengguna OpenAI | |
| CLI Gemini | GRATIS | 180K/bln + 1K/hari | Setiap orang! | |
| Kopilot GitHub | $10-19/bln | Bulanan | Pengguna GitHub | |
| 🔑 KUNCI API | NVIDIA NIM | GRATIS (1000 sks) | Satu kali | Pengujian tingkat gratis |
| Pencarian Dalam | Bayar per penggunaan | Tidak ada | Harga/kualitas terbaik | |
| Bagus | Tingkat gratis + berbayar | Tarif terbatas | Inferensi ultra-cepat | |
| xAI (Grok) | Bayar per penggunaan | Tidak ada | Model Grok | |
| Mistral | Tingkat gratis + berbayar | Tarif terbatas | AI Eropa | |
| BukaRouter | Bayar per penggunaan | Tidak ada | 100+ model | |
| 💰 MURAH | GLM-4.7 | $0,6/1 juta | Setiap hari pukul 10 pagi | Cadangan anggaran |
| MiniMax M2.1 | $0,2/1 juta | 5 jam bergulir | Pilihan termurah | |
| Kimi K2 | $9/bln tetap | 10 juta token/bln | Biaya yang dapat diprediksi | |
| 🆓 GRATIS | iFlow | $0 | Tidak terbatas | 8 model gratis |
| Qwen | $0 | Tidak terbatas | 3 model gratis | |
| Kiro | $0 | Tidak terbatas | Claude gratis |
💡 Kiat Pro: Mulai dengan Gemini CLI (gratis 180 ribu/bulan) + kombo iFlow (gratis tanpa batas) = biaya $0!
| Fitur | Apa Fungsinya |
|---|---|
| 🎯 Pengembalian 4 Tingkat Cerdas | Rute otomatis: Berlangganan → Kunci API → Murah → Gratis |
| 📊 Pelacakan Kuota Waktu Nyata | Jumlah token langsung + setel ulang hitungan mundur per penyedia |
| 🔄 Terjemahan Format | OpenAI ↔ Claude ↔ Gemini ↔ Kursor ↔ Kiro mulus + sanitasi respons |
| 👥 Dukungan Multi-Akun | Banyak akun per penyedia dengan pilihan cerdas |
| 🔄 Penyegaran Token Otomatis | Token OAuth disegarkan secara otomatis dengan coba lagi |
| 🎨 Kombo Khusus | 6 strategi: isi dulu, round-robin, p2c, acak, paling jarang digunakan, hemat biaya |
| 🧩 Model Khusus | Tambahkan ID model apa pun ke penyedia mana pun |
| 🌐 Router Wildcard | Rutekan pola provider/* ke penyedia mana pun secara dinamis |
| 🧠 Memikirkan Anggaran | Mode passthrough, otomatis, kustom, dan adaptif untuk model penalaran |
| 🔀 Model Aliases | Auto-forward deprecated model IDs to current replacements (built-in + custom) |
| ⚡ Background Degradation | Auto-route background tasks (titles, summaries) to cheaper models |
| 💬 Injeksi Perintah Sistem | Perintah sistem global diterapkan di semua permintaan |
| 📄 API Respons | Dukungan penuh OpenAI Responses API (/v1/responses) untuk Codex |
| Fitur | Apa Fungsinya |
|---|---|
| 🖼️ Pembuatan Gambar | /v1/images/generations — 4 penyedia, 9+ model |
| 📐 Sematan | /v1/embeddings — 6 penyedia, 9+ model |
| 🎤 Transkripsi Audio | /v1/audio/transcriptions — Kompatibel dengan bisikan |
| 🔊 Teks-ke-Ucapan | /v1/audio/speech — Sintesis audio multi-penyedia |
| 🛡️ Moderasi | /v1/moderations — Pemeriksaan keamanan konten |
| 🔀 Pemeringkatan Ulang | /v1/rerank — Pemeringkatan ulang relevansi dokumen |
| Fitur | Apa Fungsinya |
|---|---|
| 🔌 Pemutus Arus | Buka/tutup otomatis per penyedia dengan ambang batas yang dapat dikonfigurasi |
| 🛡️ Kawanan Anti Guntur | Batas kecepatan mutex + semaphore untuk penyedia kunci API |
| 🧠 Cache Semantik | Cache dua tingkat (tanda tangan + semantik) mengurangi biaya & latensi |
| ⚡ Minta Idempotensi | Jendela dedup 5 detik untuk permintaan duplikat |
| 🔒 Spoofing Sidik Jari TLS | Lewati deteksi bot berbasis TLS melalui wreq-js |
| 🌐 Pemfilteran IP | Daftar yang diizinkan/daftar blokir untuk kontrol akses API |
| 📊 Batas Tarif yang Dapat Diedit | RPM yang dapat dikonfigurasi, celah minimum, dan maks secara bersamaan pada tingkat sistem |
| 💾 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 |
| 🛡 Perlindungan Titik Akhir API | Gerbang autentikasi + pemblokiran penyedia untuk titik akhir /models |
| 🔒 Visibilitas Proksi | Lencana berkode warna: 🟢 global, 🟡 penyedia, 🔵 per koneksi dengan tampilan IP |
| 🌐 Konfigurasi Proksi 3 Tingkat | Konfigurasikan proxy di tingkat global, per penyedia, atau per koneksi |
| Fitur | Apa Fungsinya |
|---|---|
| 📝 Permintaan Pencatatan | Mode debug dengan log permintaan/respons lengkap |
| 💾 Log Proksi SQLite | Log proksi persisten bertahan saat server dimulai ulang |
| 📊 Dasbor Analitik | Didukung grafik ulang: kartu stat, bagan penggunaan model, tabel penyedia |
| 📈 Pelacakan Kemajuan | Ikut serta dalam acara kemajuan SSE untuk streaming |
| 🧪 Evaluasi LLM | Pengujian set emas dengan 4 strategi pertandingan |
| 🔍 Permintaan Telemetri | agregasi latensi p50/p95/p99 + penelusuran X-Request-Id |
| 📋 Dasbor Log | Halaman 4 tab terpadu: Log Permintaan, Log Proksi, Log Audit, Konsol |
| 🖥️ Penampil Log Konsol | Penampil gaya terminal real-time dengan filter level, pencarian, gulir otomatis |
| 📑 Logging Berbasis File | Pencegat konsol menangkap semua output ke file log JSON dengan rotasi |
| 🏥 Dasbor Kesehatan | Waktu aktif sistem, status pemutus sirkuit, penguncian, statistik cache |
| 💰 Pelacakan Biaya | Manajemen anggaran + konfigurasi harga per model |
| Fitur | Apa Fungsinya |
|---|---|
| 💾 Sinkronisasi Cloud | Sinkronkan konfigurasi antar perangkat melalui Cloudflare Workers |
| 🌐 Terapkan Di Mana Saja | Localhost, VPS, Docker, Pekerja Cloudflare |
| 🔑 Manajemen Kunci API | Menghasilkan, memutar, dan mencakup kunci API per penyedia |
| 🧙 Wizard Orientasi | Penyiapan terpandu 4 langkah untuk pengguna pertama kali |
| 🔧 Dasbor Alat CLI | Konfigurasikan sekali klik Claude, Codex, Cline, OpenClaw, Kilo, Antigravity |
| 🔄 Cadangan DB | Pencadangan, pemulihan, ekspor & impor otomatis untuk semua pengaturan |
| 🌐 Internasionalisasi | I18n lengkap dengan next-intl — Dukungan Inggris + Portugis (Brasil) |
| 🌍 Pemilih Bahasa | Ikon bola dunia di header untuk peralihan bahasa secara real-time (🇮🇩/🇧🇷) |
| 📂 Direktori Data Khusus | DATA_DIR env var untuk mengganti jalur penyimpanan ~/.omniroute default |
📖 Detail Fitur
Buat kombo dengan fallback otomatis:
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
- Konsumsi token per penyedia
- Atur ulang hitungan mundur (5 jam, harian, mingguan)
- Estimasi biaya untuk tingkatan berbayar
- Laporan pengeluaran bulanan
Terjemahan mulus antar format:
- OpenAI ↔ Claude ↔ Gemini ↔ Respon OpenAI
- Alat CLI Anda mengirimkan format OpenAI → OmniRoute menerjemahkan → Penyedia menerima format asli
- Bekerja dengan alat apa pun yang mendukung titik akhir OpenAI khusus
- Sanitasi respons — Menghapus kolom non-standar untuk kompatibilitas OpenAI SDK yang ketat
- Normalisasi peran —
developer→systemuntuk non-OpenAI;system→useruntuk model GLM/ERNIE - Think tag ekstraksi —
<think>blok →reasoning_contentuntuk model berpikir - Keluaran terstruktur —
json_schema→responseMimeType/responseSchemaGemini
- Tambahkan beberapa akun per penyedia
- Perutean otomatis round-robin atau berbasis prioritas
- Penggantian ke akun berikutnya ketika ada yang mencapai kuota
- Token OAuth secara otomatis disegarkan sebelum masa berlakunya habis
- Tidak diperlukan otentikasi ulang manual
- Pengalaman mulus di semua penyedia
- Buat kombinasi model tanpa batas
- 6 strategi: isi pertama, round-robin, kekuatan dua pilihan, acak, paling jarang digunakan, hemat biaya
- Bagikan kombo di seluruh perangkat dengan Cloud Sync
- Status sistem (waktu aktif, versi, penggunaan memori)
- Status pemutus sirkuit per penyedia (Tertutup/Terbuka/Setengah Terbuka)
- Status batas tarif dan penguncian aktif
- Statistik cache tanda tangan
- Telemetri latensi (p50/p95/p99) + cache cepat
- Atur ulang status kesehatan dengan satu klik
OmniRoute menyertakan Taman Bermain Penerjemah bawaan yang canggih dengan 4 mode untuk melakukan debug, menguji, dan memantau terjemahan API:
| Modus | Deskripsi |
|---|---|
| 💻 Taman bermain | Terjemahan format langsung — tempelkan isi permintaan API apa pun dan langsung lihat bagaimana OmniRoute menerjemahkannya antar format penyedia (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Termasuk contoh templat dan deteksi otomatis format. |
| 💬 Penguji Obrolan | Kirim permintaan obrolan nyata melalui OmniRoute dan lihat perjalanan pulang pergi selengkapnya: masukan Anda, permintaan yang diterjemahkan, respons penyedia, dan respons yang diterjemahkan kembali. Sangat berharga untuk memvalidasi perutean kombo. |
| 🧪 Bangku Tes | Mode pengujian batch — tentukan beberapa kasus pengujian dengan masukan berbeda dan keluaran yang diharapkan, jalankan semuanya sekaligus, dan bandingkan hasilnya di seluruh penyedia dan model. |
| 📱 Monitor Langsung | Pemantauan permintaan waktu nyata — perhatikan permintaan masuk saat mengalir melalui OmniRoute, lihat terjemahan format yang terjadi secara langsung, dan identifikasi masalah secara instan. |
Akses: Dasbor → Penerjemah (bilah samping)
- Sinkronisasi penyedia, kombo, dan pengaturan di seluruh perangkat
- Sinkronisasi latar belakang otomatis
- Penyimpanan terenkripsi yang aman
Masalah: Kuota habis tanpa terpakai, batas kecepatan selama coding berat
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
Masalah: Tidak mampu berlangganan, memerlukan pengkodean AI yang andal
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
Masalah: Tenggat waktu, tidak mampu membayar downtime
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
Masalah: Membutuhkan asisten AI dalam aplikasi perpesanan, sepenuhnya gratis
Combo: "openclaw-free"
1. if/glm-4.7 (unlimited free)
2. if/minimax-m2.1 (unlimited free)
3. if/kimi-k2-thinking (unlimited free)
Monthly cost: $0
Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal...
💳 Penyedia Langganan
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-20251001Kiat Pro: Gunakan Opus untuk tugas kompleks, Soneta untuk kecepatan. OmniRoute melacak kuota per model!
Dashboard → Providers → Connect Codex
→ OAuth login (port 1455)
→ 5-hour + weekly reset
Models:
cx/gpt-5.2-codex
cx/gpt-5.1-codex-maxDashboard → Providers → Connect Gemini CLI
→ Google OAuth
→ 180K completions/month + 1K/day
Models:
gc/gemini-3-flash-preview
gc/gemini-2.5-proNilai Terbaik: Tingkat gratis yang sangat besar! Gunakan ini sebelum tingkatan berbayar.
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🔑 Penyedia Kunci API
- Daftar: build.nvidia.com
- Dapatkan kunci API gratis (termasuk 1000 kredit inferensi)
- Dasbor → Tambah Penyedia → NVIDIA NIM:
- Kunci API:
nvapi-your-key
- Kunci API:
Model: nvidia/llama-3.3-70b-instruct, nvidia/mistral-7b-instruct, dan 50+ lainnya
Kiat Pro: API yang kompatibel dengan OpenAI — bekerja secara lancar dengan terjemahan format OmniRoute!
- Daftar: platform.deepseek.com
- Dapatkan kunci API
- Dasbor → Tambah Penyedia → DeepSeek
Model: deepseek/deepseek-chat, deepseek/deepseek-coder
- Daftar: console.groq.com
- Dapatkan kunci API (termasuk tingkat gratis)
- Dasbor → Tambah Penyedia → Groq
Model: groq/llama-3.3-70b, groq/mixtral-8x7b
Kiat Pro: Inferensi ultra-cepat — terbaik untuk pengkodean waktu nyata!
- Daftar: openrouter.ai
- Dapatkan kunci API
- Dasbor → Tambah Penyedia → OpenRouter
Model: Akses 100+ model dari semua penyedia utama melalui satu kunci API.
💰 Penyedia Murah (Cadangan)
- Daftar: Zhipu AI
- Dapatkan kunci API dari Coding Plan
- Dasbor → Tambahkan Kunci API:
- Penyedia:
glm - Kunci API:
your-key
- Penyedia:
Gunakan: glm/glm-4.7
Tips Pro: Paket Coding menawarkan 3× kuota dengan biaya 1/7! Reset setiap hari pukul 10.00.
- Daftar: MiniMax
- Dapatkan kunci API
- Dasbor → Tambahkan Kunci API
Gunakan: minimax/MiniMax-M2.1
Kiat Pro: Opsi termurah untuk konteks panjang (1 juta token)!
- Berlangganan: Moonshot AI
- Dapatkan kunci API
- Dasbor → Tambahkan Kunci API
Gunakan: kimi/kimi-latest
Kiat Pro: Memperbaiki $9/bulan untuk 10 juta token = biaya efektif $0,90/1 juta!
🆓 Penyedia GRATIS (Cadangan Darurat)
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-r1Dashboard → Connect Qwen
→ Device code authorization
→ Unlimited usage
Models:
qw/qwen3-coder-plus
qw/qwen3-coder-flashDashboard → Connect Kiro
→ AWS Builder ID or Google/GitHub
→ Unlimited usage
Models:
kr/claude-sonnet-4.5
kr/claude-haiku-4.5🎨 Buat Kombo
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
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!
🔧 Integrasi CLI
Settings → Models → Advanced:
OpenAI API Base URL: http://localhost:20128/v1
OpenAI API Key: [from OmniRoute dashboard]
Model: cc/claude-opus-4-6
Gunakan halaman Alat CLI di dasbor untuk konfigurasi sekali klik, atau edit ~/.claude/settings.json secara manual.
export OPENAI_BASE_URL="http://localhost:20128"
export OPENAI_API_KEY="your-omniroute-api-key"
codex "your prompt"Opsi 1 — Dasbor (disarankan):
Dashboard → CLI Tools → OpenClaw → Select Model → Apply
Opsi 2 — Panduan: Sunting ~/.openclaw/openclaw.json:
{
"models": {
"providers": {
"omniroute": {
"baseUrl": "http://127.0.0.1:20128/v1",
"apiKey": "sk_omniroute",
"api": "openai-completions"
}
}
}
}Catatan: OpenClaw hanya berfungsi dengan OmniRoute lokal. Gunakan
127.0.0.1alih-alihlocalhostuntuk menghindari masalah resolusi IPv6.
Settings → API Configuration:
Provider: OpenAI Compatible
Base URL: http://localhost:20128/v1
API Key: [from OmniRoute dashboard]
Model: if/kimi-k2-thinking
OmniRoute menyertakan kerangka evaluasi bawaan untuk menguji kualitas respons LLM terhadap rangkaian emas. Akses melalui Analytics → Evals di dasbor.
"OmniRoute Golden Set" yang dimuat sebelumnya berisi 10 kasus uji yang meliputi:
- Salam, matematika, geografi, pembuatan kode
- Kepatuhan format JSON, terjemahan, penurunan harga
- Penolakan keamanan (konten berbahaya), penghitungan, logika boolean
| Strategi | Deskripsi | Contoh |
|---|---|---|
exact |
Output harus sama persis | "4" |
contains |
Output harus berisi substring (tidak peka huruf besar-kecil) | "Paris" |
regex |
Output harus sesuai dengan pola regex | "1.*2.*3" |
custom |
Fungsi JS khusus mengembalikan benar/salah | (output) => output.length > 10 |
Klik untuk memperluas panduan pemecahan masalah
"Model bahasa tidak memberikan pesan"
- Kuota penyedia habis → Periksa dashboard pelacak kuota
- Solusi: Gunakan combo fallback atau beralih ke tier yang lebih murah
Pembatasan tarif
- Kuota berlangganan habis → Penggantian ke GLM/MiniMax
- Tambahkan kombo:
cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking
Token OAuth kedaluwarsa
- Disegarkan secara otomatis oleh OmniRoute
- Jika masalah terus berlanjut: Dasbor → Penyedia → Sambungkan kembali
Biaya tinggi
- Periksa statistik penggunaan di Dashboard → Biaya
- Ganti model utama ke GLM/MiniMax
- Gunakan tingkat gratis (Gemini CLI, iFlow) untuk tugas-tugas yang tidak penting
Dasbor terbuka pada port yang salah
- Tetapkan
PORT=20128danNEXT_PUBLIC_BASE_URL=http://localhost:20128
Kesalahan sinkronisasi cloud
- Verifikasi
BASE_URLpoin ke instance Anda yang sedang berjalan - Verifikasi
CLOUD_URLpoin ke titik akhir cloud yang Anda harapkan - Jaga agar nilai
NEXT_PUBLIC_*selaras dengan nilai sisi server
Login pertama tidak berfungsi
- Periksa
INITIAL_PASSWORDdi.env - Jika tidak disetel, kata sandi cadangan adalah
123456
Tidak ada log permintaan
- Tetapkan
ENABLE_REQUEST_LOGS=truedi.env
Tes koneksi menunjukkan "Tidak Valid" untuk penyedia yang kompatibel dengan OpenAI
- Banyak penyedia tidak mengekspos titik akhir
/models - OmniRoute v1.0.6+ menyertakan validasi fallback melalui penyelesaian obrolan
- Pastikan URL dasar menyertakan akhiran
/v1
⚠️ PENTING bagi pengguna dengan OmniRoute pada VPS/Docker/server jarak jauh
Pembuktiannya Antigravitasi dan Gemini CLI digunakan Google OAuth 2.0 untuk autentikasi. Google meminta agar redirect_uri menggunakan OAuth yang terus berubah, jadi exatamente adalah URI yang sudah ada sebelumnya di Google Cloud Console yang dapat diterapkan.
Karena kredensial OAuth yang diberikan pada OmniRoute adalah kadastrada apenas untuk localhost. Ketika Anda mengakses OmniRoute dari server jarak jauh (misal: https://omniroute.meuservidor.com), atau Google meminta autenticação com:
Error 400: redirect_uri_mismatch
Anda perlu membuat ID Klien OAuth 2.0 di Google Cloud Console dengan URI di server Anda.
1. Mengakses Google Cloud Console
Abra: https://console.cloud.google.com/apis/credentials
2. Inilah ID Klien OAuth 2.0 yang baru
- Klik pada "+ Buat Kredensial" → "ID klien OAuth"
- Tip aplikasi: "Aplikasi web"
- Nama: nama escolha qualquer (misal:
OmniRoute Remote)
3. Tambahan sebagai URI Pengalihan Resmi
Selain itu "URI pengalihan resmi", tambahan:
https://seu-servidor.com/callback
Pengganti
seu-servidor.compelo domínio atau IP ke server Anda (termasuk port yang diperlukan, misal:http://45.33.32.156:20128/callback).
4. Salep dan salin sebagai kredensial
Kemudian, Google menampilkan ID Klien dan Rahasia Klien.
5. Konfigurasikan sebagai variáveis de ambiente
Di .env (atau berbagai lingkungan di 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-secret6. Memulai kembali OmniRoute
# Se usando npm:
npm run dev
# Se usando Docker:
docker restart omniroute7. Mari kita sambungkan lagi
Dasbor → Penyedia → Antigravitasi (atau Gemini CLI) → OAuth
Sekarang o Google dialihkan langsung ke https://seu-servidor.com/callback dan autentikasi berfungsi.
Jika Anda tidak ingin membuat kredensial pribadi sekarang, Anda mungkin dapat menggunakan fluks panduan URL:
- O OmniRoute membuka URL autoriza dari Google
- Setelah Anda autorizar, Google mengarahkan pengalihan ke
localhost(yang gagal pada server jarak jauh) - Salin URL lengkap dari bilah akhir browser Anda (meskipun halaman tidak dimuat)
- Gunakan URL ini karena tidak ada modal koneksi ke OmniRoute
- Klik pada "Hubungkan"
Solusi ini berfungsi karena kode otorisasi pada URL valid secara independen untuk mengarahkan ulang ke akun atau tidak.
- Runtime: Node.js 18–22 LTS (
⚠️ Node.js 24+ tidak didukung —better-sqlite3biner asli tidak kompatibel) - Bahasa: TypeScript 5.9 — 100% TypeScript di
src/danopen-sse/(v1.0.6) - Kerangka Kerja: Next.js 16 + React 19 + Tailwind CSS 4
- Database: LowDB (JSON) + SQLite (status domain + log proksi)
- Streaming: Peristiwa Terkirim Server (SSE)
- Auth: OAuth 2.0 (PKCE) + JWT + Kunci API
- Pengujian: pelari pengujian Node.js (368+ pengujian unit)
- CI/CD: Tindakan GitHub (publikasi npm otomatis + Docker Hub saat dirilis)
- Situs Web: omniroute.online
- Paket: npmjs.com/package/omniroute
- Pekerja Pelabuhan: hub.docker.com/r/diegosouzapw/omniroute
- Ketahanan: Pemutus sirkuit, kemunduran eksponensial, kawanan anti-guntur, spoofing TLS
| Dokumen | Deskripsi |
|---|---|
| User Guide | Penyedia, kombo, integrasi CLI, penerapan |
| API Reference | Semua titik akhir dengan contoh |
| Troubleshooting | Masalah umum dan solusinya |
| Architecture | Arsitektur sistem dan internal |
| Contributing | Pengaturan dan pedoman pengembangan |
| OpenAPI Spec | Spesifikasi OpenAPI 3.0 |
| Security Policy | Pelaporan kerentanan dan praktik keamanan |
| VM Deployment | Panduan lengkap: VM + nginx + Pengaturan Cloudflare |
| Features Gallery | Tur dasbor visual dengan tangkapan layar |
Klik untuk melihat tangkapan layar dasbor
| Halaman | Tangkapan layar |
|---|---|
| Penyedia | ![]() |
| Kombo | ![]() |
| Analitik | ![]() |
| Kesehatan | ![]() |
| Penerjemah | ![]() |
| Pengaturan | ![]() |
| Alat CLI | ![]() |
| Log Penggunaan | ![]() |
| Titik Akhir | ![]() |
OmniRoute memiliki 210+ fitur yang direncanakan di berbagai fase pengembangan. Berikut adalah bidang-bidang utamanya:
| Kategori | Fitur yang Direncanakan | Sorotan |
|---|---|---|
| 🧠 Perutean & Kecerdasan | 25+ | Perutean latensi terendah, perutean berbasis tag, preflight kuota, pemilihan akun P2C |
| 🔒 Keamanan & Kepatuhan | 20+ | Pengerasan SSRF, penyelubungan kredensial, batas tarif per titik akhir, pelingkupan kunci manajemen |
| 📊 Kemampuan Observasi | 15+ | Integrasi OpenTelemetry, pemantauan kuota waktu nyata, pelacakan biaya per model |
| 🔄 Integrasi Penyedia | 20+ | Registri model dinamis, cooldown penyedia, Codex multi-akun, penguraian kuota Salinan |
| ⚡ Kinerja | 15+ | Lapisan cache ganda, cache cepat, cache respons, streaming keepalive, API batch |
| 🌐 Ekosistem | 10+ | WebSocket API, konfigurasi hot-reload, penyimpanan konfigurasi terdistribusi, mode komersial |
- 🔗 Integrasi OpenCode — Dukungan penyedia asli untuk IDE pengkodean AI OpenCode
- 🔗 Integrasi TRAE — Dukungan penuh untuk kerangka pengembangan AI TRAE
- 📦 Batch API — Pemrosesan batch asinkron untuk permintaan massal
- 🎯 Perutean Berbasis Tag — Merutekan permintaan berdasarkan tag dan metadata khusus
- 💰 Strategi Biaya Terendah — Secara otomatis memilih penyedia termurah yang tersedia
📝 Spesifikasi fitur lengkap tersedia di link (217 spesifikasi detail)
💬 Bergabunglah dengan komunitas kami! WhatsApp Group — Dapatkan bantuan, berbagi kiat, dan dapatkan informasi terbaru.
- Situs Web: omniroute.online
- GitHub: github.com/diegosouzapw/OmniRoute
- Masalah: github.com/diegosouzapw/OmniRoute/issues
- WhatsApp: Community Group
- Proyek Asli: 9router by decolua
- Cabangkan repositori
- Buat cabang fitur Anda (
git checkout -b feature/amazing-feature) - Komit perubahan Anda (
git commit -m 'Add amazing feature') - Dorong ke cabang (
git push origin feature/amazing-feature) - Buka Permintaan Tarik
Lihat CONTRIBUTING.md untuk panduan detailnya.
# Create a release — npm publish happens automatically
gh release create v1.0.6 --title "v1.0.6" --generate-notesTerima kasih khusus kepada 9router oleh decolua — proyek asli yang menginspirasi fork ini. OmniRoute dibangun di atas fondasi luar biasa tersebut dengan fitur tambahan, API multi-modal, dan penulisan ulang TypeScript lengkap.
Terima kasih khusus kepada CLIProxyAPI — implementasi Go asli yang menginspirasi port JavaScript ini.
Lisensi MIT - lihat LICENSE untuk detailnya.
omniroute.online








