OmniRoute Dashboard # 🚀 OmniRoute — Gerbang AI Percuma 🌐 **[English](#-omniroute--the-free-ai-gateway)** | **[Português (BR)](#-omniroute--gateway-de-ia-gratuito)** ### Jangan sekali-kali berhenti mengekod. Penghalaan pintar ke **model AI PERCUMA & kos rendah** dengan sandaran automatik. _Proksi API universal anda — satu titik akhir, 36+ pembekal, masa henti sifar._ **Penyelesaian Sembang • Pembenaman • Penjanaan Imej • Audio • Kedudukan Semula • 100% TypeScript** --- ### 🤖 Pembekal AI percuma untuk ejen pengekodan kegemaran anda _Sambungkan mana-mana alat IDE atau CLI berkuasa AI melalui OmniRoute — get laluan API percuma untuk pengekodan tanpa had._
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
📡 Semua ejen menyambung melalui http://localhost:20128/v1 atau http://cloud.omniroute.online/v1 atau model http://cloud.omniroute.online/v1__OMNI_TOKEN —i_24_TOKEN dan satu —i_konfigurasi kuota --- [![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)
--- ## 🤔 Mengapa OmniRoute? **Berhenti membazir wang dan mencapai had:** - Kuota langganan tamat tempoh tidak digunakan setiap bulan - Had kadar menghalang anda pertengahan pengekodan - API Mahal ($20-50/bulan bagi setiap pembekal) - Pertukaran manual antara pembekal **OmniRoute menyelesaikan ini:** - ✅ **Maksimumkan langganan** - Jejaki kuota, gunakan setiap bit sebelum ditetapkan semula - ✅ **Auto sandaran** - Langganan → Kunci API → Murah → Percuma, masa henti sifar - ✅ **Berbilang akaun** - Round-robin antara akaun bagi setiap pembekal - ✅ **Universal** - Berfungsi dengan Kod Claude, Codex, Gemini CLI, Kursor, Cline, OpenClaw, sebarang alat CLI --- ## 🔄 Cara Ia Berfungsi ``` ┌─────────────┐ │ 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 ``` --- ## ⚡ Mula Pantas **1. Pasang secara global:** ```bash npm install -g omniroute omniroute ``` 🎉 Papan pemuka dibuka pada `http://localhost:20128` | Perintah | Penerangan | | ----------------------- | ---------------------------------- | | `omniroute` | Mulakan pelayan (port lalai 20128) | | `omniroute --port 3000` | Gunakan port tersuai | | `omniroute --no-open` | Jangan auto buka penyemak imbas | | `omniroute --help` | Tunjukkan bantuan | **2. Sambungkan pembekal PERCUMA:** Papan pemuka → Pembekal → Sambung **Kod Claude** atau **Antigraviti** → Log masuk OAuth → Selesai! **3. Gunakan dalam 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 ``` **Itu sahaja!** Mulakan pengekodan dengan model AI PERCUMA. **Alternatif — dijalankan dari sumber:** ```bash cp .env.example .env npm install PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev ``` --- ## 🐳 Docker OmniRoute tersedia sebagai imej Docker awam pada [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). **Larian pantas:** ```bash docker run -d \ --name omniroute \ --restart unless-stopped \ -p 20128:20128 \ -v omniroute-data:/app/data \ diegosouzapw/omniroute:latest ``` **Dengan fail persekitaran:** ```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 ``` **Menggunakan Docker Compose:** ```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 ``` | Imej | Tag | Saiz | Penerangan | | ------------------------ | -------- | ------ | ----------------------- | | `diegosouzapw/omniroute` | `latest` | ~250MB | Keluaran stabil terkini | | `diegosouzapw/omniroute` | `1.0.3` | ~250MB | Versi semasa | --- ## 💰 Sekilas Pandang Harga | Peringkat | Pembekal | Kos | Set Semula Kuota | Terbaik Untuk | | ---------------- | ---------------- | ---------------------------- | ------------------ | ----------------------- | | **💳 LANGGANAN** | Kod Claude (Pro) | $20/bln | 5j + mingguan | Sudah melanggan | | | Codex (Plus/Pro) | $20-200/bln | 5j + mingguan | Pengguna OpenAI | | | Gemini CLI | **PERCUMA** | 180K/bln + 1K/hari | Semua orang! | | | GitHub Copilot | $10-19/bln | Bulanan | Pengguna GitHub | | **🔑 KUNCI API** | NVIDIA NIM | **PERCUMA** (1000 kredit) | Satu kali | Ujian peringkat percuma | | | DeepSeek | Bayar setiap penggunaan | Tiada | Harga/kualiti terbaik | | | Groq | Peringkat percuma + berbayar | Kadar terhad | Inferens sangat pantas | | | xAI (Grok) | Bayar setiap penggunaan | Tiada | Model Grok | | | Mistral | Peringkat percuma + berbayar | Kadar terhad | AI Eropah | | | OpenRouter | Bayar setiap penggunaan | Tiada | 100+ model | | **💰 MURAH** | GLM-4.7 | $0.6/1J | Setiap hari 10AM | Sandaran belanjawan | | | MiniMax M2.1 | $0.2/1J | 5 jam bergolek | Pilihan termurah | | | Kimi K2 | $9/bln flat | 10 juta token/bln | Kos yang boleh diramal | | **🆓 PERCUMA** | iFlow | $0 | tanpa had | 8 model percuma | | | Qwen | $0 | tanpa had | 3 model percuma | | | Kiro | $0 | tanpa had | Claude percuma | **💡 Petua Pro:** Mulakan dengan Gemini CLI (180K percuma/bulan) + iFlow (percuma tanpa had) kombo = $0 kos! --- ## 🎯 Kes Penggunaan ### Kes 1: "Saya mempunyai langganan Claude Pro" **Masalah:** Kuota tamat tempoh tidak digunakan, had kadar semasa pengekodan 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 ``` ### Kes 2: "Saya mahu kos sifar" **Masalah:** Tidak mampu membayar langganan, memerlukan pengekodan AI yang boleh dipercayai ``` 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 ``` ### Kes 3: "Saya memerlukan pengekodan 24/7, tiada gangguan" **Masalah:** Tarikh akhir, tidak mampu membayar masa henti ``` 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 ``` ### Kes 4: "Saya mahukan AI PERCUMA dalam OpenClaw" **Masalah:** Memerlukan pembantu AI dalam apl pemesejan, percuma sepenuhnya ``` 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... ``` --- ## 💡 Ciri Utama ### 🧠 Penghalaan Teras & Kepintaran | Ciri | Apa yang Dilakukan | | ---------------------------------- | --------------------------------------------------------------------------------------------- | | 🎯 **Smart 4-Tier Fallback** | Laluan automatik: Langganan → Kunci API → Murah → Percuma | | 📊 **Penjejakan Kuota Masa Nyata** | Kiraan token langsung + tetapan semula kira detik setiap pembekal | | 🔄 **Terjemahan Format** | OpenAI ↔ Claude ↔ Gemini ↔ Kursor ↔ Kiro lancar + pembersihan tindak balas | | 👥 **Sokongan Berbilang Akaun** | Berbilang akaun bagi setiap pembekal dengan pemilihan pintar | | 🔄 **Muat Semula Token Auto** | Token OAuth dimuat semula secara automatik dengan cuba semula | | 🎨 **Kombo Tersuai** | 6 strategi: isikan dahulu, round-robin, p2c, rawak, paling kurang digunakan, dioptimumkan kos | | 🧩 **Model Tersuai** | Tambahkan sebarang ID model pada mana-mana pembekal | | 🌐 **Penghala Wildcard** | Halakan corak `provider/*` kepada mana-mana pembekal secara dinamik | | 🧠 **Anggaran Berfikir** | Mod laluan, auto, tersuai dan adaptif untuk model penaakulan | | 💬 **System Prompt Suntikan** | Gesaan sistem global digunakan merentas semua permintaan | | 📄 **API Respons** | Sokongan OpenAI Responses API (`/v1/responses`) penuh untuk Codex | ### 🎵 API Berbilang Modal | Ciri | Apa yang Dilakukan | | ------------------------ | ------------------------------------------------------ | | 🖼️ **Penjanaan Imej** | `/v1/images/generations` — 4 pembekal, 9+ model | | 📐 **Pembenaman** | `/v1/embeddings` — 6 pembekal, 9+ model | | 🎤 **Transkripsi Audio** | `/v1/audio/transcriptions` — Serasi dengan bisikan | | 🔊 **Teks-ke-Ucapan** | `/v1/audio/speech` — Sintesis audio berbilang pembekal | | 🛡️ **Kesederhanaan** | `/v1/moderations` — Pemeriksaan keselamatan kandungan | | 🔀 **Penyusunan semula** | `/v1/rerank` — Penarafan semula perkaitan dokumen | ### 🛡️ Ketahanan & Keselamatan | Ciri | Apa yang Dilakukan | | ----------------------------------- | ----------------------------------------------------------------------------------- | | 🔌 **Pemutus Litar** | Auto buka/tutup setiap pembekal dengan ambang boleh dikonfigurasikan | | 🛡️ **Kawanan Anti Guruh** | Had kadar Mutex + semaphore untuk pembekal kunci API | | 🧠 **Cache Semantik** | Cache dua peringkat (tandatangan + semantik) mengurangkan kos & kependaman | | ⚡ **Minta Idepotency** | Tetingkap pendua 5s untuk permintaan pendua | | 🔒 **TLS Fingerprint Spoofing** | Pintas pengesanan bot berasaskan TLS melalui wreq-js | | 🌐 **Penapisan IP** | Senarai kebenaran/senarai sekat untuk kawalan akses API | | 📊 **Had Kadar Boleh Diedit** | RPM boleh dikonfigurasikan, jurang min dan serentak maksimum pada tahap sistem | | 🛡 **Perlindungan Titik Akhir API** | Gating pengesahan + penyekatan penyedia untuk titik akhir `/models` | | 🔒 **Keterlihatan Proksi** | Lencana berkod warna: 🟢 global, 🟡 pembekal, 🔵 setiap sambungan dengan paparan IP | | 🌐 **Konfigurasi Proksi 3 Tahap** | Konfigurasikan proksi pada peringkat global, setiap pembekal atau setiap sambungan | ### 📊 Kebolehlihatan & Analitis | Ciri | Apa yang Dilakukan | | --------------------------------- | ------------------------------------------------------------------------------ | | 📝 **Minta Pembalakan** | Mod nyahpepijat dengan log permintaan/tindak balas penuh | | 💾 **Log Proksi SQLite** | Log proksi berterusan bertahan dimulakan semula pelayan | | 📊 **Papan Pemuka Analitik** | Dikuasakan semula: kad statistik, carta penggunaan model, jadual pembekal | | 📈 **Penjejakan Kemajuan** | Ikut serta acara kemajuan SSE untuk penstriman | | 🧪 **Penilaian LLM** | Ujian set emas dengan 4 strategi perlawanan | | 🔍 **Minta Telemetri** | p50/p95/p99 pengagregatan kependaman + pengesanan X-Request-Id | | 📋 **Papan Pemuka Log** | Halaman 4 tab bersatu: Log Permintaan, Log Proksi, Log Audit, Konsol | | 🖥️ **Pemapar Log Konsol** | Pemapar gaya terminal masa nyata dengan penapis tahap, carian, tatal automatik | | 📑 **Pengelogan Berasaskan Fail** | Pemintas konsol menangkap semua output ke fail log JSON dengan putaran | | 🏥 **Papan Pemuka Kesihatan** | Masa beroperasi sistem, keadaan pemutus litar, sekatan keluar, statistik cache | | 💰 **Penjejakan Kos** | Pengurusan belanjawan + konfigurasi harga setiap model | ### ☁️ Penyerahan & Penyegerakan | Ciri | Apa yang Dilakukan | | ----------------------------- | ----------------------------------------------------------------------- | | 💾 **Penyegerakan Awan** | Segerakkan konfigurasi merentas peranti melalui Cloudflare Workers | | 🌐 **Kerahkan Di Mana-mana** | Localhost, VPS, Docker, Pekerja Cloudflare | | 🔑 **Pengurusan Kunci API** | Jana, putar dan skop kunci API bagi setiap pembekal | | 🧙 **Onboarding Wizard** | Persediaan berpandu 4 langkah untuk pengguna kali pertama | | 🔧 **Papan Pemuka Alat CLI** | Konfigurasi satu klik Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | | 🔄 **Sandaran DB** | Sandaran automatik, pulihkan, eksport & import untuk semua tetapan | | 🌐 **Pengantarabangsaan** | i18n penuh dengan next-intl — sokongan Inggeris + Portugis (Brazil) | | 🌍 **Pemilih Bahasa** | Ikon glob dalam pengepala untuk penukaran bahasa masa nyata (🇺🇸/🇧🇷) | | 📂 **Direktori Data Tersuai** | `DATA_DIR` env var untuk mengatasi laluan storan lalai `~/.omniroute` |
📖 Butiran Ciri ### 🎯 Kemunduran 4 Peringkat Pintar Cipta gabungan dengan sandaran automatik: ``` 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 ``` ### 📊 Penjejakan Kuota Masa Nyata - Penggunaan token setiap pembekal - Tetapkan semula kira detik (5 jam, harian, mingguan) - Anggaran kos untuk peringkat berbayar - Laporan perbelanjaan bulanan ### 🔄 Terjemahan Format Terjemahan lancar antara format: - **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **Respons OpenAI** - Alat CLI anda menghantar format OpenAI → OmniRoute menterjemah → Pembekal menerima format asli - Berfungsi dengan mana-mana alat yang menyokong titik akhir OpenAI tersuai - **Pembersihan tindak balas** — Menghapuskan medan bukan standard untuk keserasian OpenAI SDK yang ketat - **Penormalan peranan** — `developer` → `system` untuk bukan OpenAI; `system` → `user` untuk model GLM/ERNIE - **Pengekstrakan teg Think** — `` blok → `reasoning_content` untuk model pemikiran - **Output berstruktur** — `json_schema` → Gemini's `responseMimeType`/`responseSchema` ### 👥 Sokongan Berbilang Akaun - Tambah berbilang akaun bagi setiap pembekal - Auto round-robin atau penghalaan berasaskan keutamaan - Berundur ke akaun seterusnya apabila seseorang mencapai kuota ### 🔄 Muat Semula Token Auto - Token OAuth dimuat semula secara automatik sebelum tamat tempoh - Tiada pengesahan semula manual diperlukan - Pengalaman lancar merentas semua pembekal ### 🎨 Kombo Tersuai - Buat kombinasi model tanpa had - 6 strategi: isikan dahulu, round-robin, kuasa dua pilihan, rawak, paling kurang digunakan, dioptimumkan kos - Kongsi gabungan merentas peranti dengan Cloud Sync ### 🏥 Papan Pemuka Kesihatan - Status sistem (masa hidup, versi, penggunaan memori) - Keadaan pemutus litar bagi setiap pembekal (Tertutup/Terbuka/Separuh Terbuka) - Status had kadar dan sekatan aktif - Statistik cache tandatangan - Telemetri kependaman (p50/p95/p99) + cache segera - Tetapkan semula status kesihatan dengan satu klik ### 🔧 Taman Permainan Penterjemah OmniRoute termasuk Taman Permainan Penterjemah terbina dalam yang berkuasa dengan **4 mod** untuk penyahpepijatan, ujian dan pemantauan terjemahan API: | Mod | Penerangan | | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **💻 Taman permainan** | Terjemahan format langsung — tampal mana-mana badan permintaan API dan lihat serta-merta cara OmniRoute menterjemahkannya antara format pembekal (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Termasuk templat contoh dan pengesanan automatik format. | | **💬 Penguji Sembang** | Hantar permintaan sembang sebenar melalui OmniRoute dan lihat perjalanan pergi balik penuh: input anda, permintaan yang diterjemahkan, respons pembekal dan balasan yang diterjemahkan kembali. Tidak ternilai untuk mengesahkan penghalaan kombo. | | **🧪 Bangku Ujian** | Mod ujian kelompok — tentukan berbilang kes ujian dengan input dan output yang dijangkakan berbeza, jalankan semuanya sekali gus dan bandingkan hasil merentas pembekal dan model. | | **📱 Pemantau Langsung** | Pemantauan permintaan masa nyata — tonton permintaan masuk semasa ia mengalir melalui OmniRoute, lihat terjemahan format berlaku secara langsung dan kenal pasti isu serta-merta. | **Akses:** Papan Pemuka → Penterjemah (bar sisi) ### 💾 Penyegerakan Awan - Penyegerakan penyedia, gabungan dan tetapan merentas peranti - Penyegerakan latar belakang automatik - Storan yang disulitkan selamat
--- ## 📖 Panduan Persediaan
💳 Pembekal Langganan ### Kod Claude (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 ``` **Petua Pro:** Gunakan Opus untuk tugas yang rumit, Sonnet untuk kelajuan. OmniRoute menjejaki kuota setiap model! ### 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 (PERCUMA 180K/bulan!) ```bash Dashboard → Providers → Connect Gemini CLI → Google OAuth → 180K completions/month + 1K/day Models: gc/gemini-3-flash-preview gc/gemini-2.5-pro ``` **Nilai Terbaik:** Peringkat percuma yang besar! Gunakan ini sebelum peringkat berbayar. ### Copilot GitHub ```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 ```
🔑 Pembekal Kunci API ### NVIDIA NIM (PERCUMA 1000 kredit!) 1. Daftar: [build.nvidia.com](https://build.nvidia.com) 2. Dapatkan kunci API percuma (1000 kredit inferens disertakan) 3. Papan Pemuka → Tambah Pembekal → NVIDIA NIM: - Kunci API: `nvapi-your-key` **Model:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` dan 50+ lagi **Petua Pro:** API serasi OpenAI — berfungsi dengan lancar dengan terjemahan format OmniRoute! ### DeepSeek 1. Daftar: [platform.deepseek.com](https://platform.deepseek.com) 2. Dapatkan kunci API 3. Papan Pemuka → Tambah Pembekal → DeepSeek **Model:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` ### Groq (Tier Percuma Tersedia!) 1. Daftar: [console.groq.com](https://console.groq.com) 2. Dapatkan kunci API (termasuk peringkat percuma) 3. Papan Pemuka → Tambah Pembekal → Groq **Model:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` **Petua Pro:** Inferens sangat pantas — terbaik untuk pengekodan masa nyata! ### OpenRouter (100+ Model) 1. Daftar: [openrouter.ai](https://openrouter.ai) 2. Dapatkan kunci API 3. Papan Pemuka → Tambah Pembekal → OpenRouter **Model:** Akses 100+ model daripada semua pembekal utama melalui kunci API tunggal.
💰 Penyedia Murah (Sandaran) ### GLM-4.7 (Tetapan semula harian, $0.6/1J) 1. Daftar: [Zhipu AI](https://open.bigmodel.cn/) 2. Dapatkan kunci API daripada Pelan Pengekodan 3. Papan Pemuka → Tambah Kunci API: - Pembekal: `glm` - Kunci API: `your-key` **Gunakan:** `glm/glm-4.7` **Petua Pro:** Pelan Pengekodan menawarkan kuota 3× pada kos 1/7! Tetapkan semula setiap hari 10:00 AM. ### MiniMax M2.1 (tetapan semula 5j, $0.20/1J) 1. Daftar: [MiniMax](https://www.minimax.io/) 2. Dapatkan kunci API 3. Papan Pemuka → Tambah Kunci API **Gunakan:** `minimax/MiniMax-M2.1` **Petua Pro:** Pilihan termurah untuk konteks panjang (token 1M)! ### Kimi K2 ($9/bulan rata) 1. Langgan: [Moonshot AI](https://platform.moonshot.ai/) 2. Dapatkan kunci API 3. Papan Pemuka → Tambah Kunci API **Gunakan:** `kimi/kimi-latest` **Petua Pro:** Tetap $9/bulan untuk 10J token = $0.90/1J kos efektif!
🆓 Pembekal PERCUMA (Sandaran Kecemasan) ### iFlow (8 model PERCUMA) ```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 model PERCUMA) ```bash Dashboard → Connect Qwen → Device code authorization → Unlimited usage Models: qw/qwen3-coder-plus qw/qwen3-coder-flash ``` ### Kiro (Claude PERCUMA) ```bash Dashboard → Connect Kiro → AWS Builder ID or Google/GitHub → Unlimited usage Models: kr/claude-sonnet-4.5 kr/claude-haiku-4.5 ```
🎨 Cipta Kombo ### Contoh 1: Maksimumkan Langganan → Sandaran Murah ``` 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 ``` ### Contoh 2: Percuma-Sahaja (Kos Sifar) ``` 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 Integrasi ### IDE Kursor ``` Settings → Models → Advanced: OpenAI API Base URL: http://localhost:20128/v1 OpenAI API Key: [from OmniRoute dashboard] Model: cc/claude-opus-4-6 ``` ### Kod Claude Gunakan halaman **Alat CLI** dalam papan pemuka untuk konfigurasi satu klik atau edit `~/.claude/settings.json` secara manual. ### Codex CLI ```bash export OPENAI_BASE_URL="http://localhost:20128" export OPENAI_API_KEY="your-omniroute-api-key" codex "your prompt" ``` ### OpenClaw **Pilihan 1 — Papan Pemuka (disyorkan):** ``` Dashboard → CLI Tools → OpenClaw → Select Model → Apply ``` **Pilihan 2 — Manual:** Edit `~/.openclaw/openclaw.json`: ```json { "models": { "providers": { "omniroute": { "baseUrl": "http://127.0.0.1:20128/v1", "apiKey": "sk_omniroute", "api": "openai-completions" } } } } ``` > **Nota:** OpenClaw hanya berfungsi dengan OmniRoute tempatan. Gunakan `127.0.0.1` dan bukannya `localhost` untuk mengelakkan isu resolusi IPv6. ### Cline / Teruskan / RooCode ``` Settings → API Configuration: Provider: OpenAI Compatible Base URL: http://localhost:20128/v1 API Key: [from OmniRoute dashboard] Model: if/kimi-k2-thinking ```
--- ## 📊 Model Tersedia
Lihat semua model yang tersedia **Kod Claude (`cc/`)** - Pro/Max: - `cc/claude-opus-4-6` - `cc/claude-sonnet-4-5-20250929` - `cc/claude-haiku-4-5-20251001` **Codex (`cx/`)** - Plus/Pro: - `cx/gpt-5.2-codex` - `cx/gpt-5.1-codex-max` **Gemini CLI (`gc/`)** - PERCUMA: - `gc/gemini-3-flash-preview` - `gc/gemini-2.5-pro` **GitHub Copilot (`gh/`)**: - `gh/gpt-5` - `gh/claude-4.5-sonnet` **NVIDIA NIM (`nvidia/`)** - Kredit PERCUMA: - `nvidia/llama-3.3-70b-instruct` - `nvidia/mistral-7b-instruct` - 50+ lagi model di [build.nvidia.com](https://build.nvidia.com) **GLM (`glm/`)** - $0.6/1J: - `glm/glm-4.7` **MiniMax (`minimax/`)** - $0.2/1J: - `minimax/MiniMax-M2.1` **iFlow (`if/`)** - PERCUMA: - `if/kimi-k2-thinking` - `if/qwen3-coder-plus` - `if/deepseek-r1` - `if/glm-4.7` - `if/minimax-m2` **Qwen (`qw/`)** - PERCUMA: - `qw/qwen3-coder-plus` - `qw/qwen3-coder-flash` **Kiro (`kr/`)** - PERCUMA: - `kr/claude-sonnet-4.5` - `kr/claude-haiku-4.5` **OpenRouter (`or/`)** - 100+ model: - `or/anthropic/claude-4-sonnet` - `or/google/gemini-2.5-pro` - Mana-mana model daripada [openrouter.ai/models](https://openrouter.ai/models)
--- ## 🧪 Penilaian (Evals) OmniRoute termasuk rangka kerja penilaian terbina dalam untuk menguji kualiti tindak balas LLM terhadap set emas. Aksesnya melalui **Analytics → Evals** dalam papan pemuka. ### Set Emas Terbina dalam "Set Emas OmniRoute" pra-muat mengandungi 10 kes ujian yang meliputi: - Salam, matematik, geografi, penjanaan kod - Pematuhan format JSON, terjemahan, penurunan harga - Penolakan keselamatan (kandungan berbahaya), pengiraan, logik boolean ### Strategi Penilaian | Strategi | Penerangan | Contoh | | ---------- | --------------------------------------------------------------------- | -------------------------------- | | `exact` | Output mesti sepadan dengan tepat | `"4"` | | `contains` | Output mesti mengandungi subrentetan (tidak peka huruf besar-besaran) | `"Paris"` | | `regex` | Output mesti sepadan dengan corak regex | `"1.*2.*3"` | | `custom` | Fungsi JS tersuai mengembalikan benar/salah | `(output) => output.length > 10` | --- ## 🔐 OAuth em Servidor Remoto (Persediaan OAuth Jauh) > **⚠️ PENTING untuk biasa menggunakan OmniRoute em VPS/Docker/servidor remoto** ### Adakah OAuth melakukan Antigraviti / Gemini CLI tidak menggunakan perkhidmatan anda? Ia membuktikan **Antigraviti** dan **Gemini CLI** menggunakan **Google OAuth 2.0** untuk autenticação. O Google exige que a `redirect_uri` gunakan tiada fluks OAuth seja **exatamente** uma das URIs sebelum kadastrada tiada Google Cloud Console untuk aplicativo. Sebagai credenciais OAuth embutidas no OmniRoute estão cadastradas **apenas untuk `localhost`**. Quando você acessa o OmniRoute em um servidor remoto (cth: `https://omniroute.meuservidor.com`), o Google rejeita a autenticação com: ``` Error 400: redirect_uri_mismatch ``` ### Penyelesaian: Konfigurasikan suas próprias credenciais OAuth Você precisa criar um **OAuth 2.0 Client ID** no Google Cloud Console com a URI do seu servidor. #### Passo a passo **1. Akses ke Konsol Awan Google** Abra: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) **2. Crie um novo ID Pelanggan OAuth 2.0** - Klik em **"+ Cipta Bukti Kelayakan"** → **"ID klien OAuth"** - Tipo de aplicativo: **"Aplikasi web"** - Nama: escolha qualquer nome (cth: `OmniRoute Remote`) **3. Tambah sebagai URI Ubah Hala Dibenarkan** Tiada **"URI ubah hala yang dibenarkan"**, tambahan: ``` https://seu-servidor.com/callback ``` > Gantikan `seu-servidor.com` pelo domínio ou IP do seu servidor (termasuk porta se necessário, cth: `http://45.33.32.156:20128/callback`). **4. Simpan dan salin sebagai kredensia** Após criar, o Google mostrará o **ID Pelanggan** e o **Rahsia Pelanggan**. **5. Konfigurasikan sebagai variáveis de ambiente** No 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** Papan pemuka → Pembekal → Antigraviti (ou Gemini CLI) → OAuth Agora o Google redirectionará corretamente untuk `https://seu-servidor.com/callback` dan a autenticação funcionará. --- ### Penyelesaian sementara (sem configurar credenciais próprias) Jika anda ingin mendapatkan credenciais próprias agora, ada kemungkinan penggunaan atau fluks **manual de URL**: 1. OmniRoute abrirá a URL de authorização do Google 2. Após você authorizar, o Google tentará redirectionar para `localhost` (que falha no servidor remoto) 3. **Salin URL lengkap** pada penyemak imbas barra de endereço do seu (mesmo que a página não carregue) 4. Cole essa URL no campo que aparece no modal de conexão do OmniRoute 5. Klik em **"Sambung"** > Penyelesaian ini berfungsi sebagai kodigo de autorização na URL adalah bebas untuk mengubah hala mengikut arahan atau tidak. --- ## 🐛 Menyelesaikan masalah
Klik untuk mengembangkan panduan penyelesaian masalah **"Model bahasa tidak memberikan mesej"** - Kuota pembekal habis → Semak penjejak kuota papan pemuka - Penyelesaian: Gunakan sandaran kombo atau tukar kepada peringkat yang lebih murah **Penghadan kadar** - Kuota langganan habis → Sandar kepada GLM/MiniMax - Tambah kombo: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` **Token OAuth tamat tempoh** - Dikemas semula secara automatik oleh OmniRoute - Jika isu berterusan: Papan Pemuka → Pembekal → Sambung semula **Kos tinggi** - Semak statistik penggunaan dalam Papan Pemuka → Kos - Tukar model utama kepada GLM/MiniMax - Gunakan peringkat percuma (Gemini CLI, iFlow) untuk tugasan yang tidak kritikal **Papan pemuka dibuka pada port yang salah** - Tetapkan `PORT=20128` dan `NEXT_PUBLIC_BASE_URL=http://localhost:20128` **Ralat penyegerakan awan** - Sahkan `BASE_URL` mata pada contoh larian anda - Sahkan `CLOUD_URL` mata ke titik akhir awan anda yang dijangkakan - Pastikan nilai `NEXT_PUBLIC_*` sejajar dengan nilai sebelah pelayan **Log masuk pertama tidak berfungsi** - Semak `INITIAL_PASSWORD` dalam `.env` - Jika tidak ditetapkan, kata laluan sandaran ialah `123456` **Tiada log permintaan** - Tetapkan `ENABLE_REQUEST_LOGS=true` dalam `.env` **Ujian sambungan menunjukkan "Tidak sah" untuk pembekal yang serasi dengan OpenAI** - Banyak pembekal tidak mendedahkan titik akhir `/models` - OmniRoute v1.0.6+ termasuk pengesahan sandaran melalui pelengkapan sembang - Pastikan URL asas mengandungi akhiran `/v1`
--- ## 🛠️ Timbunan Teknologi - **Waktu Jalan**: Node.js 18–22 LTS (⚠️ Node.js 24+ **tidak disokong** — `better-sqlite3` binari asli tidak serasi) - **Bahasa**: TypeScript 5.9 — **100% TypeScript** merentas `src/` dan `open-sse/` (v1.0.6) - **Kerangka**: Next.js 16 + React 19 + Tailwind CSS 4 - **Pangkalan Data**: LowDB (JSON) + SQLite (keadaan domain + log proksi) - **Penstriman**: Acara Dihantar Pelayan (SSE) - **Auth**: OAuth 2.0 (PKCE) + JWT + Kunci API - **Ujian**: Pelari ujian Node.js (368+ ujian unit) - **CI/CD**: GitHub Actions (auto npm publish + Docker Hub pada keluaran) - **Laman web**: [omniroute.online](https://omniroute.online) - **Pakej**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) - **Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) - **Ketahanan**: Pemutus litar, mundur eksponen, kumpulan anti gemuruh, penipuan TLS --- ## 📖 Dokumentasi | Dokumen | Penerangan | | -------------------------------------------- | --------------------------------------------------- | | [User Guide](docs/USER_GUIDE.md) | Pembekal, kombo, penyepaduan CLI, penggunaan | | [API Reference](docs/API_REFERENCE.md) | Semua titik akhir dengan contoh | | [Troubleshooting](docs/TROUBLESHOOTING.md) | Masalah dan penyelesaian biasa | | [Architecture](docs/ARCHITECTURE.md) | Seni bina sistem dan dalaman | | [Contributing](CONTRIBUTING.md) | Persediaan pembangunan dan garis panduan | | [OpenAPI Spec](docs/openapi.yaml) | Spesifikasi OpenAPI 3.0 | | [Security Policy](SECURITY.md) | Pelaporan kerentanan dan amalan keselamatan | | [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Panduan lengkap: Persediaan VM + nginx + Cloudflare | | [Features Gallery](docs/FEATURES.md) | Lawatan papan pemuka visual dengan tangkapan skrin | ### 📸 Pratonton Papan Pemuka
Klik untuk melihat tangkapan skrin papan pemuka | Halaman | Tangkapan skrin | | ------------------ | ------------------------------------------------- | | **Pembekal** | ![Providers](docs/screenshots/01-providers.png) | | **Kombo** | ![Combos](docs/screenshots/02-combos.png) | | **Analisis** | ![Analytics](docs/screenshots/03-analytics.png) | | **Kesihatan** | ![Health](docs/screenshots/04-health.png) | | **Penterjemah** | ![Translator](docs/screenshots/05-translator.png) | | **Tetapan** | ![Settings](docs/screenshots/06-settings.png) | | **Alat CLI** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | | **Log Penggunaan** | ![Usage](docs/screenshots/08-usage.png) | | **Titik Akhir** | ![Endpoint](docs/screenshots/09-endpoint.png) |
--- ## 🗺️ Pelan Hala Tuju OmniRoute mempunyai **210+ ciri yang dirancang** merentas berbilang fasa pembangunan. Berikut adalah bidang utama: | Kategori | Ciri Terancang | Sorotan | | ------------------------------ | -------------- | ---------------------------------------------------------------------------------------------------- | | 🧠 **Penghalaan & Perisikan** | 25+ | Penghalaan kependaman terendah, penghalaan berasaskan teg, kuota prapenerbangan, pemilihan akaun P2C | | 🔒 **Keselamatan & Pematuhan** | 20+ | Pengerasan SSRF, penyelubungan kelayakan, had kadar setiap titik akhir, skop kunci pengurusan | | 📊 **Kebolehlihatan** | 15+ | Penyepaduan OpenTelemetry, pemantauan kuota masa nyata, penjejakan kos setiap model | | 🔄 **Integrasi Pembekal** | 20+ | Pendaftaran model dinamik, penyejukan pembekal, Codex berbilang akaun, penghuraian kuota Copilot | | ⚡ **Prestasi** | 15+ | Lapisan cache dwi, ​​cache gesaan, cache respons, penstriman keepalive, API kelompok | | 🌐 **Ekosistem** | 10+ | API WebSocket, konfigurasi hot-reload, kedai konfigurasi teragih, mod komersial | ### 🔜 Akan Datang - 🔗 **OpenCode Integration** — Sokongan pembekal asli untuk IDE pengekodan AI OpenCode - 🔗 **Pengintegrasian TRAE** — Sokongan penuh untuk rangka kerja pembangunan TRAE AI - 📦 **API Kelompok** — Pemprosesan kelompok tak segerak untuk permintaan pukal - 🎯 **Penghalaan Berasaskan Teg** — Permintaan laluan berdasarkan teg tersuai dan metadata - 💰 **Strategi Kos Terendah** — Pilih pembekal yang tersedia paling murah secara automatik > 📝 Spesifikasi ciri penuh tersedia dalam [**OMNI_TOKEN_147**](docs/new-features/) (217 spesifikasi terperinci) --- ## 📧 Sokongan > 💬 **Sertai komuniti kami!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Dapatkan bantuan, kongsi petua dan kekal kemas kini. - **Laman web**: [omniroute.online](https://omniroute.online) - **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) - **Isu**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) - **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) - **Projek Asal**: [9router by decolua](https://github.com/decolua/9router) --- ## 👥 Penyumbang [![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) ### Cara Menyumbang 1. Garpu repositori 2. Buat cawangan ciri anda (`git checkout -b feature/amazing-feature`) 3. Serahkan perubahan anda (`git commit -m 'Add amazing feature'`) 4. Tolak ke cawangan (`git push origin feature/amazing-feature`) 5. Buka Permintaan Tarik Lihat [CONTRIBUTING.md](CONTRIBUTING.md) untuk garis panduan terperinci. ### Mengeluarkan Versi Baharu ```bash # Create a release — npm publish happens automatically gh release create v1.0.6 --title "v1.0.6" --generate-notes ``` --- ## 📊 Sejarah Bintang Star History Chart --- ## 🙏 Ucapan terima kasih Terima kasih khas kepada **[9router](https://github.com/decolua/9router)** oleh **[decolua](https://github.com/decolua)** — projek asal yang mengilhamkan garpu ini. OmniRoute membina asas yang luar biasa itu dengan ciri tambahan, API berbilang modal dan penulisan semula TypeScript penuh. Terima kasih khas kepada **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — pelaksanaan Go asal yang mengilhamkan port JavaScript ini. --- ## 📄 Lesen Lesen MIT - lihat [LICENSE](LICENSE) untuk butiran. --- --- ## 🇧🇷 OmniRoute — Gateway de IA Gratuito ### Nunca pare de codar. Roteamento intelligente para **models de IA GRATUITOS e de baixo custo** com fallback automático. _Seu proksi universal de API — titik akhir, 36+ bukti, masa henti sifar._ ### 🌐 Internacionalização (i18n) Papan pemuka buat OmniRoute menyokong **multipplos idiomas**. Anda boleh membelinya: | Idioma | Código | Status | | --------------------- | ------- | ---------- | | 🇺🇸 Bahasa Inggeris | `en` | ✅ Lengkap | | 🇧🇷 Português (Brasil) | `pt-BR` | ✅ Lengkap | **Para trocar o idioma:** Clique no seletor de idioma (🇺🇸 EN) no header do dashboard → selecione o idioma desejado. **Para adicionar um novo idioma:** 1. Menangis `src/i18n/messages/{codigo}.json` baseado em `en.json` 2. Tambah código em `src/i18n/config.ts` → `LOCALES` e `LANGUAGES` 3. Reinicie o servidor ### ⚡ Início Rápido ```bash # Instalar via npm npx omniroute@latest # Ou rodar do código-fonte cp .env.example .env npm install PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev ``` ### 🐳 Docker ```bash docker run -d --name omniroute -p 20128:20128 diegosouzapw/omniroute:latest ``` ### 🔑 Funcionalidades Principais - **36+ bukti IA** — Claude, GPT, Gemini, Llama, Qwen, DeepSeek, dan lain-lain - **Roteamento intelligente** — Fallback automático entre provedores - **Tradução de formato** — OpenAI ↔ Claude ↔ Gemini automaticamente - **Multi-conta** — Múltiplas contas por provedor com seleção intelligente - **Cache semântico** — Reduz custos e latência - **OAuth automático** — Token renovam automaticamente - **Kombo personalizados** — 6 estratégias de roteamento - **Papan pemuka siap** — Pemantauan, log, analisis, konfigurasi - **Alat CLI** — Konfigurasikan Kod Claude, Codex, Kursor, Cline com um clique - **100% TypeScript** — Código limpo dan tipado ### 📖 Dokumentasi | Dokumentasi | Penerangan | | ----------------------------------------------- | -------------------------------------------- | | [Guia do Usuário](docs/USER_GUIDE.md) | Provedores, gabungan, CLI, gunakan | | [Referência da API](docs/API_REFERENCE.md) | Todos os endpoints com exemplos | | [Solução de Problemas](docs/TROUBLESHOOTING.md) | Masalah komun dan penyelesaian | | [Arquitetura](docs/ARCHITECTURE.md) | Arquitetura dan internos do sistema | | [Contribuição](CONTRIBUTING.md) | Persediaan desenvolvimento dan garis panduan | | [Deploy em VM](docs/VM_DEPLOYMENT_GUIDE.md) | Panduan lengkap: VM + nginx + Cloudflare | ### 📧 Sokongan > 💬 **Entre for a comunidade!** [Grupo WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Tire dúvidas, compartilhe dicas and fique atualizado. - **Laman web**: [omniroute.online](https://omniroute.online) - **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) - **Isu**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) ---
Dibina dengan ❤️ untuk pembangun yang kod 24/7
omniroute.online