# README (Bahasa Indonesia) 🌐 **Languages:** 🇺🇸 [English](../../../README.md) · 🇪🇹 [am](../am/README.md) · 🇸🇦 [ar](../ar/README.md) · 🇦🇿 [az](../az/README.md) · 🇧🇬 [bg](../bg/README.md) · 🇧🇩 [bn](../bn/README.md) · 🇧🇦 [bs](../bs/README.md) · 🇨🇿 [cs](../cs/README.md) · 🇩🇰 [da](../da/README.md) · 🇩🇪 [de](../de/README.md) · 🇬🇷 [el](../el/README.md) · 🇪🇸 [es](../es/README.md) · 🇪🇪 [et](../et/README.md) · 🇮🇷 [fa](../fa/README.md) · 🇫🇮 [fi](../fi/README.md) · 🇫🇷 [fr](../fr/README.md) · 🇮🇪 [ga](../ga/README.md) · 🇮🇳 [gu](../gu/README.md) · 🇳🇬 [ha](../ha/README.md) · 🇮🇱 [he](../he/README.md) · 🇮🇳 [hi](../hi/README.md) · 🇭🇷 [hr](../hr/README.md) · 🇭🇺 [hu](../hu/README.md) · 🇦🇲 [hy](../hy/README.md) · 🇳🇬 [ig](../ig/README.md) · 🇮🇹 [it](../it/README.md) · 🇯🇵 [ja](../ja/README.md) · 🇬🇪 [ka](../ka/README.md) · 🇰🇭 [km](../km/README.md) · 🇮🇳 [kn](../kn/README.md) · 🇰🇷 [ko](../ko/README.md) · 🇱🇹 [lt](../lt/README.md) · 🇱🇻 [lv](../lv/README.md) · 🇮🇳 [ml](../ml/README.md) · 🇮🇳 [mr](../mr/README.md) · 🇲🇾 [ms](../ms/README.md) · 🇲🇹 [mt](../mt/README.md) · 🇲🇲 [my](../my/README.md) · 🇳🇵 [ne](../ne/README.md) · 🇳🇱 [nl](../nl/README.md) · 🇳🇴 [no](../no/README.md) · 🇮🇳 [or](../or/README.md) · 🇮🇳 [pa](../pa/README.md) · 🇵🇭 [phi](../phi/README.md) · 🇵🇱 [pl](../pl/README.md) · 🇵🇹 [pt](../pt/README.md) · 🇧🇷 [pt-BR](../pt-BR/README.md) · 🇷🇴 [ro](../ro/README.md) · 🇷🇺 [ru](../ru/README.md) · 🇱🇰 [si](../si/README.md) · 🇸🇰 [sk](../sk/README.md) · 🇸🇮 [sl](../sl/README.md) · 🇷🇸 [sr](../sr/README.md) · 🇸🇪 [sv](../sv/README.md) · 🇰🇪 [sw](../sw/README.md) · 🇮🇳 [ta](../ta/README.md) · 🇮🇳 [te](../te/README.md) · 🇹🇭 [th](../th/README.md) · 🇹🇷 [tr](../tr/README.md) · 🇺🇦 [uk-UA](../uk-UA/README.md) · 🇵🇰 [ur](../ur/README.md) · 🇺🇿 [uz](../uz/README.md) · 🇻🇳 [vi](../vi/README.md) · 🇳🇬 [yo](../yo/README.md) · 🇨🇳 [zh-CN](../zh-CN/README.md) · 🇹🇼 [zh-TW](../zh-TW/README.md) ---
Dasbor OmniRoute

# 🚀 OmniRoute — Gateway AI Gratis OmniRoute — Jangan pernah berhenti membuat kode. Setiap alat AI → 375 penyedia — 150+ gratis — melalui satu endpoint. Hubungkan Claude Code, Codex, Cursor, Cline, Copilot & Antigravity ke Claude / GPT / Gemini GRATIS dengan fallback otomatis. Kompresi bertumpuk RTK + Caveman menghemat 15–95% token (rata-rata ~89%) — jangan pernah mencapai batas. 375 penyedia AI · 150+ paket gratis · ~1,62 miliar token gratis/bulan · 20 strategi perutean · Mulai dari $0.
## 💰 ~1.62B Token / Bulan di Seluruh Tier Gratis Pihak Ketiga
> **Bawa akun penyedia Anda sendiri.** Ini adalah perkiraan agregat dari tier gratis pihak ketiga yang memenuhi syarat secara terpisah, bukan hibah token dari OmniRoute. Daftar, dapatkan kredensial jika diperlukan, dan hubungkan penyedia yang dapat Anda gunakan; setiap penyedia mengendalikan batas, ketersediaan, dan ketentuannya. > > Menumpuk tier gratis secara manual itu menyakitkan — puluhan SDK, puluhan batas laju, dan tidak tahu berapa banyak yang sebenarnya Anda miliki. OmniRoute mengatalogkan **467 entri tier gratis di 34 kunci pool berulang** dan menghitung angka utama token dari **17 pool dengan anggaran bulanan positif yang dipublikasikan ditambah lima batas per-model Groq**, dideduplikasi berdasarkan pool bersama. Kuota yang hanya terbuka setelah pemeriksaan identitas regional (saat ini: ModelScope) ditampilkan terpisah, +~6M di balik verifikasi identitas regional, dan tidak pernah dijumlahkan ke angka utama. Hasilnya tetap terlihat di dasbor (`/dashboard/free-tiers`). Kartu anggaran tier gratis OmniRoute: ~1.62B token gratis per bulan secara stabil, hingga ~2.22B pada bulan pertama dengan kredit pendaftaran, dari 34 kunci pool berulang yang terdokumentasi yang mencakup 467 entri tier gratis terkatalog di balik satu endpoint. Perhitungan jujur yang dideduplikasi per pool — setiap pool bersama dihitung sekali, termasuk 17 pool berulang dengan anggaran token bulanan positif yang dipublikasikan ditambah lima batas per-model Groq; 12 penyedia ditandai hindari di katalog risiko ketentuan sehingga Anda yang memutuskan. Bilah anggaran mencakup Mistral 1B, Nara 210M, LLM7 150M, xKiro 150M, Groq 30M (lima batas per-model) dan pool yang lebih kecil, ditambah kredit pendaftaran bulan pertama dan penyedia gratis permanen tanpa batas token yang ditampilkan terpisah agar tidak pernah menggelembungkan angka utama. Penggunaan/sisa langsung di /dashboard/free-tiers. > Ringkasan animasi halaman `/dashboard/free-tiers` langsung. Metodologi lengkap (dedupe pool, tier kredit, ketentuan penyedia): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**. > > Angka-angka ini diaudit ulang setiap dua minggu terhadap katalog langsung dan **bergerak ke dua arah** — penyedia mengakhiri tier gratis dan angkanya turun; penyedia baru muncul dan angkanya naik. Kami menerbitkan apa yang benar-benar dihitung katalog, bukan skenario terbaik yang dibulatkan ke atas.

⭐ Beri bintang pada repo jika OMNIROUTE membantu Anda menghemat uang dan mempermudah pekerjaan.

[![Stars](https://img.shields.io/github/stars/diegosouzapw/OmniRoute?style=social)](https://github.com/diegosouzapw/OmniRoute) diegosouzapw%2FOmniRoute | Trendshift [![Star History Rank](https://api.star-history.com/badge?repo=diegosouzapw/OmniRoute&theme=dark)](https://www.star-history.com/diegosouzapw/omniroute) [![olud.ai](https://olud.ai/badge.php?tool=diegosouzapw-omniroute)](https://olud.ai/project/diegosouzapw-omniroute.html) ### 💬 Bergabunglah dengan komunitas **👋 Ikuti maintainer — dapatkan penyedia baru, rilis & tips lebih dulu:** [![Ikuti Diego di LinkedIn](https://img.shields.io/badge/Follow_Diego_on-LinkedIn-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/diegosouzapw/) [![Ikuti @diegosouzapw di GitHub](https://img.shields.io/github/followers/diegosouzapw?style=for-the-badge&logo=github&logoColor=white&label=Follow%20on%20GitHub&color=181717)](https://github.com/diegosouzapw) [![Discord](https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/U47eFqAXCn) [![Telegram](https://img.shields.io/badge/Telegram-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/omnirouteOficial) [![WhatsApp Global](https://img.shields.io/badge/WhatsApp_Global-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) [![WhatsApp Brasil](https://img.shields.io/badge/WhatsApp_Brasil-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) [![Situs Web](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) **Pertanyaan, tips penyedia, roadmap & dukungan → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Global](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brasil](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [Portal](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 Gateway Terus Berkembang
| | v3.8.50 | **v3.8.51** | `v3.8.53+` | | -------------------------- | :---------------------: | :---------: | :-------------------: | | 🌐 Penyedia | 352 | **358** | 375 | | 🧠 ID model chat unik | 1320 | **1374** | 1475 | | 🖼️ Jembatan Modalitas | 🆕 visi + audio + video | ✓ | ✓ | | 📡 Katalog gratis Radar | 🆕 opt-in | ✓ | ✓ | | ⚖️ Penjadwalan sadar kuota | 🆕 Quota-Share | ✓ | ✓ | | 📊 Telemetri kuota | 🆕 langsung | ✓ | ✓ | | 🧰 Mode headless | — | — | 🆕 `serve --headless` | | 🛤️ Infrastruktur rel LTS | — | — | 🆕 kanal rilis | | 🔎 API penemuan model | — | — | 🆕 `/v1/models/query` | **→ [Peta Jalan](ROADMAP.md) — menyusuri rel menuju `v3.9.0 LTS`**

## 🧩 Tersedia [![versi npm](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) ![NPM Bulanan](https://img.shields.io/npm/dm/omniroute?label=npm/month&color=cb3837&logo=npm) [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) [![Lisensi: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](LICENSE) ![Penarikan Docker](https://img.shields.io/docker/pulls/diegosouzapw/omniroute?label=docker%20pulls&logo=docker&color=2496ED) ![Unduhan Electron](https://img.shields.io/github/downloads/diegosouzapw/omniroute/total?style=flat&label=electron%20downloads&logo=electron&color=47848F)
🚀 Mulai 🚀 Mulai Cepat 📦 Instalasi 🆓 Hubungkan penyedia
💡 Pelajari 💥 Janji Kami 🤔 Mengapa OmniRoute 🏆 Keunggulan Utama
⚙️ Fitur 🎯 Kombinasi 🌐 Penyedia 🔌 CLI & MCP
🗜️ Kompresi 🖥️ Tempat Menjalankannya 🔒 Privat
👀 Lihat 🎬 Dalam Aksi ✨ Yang Baru 🤖 CLI yang Kompatibel
💚 Dukungan 💚 Dukung / Donasi 💬 Komunitas 💖 Sponsor
📦 Proyek 🛠️ Tumpukan Teknologi 📖 Dokumentasi 👥 Kontributor
🌐 Dalam 67 bahasa

Bahasa Inggris (en) Português — Brasil (pt-BR) Português (pt) Español (es) Français (fr) Italiano (it) Deutsch (de) Nederlands (nl) Русский (ru) Українська (uk-UA) Polski (pl) Čeština (cs) Slovenčina (sk) Română (ro) Magyar (hu) Български (bg) Dansk (da) Suomi (fi) Norsk (no) Svenska (sv) 中文 — 简体 (zh-CN) 中文 — 繁體 (zh-TW) 日本語 (ja) 한국어 (ko) ไทย (th) Tiếng Việt (vi) Bahasa Indonesia (id) Bahasa Melayu (ms) Filipino (phi) हिन्दी (hi) ગુજરાતી (gu) मराठी (mr) தமிழ் (ta) తెలుగు (te) বাংলা (bn) اردو (ur) فارسی (fa) العربية (ar) עברית (he) Türkçe (tr) Azərbaycan (az) Kiswahili (sw) Ελληνικά (el) Hrvatski (hr) Српски (sr) Lietuvių (lt) Eesti (et) Latviešu (lv) Slovenščina (sl) Malti (mt) Gaeilge (ga) ಕನ್ನಡ (kn) മലയാളം (ml) ଓଡ଼ିଆ (or) ਪੰਜਾਬੀ (pa) नेपाली (ne) සිංහල (si) မြန်မာ (my) ខ្មែរ (km) Hausa (ha) Yorùbá (yo) Igbo (ig) አማርኛ (am) Oʻzbekcha (uz) ქართული (ka) Հայերեն (hy) Bosanski (bs)


## 🆓 Instal, hubungkan penyedia, lalu rutekan melalui satu endpoint
Tiga langkah: instal dan jalankan OmniRoute, hubungkan penyedia yang memenuhi syarat dengan akun atau kunci API Anda sendiri, lalu arahkan alat Anda ke localhost:20128/v1 menggunakan kunci API OmniRoute dan model auto. Perutean bergantung pada koneksi memenuhi syarat yang tersedia dan batas penyedia. ```bash # Setelah menghubungkan penyedia, salin kunci OmniRoute Anda dari Dashboard → Endpoints: curl http://localhost:20128/v1/chat/completions \ -H "Authorization: Bearer YOUR_OMNIROUTE_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}' ``` `auto` memerlukan rute yang memenuhi syarat. Instalasi baru bisa saja tidak memiliki target tanpa kunci yang memenuhi syarat, dan penyedia tanpa kunci mungkin menolak klien pihak ketiga. Penyedia yang ditandai `tos: avoid`, termasuk Kiro, dikecualikan dari perutean otomatis secara default; menghubungkan akun tidak menimpa pengaturan tersebut. Lihat [Panduan Tingkat Gratis](docs/getting-started/FREE-TIERS-GUIDE.md) sebelum memilih penyedia. 📦 Skrip mulai cepat siap salin-tempel untuk **Python, Node.js, PHP, dan cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Janji
Janji — Satu endpoint dan 375 penyedia. Fallback otomatis tetap merutekan selama target sehat lain tersedia. Enam pilar: fallback tangguh di 375 penyedia · penghematan token hingga 95% pada beban kerja yang memenuhi syarat · $0 untuk memulai dengan 150+ tingkat gratis dan 51 penyedia gratis selamanya berulang/tanpa kunci · 37 integrasi CLI/agen melalui satu konfigurasi · kompatibilitas OpenAI, Claude, Gemini, dan Responses API di /v1 · kontrol produksi termasuk circuit breaker, TLS stealth, 110 alat MCP, A2A, memori, guardrail, eval, dan 56.000+ deklarasi pengujian statis di 7.800+ file pengujian yang dilacak.

# 🤔 Mengapa OmniRoute?
Mengapa OmniRoute — berhenti mengelola 10 dasbor, kunci API mati, dan tagihan tak terduga. Sepuluh masalah harian vs perbaikannya: kuota kedaluwarsa tanpa terpakai → maksimalkan langganan; batas laju saat menulis kode → fallback otomatis 4 tingkat (Langganan → API → Murah → Gratis); keluaran alat membakar token → kompresi RTK + Caveman (15–95%); API mahal → perutean yang dioptimalkan biaya; setiap alat punya penyiapan sendiri → satu endpoint, satu dasbor; AI diblokir → proxy 3 tingkat + TLS stealth; kunci mati → ketahanan 3 lapis (circuit breaker, cooldown kunci, penguncian model); tim berbagi satu langganan → kumpulan kunci dengan kuota pembagian adil; prompt melalui cloud orang lain → local-first dengan kunci terenkripsi AES-256-GCM; tidak ada visibilitas pengeluaran → analitik langsung (penggunaan, kuota, penghematan, latensi p95).
Alur permintaan OmniRoute: IDE atau CLI Anda (Claude Code, Cursor, Cline…) memanggil satu endpoint lokal (http://localhost:20128/v1); OmniRoute Smart Router (kompresi RTK + Caveman, 20 strategi perutean, circuit breaker, TLS stealth, MCP, A2A, guardrail) dapat melakukan fallback di 4 tingkat penyedia selama target sehat yang memenuhi syarat masih tersedia — Tingkat 1 Langganan, Tingkat 2 Kunci API, Tingkat 3 Murah, dan Tingkat 4 Gratis.

## 🤝 Didukung oleh Teman-teman Sumber Terbuka Kami

Kimi K3 — Open Frontier Intelligence · 2.8T parameter · Konteks 1M-token

> **Ingin bergabung sebagai Teman Sumber Terbuka?** Ini adalah perusahaan-perusahaan yang mendukung sumber terbuka dan membantu OmniRoute terus bergerak — dan kami menyatakan secara publik ke mana setiap token yang mereka berikan kepada kami. Hubungi: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi (Moonshot AI)
Kimi
Moonshot AI

Teman Sumber Terbuka Pendiri
Terima kasih kepada Kimi (Moonshot AI), Teman Sumber Terbuka pendiri kami, karena mendukung proyek ini! Kimi adalah lab AI di balik keluarga model K2 dan K3 dengan bobot terbuka — Kimi K3 menghadirkan jendela konteks 1M-token, visi asli, dan pengkodean tingkat perbatasan dengan harga yang lebih murah dari model tertutup, dan berfungsi langsung dengan Claude Code, Codex, dan setiap alat pengkodean yang dilayani OmniRoute.

Apa yang didukung oleh dukungan Kimi: Kredit API Kimi mendukung pipeline rilis yang divalidasi AI OmniRoute — tahap validasi gabungan yang didukung oleh Kimi K3 yang meninjau setiap permintaan tarik sebelum dikirim — ditambah pengembangan fitur sehari-hari. Dukungan Kimi kelas satu dikirimkan pada kedua jalur: API Kimi langsung (kimi-k3) dan paket pengkodean Kimi Code (OAuth dan kunci API). OmniRoute juga merupakan proyek sumber terbuka Brasil pertama dalam program dukungan Kimi. Dapatkan kunci API Kimi dengan tambahan 15% kredit →
Cheaper Inference
Cheaper Inference
cheaperinference.com

Teman Sumber Terbuka
Terima kasih kepada Cheaper Inference, Teman Sumber Terbuka OmniRoute, karena mendukung proyek ini! Cheaper Inference adalah gateway berperingkat biaya yang menjual kembali 42 model perbatasan — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok, dan MiniMax — di balik satu titik akhir yang kompatibel dengan OpenAI, merutekan setiap permintaan ke penyedia yang memenuhi syarat termurah tanpa pernah mengenakan biaya di atas harga daftar pembuat model.

Dukungan kelas satu di OmniRoute: Chat Completions, titik akhir /v1/responses asli, visi, panggilan alat, dan 3 model gambar (grok-imagine, nano-banana-pro, nano-banana-2, dapat dijangkau sebagai cheaperinference/<model>). Dapatkan kunci API →
Tautan yang ditandai aff=omniroute adalah tautan mitra. Mereka mendanai proyek tanpa biaya tambahan untuk Anda.
🎟️ Promo Afiliasi — kupon pendaftaran gratis dari penyedia yang tidak kami sponsori (klik untuk memperluas) Bagian ini hanya untuk kode rujukan/kupon. Kemitraan yang disponsori ada di 🤝 Didukung oleh Teman-teman Sumber Terbuka Kami di atas. OmniRoute tidak memiliki sponsor atau kemitraan dengan penyedia yang tercantum di sini — ini adalah kupon publik yang dapat digunakan siapa saja.
AgentRouter
AgentRouter
agentrouter.org
AgentRouter — pendaftaran afiliasi · $100 kredit gratis saat mendaftar (server gratis, harapkan latensi lebih tinggi — terbaik untuk pengujian, bukan produksi). Dukungan kelas satu di OmniRoute sejak v3.8.50: Chat Completions, format kabel yang kompatibel dengan Anthropic, dan jalur yang kompatibel dengan OpenAI. Model yang tersedia termasuk claude-opus-4-8, claude-opus-5, gpt-5.6-sol, dan lainnya. Ambil $100 Anda →

⚠️ Tautan afiliasi — OmniRoute tidak memiliki sponsor atau kemitraan dengan penyedia ini.
Tahu penyedia lain dengan kupon pendaftaran gratis yang murah hati yang menguntungkan pengguna OmniRoute? Buka masalah dan kami akan menambahkannya di sini.

## 🎯 Combo — Fitur Unggulan
Contoh animasi untuk 18 dari 20 strategi perutean combo — satu petak per strategi: priority, fill-first, weighted, round-robin, p2c, least-used, random, strict-random, cost-optimized, headroom, reset-window, reset-aware, context-relay, context-optimized, lkgp, auto, fusion, pipeline. cache-optimized dan quota-weighted tidak dianimasikan; tabel di bawah menjelaskan seluruh 20 strategi. > **Combo** adalah rangkaian model yang dirutekan OmniRoute secara **otomatis**. Jika kuota habis, penyedia gagal, atau biaya melonjak, combo dapat berpindah ke model sehat berikutnya yang memenuhi syarat. 🛡️ ### ⚡ Tanpa konfigurasi — cukup gunakan `auto` Tidak perlu membuat combo. Atur model Anda ke `auto` (atau salah satu variannya), lalu OmniRoute akan membuat combo virtual dari penyedia yang Anda hubungkan, dengan penilaian langsung:
ID ModelHal yang dioptimalkan
auto🎯 Default seimbang (LKGP — tetap menggunakan penyedia terakhir Anda yang berfungsi baik)
auto/coding🧑💻 Bobot yang mengutamakan kualitas untuk pembuatan kode
auto/fast⚡ Latensi terendah terlebih dahulu
auto/cheap💰 Biaya termurah per token terlebih dahulu
auto/subscription🎟️ Hanya kuota langganan yang sudah Anda bayar — gagal secara tertutup, tanpa pernah beralih ke opsi cadangan berbayar (panduan)
auto/thrifty🪜 Kuota paket terlebih dahulu, lalu naik satu tingkat demi satu tingkat ke opsi berbayar termurah — kembali ke paket setelah kuotanya direset (panduan)
auto/offline🔋 Ruang tersisa kuota / batas laju terbanyak terlebih dahulu
auto/smart🔭 Mengutamakan kualitas + eksplorasi 10% untuk menemukan model yang lebih baik
auto/lkgp📌 Afinitas eksplisit ke penyedia terakhir yang diketahui berfungsi baik
auto/chaos🧪 Penyebaran paralel ke panel model (satu per penyedia, 5 secara default), menghasilkan satu jawaban; satu panggilan upstream per model panel, bukan injeksi kegagalan
## ### 🔀 Atau buat sendiri — 20 strategi perutean Seluruh **20** strategi — padukan sesuai kebutuhan pada setiap langkah combo:
# Strategi Fungsinya
1 priority Daftar berurutan yang mengutamakan target pertama — habiskan setiap target sebelum beralih ke berikutnya 🥇
2 fill-first Gunakan kuota setiap target sepenuhnya sebelum beralih
3 weighted Pemilihan acak berbobot berdasarkan bobot tiap target
4 round-robin Gilir target secara berurutan
5 p2c Penyeimbangan beban acak dengan metode pilihan dua opsi
6 least-used Pilih target dengan beban saat ini yang paling rendah
7 random Pemilihan acak seragam (dengan penghapusan duplikat)
8 strict-random Pemilihan acak tanpa menghapus pengulangan 🎲
9 cost-optimized Minimalkan biaya $ per permintaan berdasarkan harga katalog langsung 💸
10 headroom Pilih target dengan sisa kuota terbanyak
11 quota-weighted Lewati akun yang kuotanya habis, lalu pilih secara proporsional berdasarkan sisa kuota ÷ beban yang sedang diproses — percakapan yang sudah ada tetap ditetapkan ke targetnya ⚖️
12 reset-window Utamakan target dengan periode kuota yang paling cepat direset
13 reset-aware Urutkan berdasarkan waktu reset kuota — periode pendek terlebih dahulu 📊
14 context-relay Alihkan konteks antar-target untuk percakapan panjang 🧠
15 context-optimized Pilih target yang paling sesuai dengan ukuran konteks saat ini
16 cache-optimized Tetapkan setiap prefiks prompt yang dapat digunakan kembali ke akun yang sama — maksimalkan hit cache prompt 🎯
17 lkgp Jalur Terakhir yang Diketahui Berfungsi Baik — tetap menggunakan penyedia terakhir yang berhasil, lalu beralih ke aturan cadangan
18 auto Penilaian langsung dengan 16 faktor di seluruh koneksi 🤖
19 fusion Sebarkan permintaan ke panel model + satu penilai menyintesis satu jawaban 🧬
20 pipeline Rangkaikan langkah — output setiap target menjadi input bagi target berikutnya 🔗
Mesin Auto-Combo menilai setiap kandidat berdasarkan **16 faktor** (kesehatan, kuota, biaya, latensi, kecocokan tugas, kualitas, ketersediaan sesi…) — lihat [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md). ## ### 🧱 Ketahanan sudah terintegrasi (3 lapisan independen) Ketahanan OmniRoute — 3 lapisan pemulihan mandiri yang independen, lapisan yang tepat untuk kegagalan yang tepat. Lapisan 1 pemutus sirkuit penyedia (seluruh penyedia): terpicu hanya pada 408/5xx, ambang batas OAuth 8× / kunci API 12× / lokal 2×, direset setelah 60 dtk/30 dtk/15 dtk menjadi pemeriksaan HALF-OPEN, pemulihan malas; saat OPEN, combo mengalihkan permintaan ke penyedia berikutnya. Lapisan 2 masa tunggu koneksi (satu kunci/akun): dasar 5 dtk untuk OAuth / 3 dtk untuk kunci API, backoff eksponensial ×2 dengan perlindungan anti-thundering-herd, 429 mematuhi Retry-After, keberhasilan menghapus semua status kesalahan; satu kunci yang sedang dalam masa tunggu akan dilewati sementara kunci lainnya tetap melayani. Lapisan 3 penguncian model (satu model): 429 per model, 404 lokal, atau penolakan mode hanya mengunci model tersebut — tidak pernah seluruh koneksi. Status terminal (diblokir, kedaluwarsa, kredit habis) ditujukan bagi operator, bukan untuk masa tunggu. 📖 [Mesin Auto-Combo](docs/routing/AUTO-COMBO.md) · [Panduan Ketahanan](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Hal yang Membedakan OmniRoute
Hal yang membedakan OmniRoute — cuplikan fitur bertanggal dibandingkan dengan 9router, OpenRouter, CLIProxyAPI, dan LiteLLM dalam 13 kapabilitas. OmniRoute: 375 penyedia, lebih dari 150 tingkat gratis bawaan, 20 strategi perutean, kompresi token dengan 12 mesin, server MCP bawaan dengan 110 alat, protokol agen A2A, memori persisten, batasan pengaman, agen cloud, penyamaran sidik jari TLS, Desktop/Termux/PWA, dan 67 lokal UI i18n. OmniRoute berlisensi MIT dan dapat di-hosting sendiri. Kapabilitas dan jumlah milik pesaing dapat berubah; lihat metodologi yang ditautkan. 📊 Metodologi lengkap & detail per fitur dibandingkan dengan 9router, OpenRouter, CLIProxyAPI & LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Dukung OmniRoute OmniRoute berlisensi MIT dan dipelihara secara terbuka. Jika proyek ini menghemat waktu atau uang Anda, berikut cara untuk menjaganya tetap independen — pilih apa pun yang sesuai bagi Anda. Sponsor tidak pernah memengaruhi prioritas perutean; sponsor memberikan visibilitas, bukan peringkat.
⭐ Beri bintang pada repositoriGratis — benar-benar membantu visibilitasBeri bintang pada OmniRoute
🐙 GitHub SponsorsSekali bayar atau bulanan · tanpa biaya platformgithub.com/sponsors/diegosouzapw
☕ Ko-fiTip sekali bayar dengan cepat, donatur tidak perlu mendaftarko-fi.com/diegosouzapw
🧋 Buy Me a CoffeeDukungan kecil dan informalbuymeacoffee.com/diegosouzapw
🖐 LiberapayBerulang · nirlaba · sumber terbukaliberapay.com/diegosouzapw
🇧🇷 PIX (Brasil)Instan, tanpa biayakunci & QR di bawah
₿ KriptoBTC · ETH · USDT-TRC20 · USDC-Solanaalamat di bawah
**🇧🇷 PIX** — instan, tanpa biaya (Brasil) Kode QR PIX OmniRoute Kunci (acak): `5d865059-bc44-483a-962d-43ceb80126eb` Pix salin-tempel: ``` 00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD ```
₿ Kripto — BTC · ETH · USDT-TRC20 · USDC-Solana (klik untuk memperluas)
₿ BTCBitcoin (SegWit)bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETHEthereum (ERC20)0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDTTron (TRC20)TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDCSolana2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ Kirim setiap koin hanya melalui jaringan yang ditampilkan — pengiriman melalui jaringan yang salah dapat menyebabkan dana hilang.
🐛 Menemukan bug atau memiliki masukan? Buka [Diskusi](https://github.com/diegosouzapw/OmniRoute/discussions).

Catatan pengembang: Proyek ini dapat menghasilkan file .env lokal selama npm install/postinstall untuk memudahkan pengembang. File ini sengaja diabaikan melalui .gitignore (lihat .gitignore) dan tidak boleh pernah di-commit — jika tidak sengaja di-commit, rotasi semua rahasia yang terekspos dan hapus file tersebut dari riwayat. Lihat docs/DEVELOPER-ENVIRONMENT.md untuk panduan tentang pengelolaan file lingkungan lokal dan rahasia.

## 📡 Radar OmniRoute Sorotan utama tingkat gratis tetap **~1,62 miliar token/bulan** dari katalog yang terdokumentasi dan telah dideduplikasi berdasarkan kumpulan di atas. Kredit pendaftaran penyedia yang bersifat sementara dapat secara terpisah meningkatkan jumlah pada bulan pertama menjadi **~2,22 miliar**. Radar adalah overlay katalog bertanda tangan yang bersifat opsional bagi pengguna yang menginginkan informasi ketersediaan model gratis yang lebih mutakhir di antara rilis OmniRoute; katalog komunitas dan setiap fitur gratis yang sudah ada tetap gratis. Pendukung dapat menerima katalog langsung dan peluang tambahan dari penyedia. Batas atasnya yang terpisah dan dapat berubah adalah **maksimal sekitar 3 miliar token/bulan**, bergantung pada ketersediaan penyedia. Batas atas tersebut bukan jaminan: penyedia dapat mengubah kuota, kelayakan, model, atau wilayah kapan saja. Radar bersifat pilihan dan hanya menggunakan GET. Klien OmniRoute tidak mengunggah prompt, lalu lintas, konfigurasi penyedia, telemetri penggunaan, atau status lokal penutupan pengumuman. Pelajari kelayakan dan katalog terkini di **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Yang Baru
> Sorotan terbaru dari **v3.8.20 → v3.8.53**. Riwayat lengkap tersedia di [`CHANGELOG.md`](CHANGELOG.md). - **⚖️ Perutean `quota-weighted`** — strategi kombo ke-20 melewati akun yang kuotanya telah habis, lalu memilih di antara akun lainnya secara proporsional berdasarkan sisa kuota ÷ beban yang sedang berjalan, sembari mempertahankan percakapan yang ada agar tetap disematkan. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **🧰 Mode headless** — `omniroute serve --headless` (atau `OMNIROUTE_HEADLESS=1`) hanya menjalankan mesin proksi `/v1/*`, dengan dasbor dan subsistem khusus dasbor dinonaktifkan. → [Mode Headless](docs/guides/HEADLESS.md) - **🔎 Penemuan model** — `/v1/models` memfilter berdasarkan kapabilitas, konteks, jenis, dan teks, sementara `POST /v1/models/query` mengembalikan daftar pendek deterministik dengan visibilitas per kunci yang sama. → [Referensi API](docs/reference/API_REFERENCE.md) - **🔑 Kontrol perutean per kunci** — sematkan kunci API ke satu model atau kombo dengan `forcedModel`, serta tambahkan atau hapus model dan kombo milik suatu kunci secara atomik (`/api/keys/{id}/access`). → [Referensi API](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml) - **🛡️ Kontrol PII yang lebih terperinci** — pemilihan per jenis, hingga 20 pola penyamaran khusus yang tervalidasi, serta penghitung deteksi per jenis; penyamaran itu sendiri tetap bersifat opsional. → [Pagar Pengaman](docs/security/GUARDRAILS.md) - **🌍 67 bahasa** — dasbor, mirror dokumentasi, dan CLI, dengan `npm run i18n:add-locale` untuk menambahkan bahasa di seluruh bagian hanya dengan satu perintah. → [Panduan i18n](docs/guides/I18N.md) - **🎛️ OmniConductor** — delegasi A2A masuk ke armada agen Anda, keterampilan Conductor pada Kartu Agen, serta panel dasbor dengan obrolan suara tekan-untuk-bicara Faro. → [Server A2A](docs/frameworks/A2A-SERVER.md) - **🛂 Penerimaan adaptif & perlindungan beban berlebih** — permintaan obrolan berat masuk antrean alih-alih menghasilkan 503, dengan sewa bergulir RPM atomik per koneksi. → [Panduan Ketahanan](docs/architecture/RESILIENCE_GUIDE.md) - **🗂️ Pengurutan `/v1/models` kanonis** — satu blok berurutan yang dikelompokkan berdasarkan penyedia untuk setiap penyedia (kombo disematkan terlebih dahulu), stabil di semua sumber katalog. → [Referensi API](docs/reference/API_REFERENCE.md) - **🗜️ Penguatan kompresi** — perlindungan inflasi yang aktif secara default, paket Caveman untuk DE / FR / JA + bahasa Tionghoa (wényán), filter RTK untuk Gradle & .NET. → [Kompresi](docs/compression/COMPRESSION_ENGINES.md) - **💸 Biaya tarif tetap yang transparan** — penyedia berbasis langganan / paket coding menampilkan biaya **$0** dalam analitik biaya; anggaran, kuota & perutean tetap melakukan estimasi. → [Referensi API](docs/reference/API_REFERENCE.md) - **⚖️ Perutean Quota-Share** — membagi kuota akun bersama secara adil di antara kunci yang dihimpun, dengan sifat work-conserving sehingga bagian yang menganggur dipinjamkan. → [Panduan Ketahanan](docs/architecture/RESILIENCE_GUIDE.md) - **🤖 Penyiapan CLI/agen dengan satu perintah** — 15 perintah `setup-*` terdaftar; `omniroute run` meluncurkan 7 CLI (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` mendukung 11 target dengan pemilih penyedia+model interaktif dan favorit per konteks. → [Integrasi CLI](docs/guides/CLI-INTEGRATIONS.md) - **🛰️ Mode jarak jauh** — kendalikan OmniRoute jarak jauh dengan token bercakupan (`connect` / `contexts` / `tokens`) + pembantu OAuth `antigravity` untuk instalasi VPS. → [Mode Jarak Jauh](docs/guides/REMOTE-MODE.md) - **🧭 Perutean otomatis yang lebih cerdas** — kombo `auto/:`, **Fusion** (panel model + juri), perutean berbasis tugas, serta penggantian model / mode / anggaran USD per permintaan. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **🗜️ Kompresi yang dapat dipasang** — 12 mesin yang dapat dikomposisikan + Compression Studios: LLMLingua-2, Ultra dua tingkat, omniglyph, gerbang fidelitas per langkah, GCF v3.2, editor pengurutan ulang dengan seret. → [Kompresi](docs/compression/COMPRESSION_ENGINES.md) - **🕵️ Dekripsi MITM transparan (TPROXY)** — menangkap CLI yang mengabaikan variabel lingkungan proksi, dengan CA per SNI + penginstal penyimpanan kepercayaan. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md) - **💸 Telemetri biaya di mana saja** — header biaya/penggunaan `X-OmniRoute-*` pada setiap endpoint, header penghematan cache-HIT, kuota pengeluaran USD per kunci. → [Referensi API](docs/reference/API_REFERENCE.md) - **🧠 Memori yang Anda kendalikan** — nonaktif secara default, kuantisasi vektor int8 + peluruhan bertipe yang dapat diaktifkan, serta `x-omniroute-no-memory` per permintaan. → [Memori](docs/frameworks/MEMORY.md) - **🛡️ Keamanan** — perlindungan injeksi prompt pada setiap rute LLM (rangkaian pengujian red-team), pagar pengaman penyamaran kredensial yang dapat diaktifkan (menyunting kunci API/rahasia yang bocor dalam kedua arah), pencarian web DuckDuckGo gratis sebagai pilihan terakhir, dan gerbang login OIDC opsional untuk dasbor (login dengan kata sandi selalu tetap tersedia). → [Pagar Pengaman](docs/security/GUARDRAILS.md) - **🖼️ Endpoint baru** — `/v1/ocr` (Mistral OCR) dan `/v1/audio/translations` (bergaya Whisper) melengkapi cakupan media. → [Referensi API](docs/reference/API_REFERENCE.md) - **🎨 Pembuatan gambar / video / audio** — satu API untuk media: video xAI Grok Imagine & Novita AI, ComfyUI, Magnific, Adobe Firefly, Segmind, serta penyedia suara seperti ElevenLabs. → [Referensi API](docs/reference/API_REFERENCE.md) - **🌍 Deployment & operasi** — `basePath` proksi terbalik, deteksi otomatis bahasa browser, pelacakan perangkat per kunci, kepercayaan MITM tanpa root, lokalisasi zh-TW. → [Lingkungan](docs/reference/ENVIRONMENT.md) - **🤝 Lebih banyak penyedia & agen** — agen cloud (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) dengan login browser + OAuth, kartu kelas utama Ollama, Claude Opus 5 & Sonnet 5, kemitraan resmi Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… serta **katalog 375 penyedia** yang diperbarui. → [Penyedia](docs/reference/PROVIDER_REFERENCE.md) - **📡 Transparansi perutean** — setiap respons membawa header `X-OmniRoute-Decision` yang menyebutkan strategi/penyedia/latensi yang melayaninya, strategi kombo `cache-optimized` baru + faktor `cacheAffinity` Auto-Combo mengarahkan permintaan berulang kembali ke koneksi yang menyimpan prefiks dalam cache, dan endpoint baca-saja `/v1/auto-combo/{channel}/candidates` mengekspos kumpulan kandidat aktif kanal `auto/*`. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **⚡ Performa & infrastruktur lokal** — Redis lokal sekali klik, penerapan relai Cloudflare Workers / Deno Deploy, serta Bifrost & Mux sebagai layanan tertanam yang diawasi. → [Layanan Tertanam](docs/frameworks/EMBEDDED-SERVICES.md) - **🧩 Juga tersedia** — kerangka kerja plugin + marketplace, kerangka kerja skill Omni/Agent/GitHub, integrasi vault Obsidian (22 alat MCP), API Batch & Files yang kompatibel dengan OpenAI, cache respons semantik, gamifikasi dengan papan peringkat, penemuan agen ACP (15 agen bawaan), ekspor log terjadwal ke BigQuery, fan-out multi-model paralel `auto/chaos`, bridge bot Telegram, pengelola versi dalam aplikasi, dan peringkat penyedia gratis LMArena-ELO. → [Dokumentasi](docs/README.md)
## 🤖 CLI & Agen Pemrograman yang Kompatibel > Satu konfigurasi — `http://localhost:20128/v1` — dan **setiap** IDE atau CLI AI dapat berjalan dengan model gratis & berbiaya rendah.
Claude Code
Claude Code
                           
Codex CLI
Codex CLI
                           
Cline
Cline
                           
Kilo Code
Kilo Code
Zoo Code
Zoo Code
Continue
Continue
                           
Aider
Aider
                           
ForgeCode
ForgeCode
                           
jcode
jcode
                           
DeepSeek TUI
DeepSeek TUI
                           
CodeWhale
CodeWhale
                           
OpenCode
OpenCode
                           
Factory Droid
Factory Droid
                           
GitHub Copilot CLI
Copilot CLI
                           
Cursor CLI
Cursor CLI
                           
Smelt
Smelt
                           
Pi (pi-coding-agent)
Pi
                           
Grok Build (xAI)
Grok Build
                           
Hermes Agent (Nous Research)
Hermes Agent
                           
OpenClaw
OpenClaw
                           
Goose
Goose
                           
Open Interpreter
Open Interpreter
                           
Warp AI
Warp AI
                           
deyin.ai
deyin.ai
                           
+ juga kompatibel dengan · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · semua alat yang kompatibel dengan OpenAI
📖 Penyiapan per alat untuk seluruh 37 alat (27 CLI Code + 10 CLI Agent) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 Plugin OpenCode → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)

**Jalankan CLI apa pun yang didukung melalui OmniRoute dengan satu perintah** — tanpa menulis file konfigurasi, kredensial disuntikkan per proses, Qwen/Gemini mendapatkan direktori home terisolasi sementara: ```bash omniroute run claude --model openai/gpt-5.4 # Claude Code omniroute run codex --model glm/glm-5.2 # OpenAI Codex CLI omniroute run aider --model glm/glm-5.2 -- --message "reply OK" omniroute run goose --model glm/glm-5.2 omniroute run opencode --model glm/glm-5.2 -- run "reply OK" omniroute run qwen --model glm/glm-5.2 -- -p "reply OK" omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "reply OK" # Atau pilih penyedia+model secara interaktif dan tulis konfigurasi milik alat tersebut: omniroute configure codex # juga: claude opencode qwen aider goose gemini cline continue kilo 5dive ``` Setiap perintah mengikuti konteks jarak jauh yang aktif (`omniroute connect `), `--dry-run` menampilkan pratinjau env/argumen yang tepat tanpa mengeksekusinya, dan `--api-key-env NAME` menjaga rahasia agar tidak masuk ke riwayat shell Anda. → [Integrasi CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 375 Penyedia AI — 153 Ditandai Katalog sebagai Gratis
> **375 penyedia terdaftar** di seluruh koleksi chat, media, pencarian, lokal, agen cloud, dan sistem yang kanonis, termasuk **153 yang membawa metadata penemuan `hasFree: true`**. Registri model chat mencakup **239 penyedia / 3.059 pasangan penyedia-model yang berbeda / 1.475 ID model mentah**; katalog anggaran gratis terpisah memiliki **467 baris per model**, **51 kumpulan berulang** dan **51 penyedia gratis selamanya berulang/tanpa kunci**. Ini adalah penyebut yang berbeda secara desain; definisi dan perhitungan yang dideduplikasi per kumpulan tersedia di [Referensi Penyedia](docs/reference/PROVIDER_REFERENCE.md) dan [Tier Gratis](docs/reference/FREE_TIERS.md).
### 🏢 Setiap lab utama — melalui satu endpoint
OpenAI
OpenAI
                           
Anthropic
Anthropic
                           
Gemini
Gemini
                           
xAI Grok
xAI Grok
                           
DeepSeek
DeepSeek
                           
Mistral
Mistral
                           
Qwen
Qwen
                           
Meta Llama
Meta Llama
                           
Groq
Groq
                           
NVIDIA
NVIDIA
                           
MiniMax
MiniMax
                           
Cohere
Cohere
                           
Perplexity
Perplexity
                           
Hugging Face
HuggingFace
                           
Together
Together
                           
Fireworks
Fireworks
                           
Cloudflare
Cloudflare
                           
Baidu
Baidu
                           
…dan 350+ lainnya — setiap ikon dimuat langsung dari katalog penyedia dasbor. 📖 [Referensi Penyedia](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Gratis Selamanya — $0, tanpa kartu
OpenCode Zen
OpenCode Zen
DeepSeek V4, Nemotron 3
Tanpa batas token
Kilo Code
Kilo Code
Router otomatis, Tencent Hy3
Gratis selamanya
Requesty
Requesty
GPT-OSS 120B, Nemotron
Gratis selamanya
SiliconFlow
SiliconFlow
DeepSeek V3.2 / R1
Tier gratis
Z.AI GLM
Z.AI GLM
GLM-4.7 / 4.5-Flash
Gratis selamanya
Baidu ERNIE
Baidu ERNIE
ERNIE 4.0
Gratis selamanya
Qoder AI
Qoder AI
Qwen3-Max, Kimi-K2
GRATIS tanpa batas
Pollinations
Pollinations
GPT, Llama, Claude
Tanpa perlu kunci
Cloudflare AI
Cloudflare AI
50+ model
10 ribu neuron/hari
NVIDIA NIM
NVIDIA NIM
GLM, MiniMax
~40 RPM gratis
Cerebras
Cerebras
GLM 4.7, GPT-OSS
Kredit $5 satu kali; kartu diperlukan
OpenRouter
OpenRouter
model :free
+$10 → RPM lebih tinggi
📖 Katalog lengkap yang dapat dibaca mesin → [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ Di Mana OmniRoute Berjalan — Di Mana Saja
> Aplikasi yang sama, mesin Anda, aturan Anda. Dari instalasi npm global hingga **ponsel Anda** melalui Termux.
PlatformInstalasiKeunggulan
📦 npm (global)npm install -g omnirouteSatu perintah, OS apa pun
🐳 Dockerdocker run … diegosouzapw/omnirouteMultiarsitektur AMD64 + ARM64
🖥️ Desktop (Electron)npm run electron:buildJendela native + baki sistem — Windows / macOS / Linux
🎩 Bilah menu (OmniRouteTray)brew install --cask zoispag/tap/omniroute-trayMengawasi & memperbarui server secara otomatis — macOS
💪 ARMarm64 nativeRaspberry Pi, server ARM, Apple Silicon
📱 Android (Termux)pkg install nodejs && npx -y omnirouteBerjalan di ponsel Anda, 24/7, tanpa root
📲 PWA"Tambahkan ke Layar Utama"Layar penuh, offline, dapat diinstal dari browser
🧩 Plugin OpenCode@omniroute/opencode-providerIntegrasi OpenCode native
🤖 VS Code Copilot Chatinstal ekstensi OmniCopilotSetiap model OmniRoute di pemilih native Copilot Chat — stabil & Insiders
🛠️ Dari kode sumbernpm install && npm run devModifikasi dan berkontribusi
📖 [Panduan Docker](docs/guides/DOCKER_GUIDE.md) · [Desktop](electron/README.md) · [Baki bilah menu](https://github.com/zoispag/omniroute-tray) · [Termux](docs/guides/TERMUX_GUIDE.md) · [PWA](docs/guides/PWA_GUIDE.md) · [OpenCode](docs/frameworks/OPENCODE.md)
### 🧩 Baru: OmniRoute di dalam Copilot Chat native VS Code
> Tanpa bilah sisi baru, tanpa UI obrolan baru — setiap model yang disediakan OmniRoute muncul langsung di > **pemilih model Copilot Chat yang sudah Anda gunakan**. Sejak VS Code 1.122, model penyedia dapat digunakan > tanpa masuk ke GitHub atau berlangganan Copilot — mode agen, pemanggilan alat, dan visi, secara > gratis. Instal ekstensi **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**, arahkan ke server OmniRoute Anda (default ke `localhost:20128`), lalu buka Copilot Chat → pemilih model → **Kelola Model…** → **OmniRoute**.
TokoTautanKompatibel dengan
🧩 VS Code MarketplaceInstal →VS Code — stabil & Insiders
🔓 Open VSX RegistryInstal →Cursor, Windsurf, VSCodium, Theia, code-server, Gitpod, Antigravity, Kiro…
Dari dalam editor: buka tampilan **Extensions**, cari **"OmniRoute"**, klik **Instal** — berfungsi dengan cara yang sama di kedua toko. Kode sumber, masalah, dan panduan penerbitan tersedia di [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot). 📖 [Panduan VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — penyiapan, apa yang ditampilkan pemilih, dasbor dalam tab, pemecahan masalah
### 🎩 Baru: OmniRouteTray — gateway Anda, menetap di bilah menu
> `omniroute serve` bekerja paling baik saat selalu aktif. **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)** > mengubahnya menjadi aplikasi bilah menu macOS yang cukup diatur sekali lalu dibiarkan: aplikasi ini memulai server, menjaganya tetap aktif > setelah dimulai ulang, memperbaruinya langsung, dan menampilkan anggaran token aktif Anda hanya dengan satu klik — **tanpa > membiarkan jendela terminal terbuka, tanpa perlu mengawasi `npm install -g omniroute`.** Dibangun dengan [Tauri v2](https://v2.tauri.app/) (inti Rust yang ukurannya nyaris tak berarti), aplikasi ini menyertakan runtime Node 24 bertanda tangan miliknya sendiri dan mengelola instalasi OmniRoute milik aplikasi, sehingga tidak pernah berbenturan dengan `node`/`bun` global Anda. Aplikasi ini **menggunakan bersama konfigurasi dan basis data `~/.omniroute/` Anda yang sudah ada** — jadi ini adalah OmniRoute yang sama dengan yang sudah Anda jalankan, hanya saja kini memakai topi. 🎩
FungsinyaCaranya
🟢 Mengawasi serverMenjalankan omniroute serve, mengambil alih instans yang sudah berjalan alih-alih menduplikasinya
📊 Penggunaan aktif dalam sekilasBilah kuota penyedia, batas sesi/mingguan Claude beserta hitung mundur pengaturan ulang, perincian biaya 30 hari
🔄 Memperbarui otomatis secara langsungInstalasi bertahap, pertukaran atomik, pengembalian versi saat gagal — selalu menggunakan rilis terbaru
🚀 Mulai saat masukPeluncuran opsional saat masuk; hanya di baki, tanpa ikon dock
🩺 Diagnostik & logDiagnostik sekali klik dan akses log server
```sh brew install --cask zoispag/tap/omniroute-tray ``` Lebih suka mengunduh? Ambil .dmg terbaru dari Rilis. Kode sumber, masalah, dan dokumentasi build tersedia di zoispag/omniroute-tray.
💛 Proyek komunitas oleh @zoispag — bukan rilis resmi OmniRoute.

## 🔒 Privat & Mengutamakan Lokal
Privat dan mengutamakan lokal — gateway dan bidang kontrol OmniRoute berjalan di mesin Anda. Prompt dikirim ke penyedia upstream yang dipilih untuk setiap permintaan; OmniRoute tidak menambahkan perantara pemrosesan prompt yang di-host dan telemetri dinonaktifkan secara default. Kredensial dienkripsi saat disimpan dengan AES-256-GCM; kontrol mencakup pembatasan cakupan kunci API, pemfilteran IP, batas laju, perlindungan terhadap injeksi prompt, pembersihan header upstream, redaksi PII opsional, galat yang telah disanitasi, dan jejak audit SQLite lokal. OmniRoute berlisensi MIT dan dapat di-host secara mandiri. 📖 [Otorisasi](docs/architecture/AUTHZ_GUIDE.md) · [Pagar Pengaman](docs/security/GUARDRAILS.md) · [Kepatuhan](docs/security/COMPLIANCE.md)
## 🔌 CLI Lengkap + A2A & MCP
> Selain server, OmniRoute adalah **kokpit baris perintah lengkap** dengan **80+ perintah**, serta protokol agen terbuka sehingga agen AI dapat mengoperasikannya **secara mandiri**. ### ⌨️ CLI sesungguhnya (bukan hanya `start`) ```bash omniroute # menjalankan gateway + dasbor (port 20128) omniroute chat # klien obrolan TUI interaktif (perintah garis miring: /model /combo /skill /memory) omniroute setup # panduan terpandu untuk penggunaan pertama omniroute doctor # mendiagnosis penyedia, port, dependensi native ``` ### 🛰️ Mode jarak jauh — jalankan CLI di sini, OmniRoute di VPS OmniRoute berada di server? Kendalikan dari laptop Anda dengan **CLI yang sama**. Masuk sekali menggunakan token akses dengan cakupan tertentu; setelah itu, setiap perintah akan menargetkan server jarak jauh. ```bash omniroute connect 192.168.0.15 # kata sandi → token bercakupan, disimpan sebagai konteks omniroute models # ← dijalankan terhadap server JARAK JAUH omniroute configure codex # ← memilih model jarak jauh, menulis profil Codex lokal omniroute tokens create --name ci --scope read # membuat token dengan cakupan lebih sempit untuk mesin lain omniroute contexts use default # ← beralih kembali ke server lokal ``` Token memiliki cakupan `read` / `write` / `admin`; rute yang menjalankan proses tetap hanya dapat diakses melalui loopback. 📖 [Mode Jarak Jauh](docs/guides/REMOTE-MODE.md)
Demo terminal animasi yang menampilkan CLI OmniRoute — omniroute providers list, omniroute combo list, dan omniroute health — berputar melalui antarmuka tingkat atas dengan 89 perintah: providers · oauth · keys · combo · nodes · models · cache · compression · cost · usage · quota · health · resilience · telemetry · logs · audit · mcp · a2a · cloud · memory · skills · eval · tunnel · backup · sync · webhooks · policy · pricing · translator · simulate …
### 🤝 Hubungkan agen — dan agen tersebut mengendalikan OmniRoute secara langsung Ekspos OmniRoute melalui **MCP**, **A2A**, **REST API**, **webhook**, atau **CLI jarak jauh** — agen apa pun yang mumpuni (atau kode Anda sendiri) memperoleh akses untuk mengendalikan seluruh gateway: perutean, penyedia, kombinasi, cache, kompresi, memori — secara mandiri. Endpoint HTTP di bawah ini disajikan melalui `http://localhost:20128`.
AntarmukaEndpoint / perintahKegunaan
🧰 MCP (stdio)omniroute --mcpIntegrasikan dengan Claude Desktop, Cursor, atau klien MCP apa pun
🌊 MCP (HTTP)/api/mcp/streamMCP jarak jauh — 110 alat, 33 cakupan (penegakan bersifat opsional), jejak audit lengkap
📡 MCP (SSE)/api/mcp/sseTransportasi MCP streaming
🤝 A2A/.well-known/agent.jsonAntaragen, JSON-RPC 2.0 + SSE, 6 keterampilan
🌐 REST API/v1/*Kompatibel dengan OpenAI — obrolan, embedding, gambar, audio, OCR
🔔 Webhook/api/webhooksKirim peristiwa permintaan / kuota ke Slack, Discord, Telegram, atau URL apa pun
🛰️ CLI Jarak Jauhomniroute connect Kendalikan instans jarak jauh menggunakan token akses bercakupan
```bash # Berikan rangkaian alat OmniRoute lengkap kepada Claude Code melalui MCP: claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream ``` 📖 [Server MCP](docs/frameworks/MCP-SERVER.md) · [Server A2A](docs/frameworks/A2A-SERVER.md) · [Protokol Agen](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Hemat 15–95% Token — Secara Otomatis
### 📖 Cara kerjanya — pipeline, arsitektur & perhitungan penghematan Pipeline kompresi OmniRoute: permintaan klien ilustratif sebesar 10.000 token melewati 12 mesin yang dapat dikomposisikan — Session-Dedup, CCR, Lite, RTK, Responses Tool Output, Headroom, Relevance, Caveman, Aggressive, LLMLingua-2, Ultra, dan OmniGlyph — dan dapat mencapai penyedia pada sekitar 1.080 token dalam contoh bertumpuk yang didokumentasikan. Konten terstruktur dilindungi oleh guard preservasi dan gerbang fidelitas per langkah; mode lossy atau eksperimental yang eksplisit dapat mentransformasi konten yang memenuhi syarat. Kombinasi bertumpuk default menjalankan `RTK → Caveman`. Saat keduanya bekerja pada payload tool/konteks yang sama, penghematan menjadi berlipat: ```txt combined = 1 − (1 − RTK) × (1 − Caveman_input) average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2% range = 78.4 – 94.6% ``` Blok kode, URL, JSON, dan data terstruktur **selalu dilindungi** oleh mesin preservasi. > **Mengapa memakai banyak token jika sedikit token sudah cukup?** Setiap permintaan melewati pipeline kompresi OmniRoute **secara transparan** — tanpa perubahan di klien. Kini ini adalah **tumpukan 12 mesin yang dapat dikomposisikan** yang berjalan berurutan dan dapat dicampur & dipasangkan per kombinasi routing — dibangun di atas ide dari [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua), dan [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR). ### 🧱 Tumpukan 12 mesin Mesin berjalan dalam urutan pipeline; masing-masing dapat diaktifkan/nonaktifkan dan dikonfigurasi secara independen per kombinasi:
#MesinApa yang dilakukannya
1Session-DedupMembuang konten yang berulang antar giliran (berbasis alamat konten, lintas giliran)
2CCRMengarsipkan blok besar di balik penanda pengambilan, diambil sesuai permintaan
3LitePemangkasan whitespace + URL gambar (baseline ringan latensi)
4RTKPenyaringan hasil tool yang cerdas, dedup & pemotongan (sadar perintah)
5Responses Tool OutputJSON yang mengutamakan lossless + kompresi diagnostik terbatas untuk output shell/patch/search/build (Responses API)
6HeadroomPemadatan tabular lossless pada array JSON (~30%) melalui codec GCF yang di-vendor
7RelevancePenilaian kalimat ekstraktif terhadap kueri pengguna terakhir
8CavemanKompresi prosa berbasis aturan (~65–75% pada output)
9AggressiveRingkasan + penuaan progresif pada giliran lama
10LLMLingua-2Pemangkasan semantik ML melalui MobileBERT ONNX — aman untuk kode, asinkron
11UltraPemangkasan token heuristik dengan tier model kecil (SLM) opsional
12OmniGlyphPengodean konteks-sebagai-gambar eksperimental untuk Claude Fable 5 yang terukur pada jalur langsung Anthropic; transformer GPT 5.6 tetap fail-closed menunggu receipt penyedia. Empat profil kompresi (default agresif, balanced, coding-safe, passthrough) (paling agresif; opt-in)
Blok kode, URL, dan data terstruktur **selalu dipertahankan** persis byte-per-byte. **Preset sekali klik** menggabungkan mesin-mesin tersebut:
ModePenghematanPaling cocok untuk
🪶 Lite~15%Default aman yang selalu aktif
🪨 Standard (Caveman)~30%Coding harian
⚡ Aggressive~50%Sesi panjang yang padat tool
🔥 Ultra~75%Penghematan maksimum
🧰 RTK60–90%Output shell/test/build/git
🔗 Stacked (RTK → Caveman)78–95%Prompt campuran + log tool
**Contoh nyata — mode Standard:** > **Sebelum (69 token):** _"Alasan komponen React Anda me-render ulang kemungkinan besar adalah karena Anda membuat referensi objek baru pada setiap siklus render. Saat Anda meneruskan objek inline sebagai prop, perbandingan dangkal React melihatnya sebagai objek yang berbeda setiap kali, yang memicu render ulang. Saya sarankan menggunakan useMemo untuk melakukan memoize pada objek tersebut."_ > > **Sesudah (19 token):** _"Ref objek baru tiap render. Prop objek inline = ref baru = render ulang. Bungkus dengan useMemo."_ > > **Jawaban yang sama. 72% lebih sedikit token. Tanpa kehilangan akurasi.** ✅ **Contoh PT-BR — mode [Troglodita](https://github.com/leninejunior/troglodita):** > **Sebelum (42 token):** _"Masalahnya adalah komponen ini melakukan render ulang karena referensi objek baru dibuat pada setiap siklus render. Saya sarankan menggunakan `useMemo`."_ > > **Sesudah (12 token):** _"Render ulang: ref baru tiap siklus (objek inline dibuat ulang). Gunakan `useMemo`."_ > > **Jawaban sama. ~70% lebih sedikit token. Presisi teknis utuh.** ✅
### 🎚️ Di luar mesin — gaya output, dial adaptif & kontrol per permintaan Ke-12 mesin di atas mengecilkan apa yang **masuk**. Tiga lapisan lagi membentuk **bagaimana**, **kapan**, dan apa yang **keluar**: - **🪄 Output Styles** _(pengarahan sumbu output)_ — menyuntikkan instruksi pembentuk respons yang deterministik dan aman terhadap cache; dapat dikombinasikan, masing-masing pada intensitas `lite` / `full` / `ultra`. Menambahkan gaya cukup satu entri registry satu baris: - **Terse prose** — buang filler / kata sandang / hedging; pertahankan substansi teknis secara persis. - **Less code** — "lazy senior dev" YAGNI: perubahan terkecil yang berfungsi, tanpa scaffolding yang tidak diminta. - **Ponytail (lazy senior dev)** — naiki tangga YAGNI, perbaiki akar masalah, diff terkecil yang berfungsi. - **I have ADHD (action-first)** — aksi berikutnya di depan, langkah bernomor, satu langkah konkret berikutnya, tanpa basa-basi. - **Terse CJK (文言)** — gaya ultra-ringkas bahasa Tionghoa klasik (dibatasi locale ke `zh`). - **🎯 Adaptive context-budget** _(dial)_ — alih-alih satu ambang token on/off, naikkan tingkat mesin termurah dan paling lossless hanya sejauh yang diperlukan agar **muat di context window model**. Policy: `reserve-output` (default, sadar model) · `percentage` · `absolute`. Mode: `floor` (jamin muat) · `replace-autotrigger` (pilihan eksplisit Anda yang menang) · `off` (ambang legacy). - **🎛️ Di mana kompresi diputuskan** _(prioritas, tinggi → rendah)_ — header `x-omniroute-compression` per permintaan › override routing-combo › profil bernama aktif › adaptive / auto-trigger › default panel › off. Rencana yang diterapkan dikembalikan pada header respons `X-OmniRoute-Compression: ; source=`. Auto-trigger berdasarkan ambang token, nyalakan dial adaptif, pin profil bernama, atur sekali pakai per permintaan, atau tetapkan pipeline per routing combo — mana pun yang cocok dengan beban kerja. **Eval harness** offline yang bersifat opt-in (`npm run eval:compression`) menilai fidelity vs. penghematan pada korpus yang di-pin sebelum Anda mempromosikan suatu perubahan. 📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Mulai Cepat
**1) Instal & jalankan** ```bash npm install -g omniroute omniroute ``` > 💡 Melihat `npm warn ERESOLVE` atau peringatan peer-dep? [Itu tidak berbahaya](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated). > **Menggunakan npm 11 atau lebih baru?** npm dapat memblokir skrip lifecycle paket kecuali diizinkan. `postinstall` OmniRoute (`node scripts/build/postinstall.mjs`) diperlukan untuk menyiapkan berkas runtime native-nya. Izinkan paket-paket yang disebutkan dalam peringatan npm saat menginstal secara global. Untuk kumpulan paket yang dilaporkan oleh OmniRoute 3.8.53: > > ```bash > npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute > ``` > > Untuk memakai ulang allowlist ini pada instalasi global berikutnya, konfigurasikan sekali, lalu instal seperti biasa: > > ```bash > npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user > npm install -g omniroute > ``` > > Daftar dependensi dapat berubah antar rilis; jika npm melaporkan daftar yang berbeda, gunakan nama paket dari peringatan tersebut. Mengizinkan suatu paket berarti mengizinkan skrip instalasinya berjalan. > **Menggunakan Gemini Web atau provider web-cookie lain?** Paket npm menyertakan > Playwright tetapi bukan biner Chromium-nya. Lihat catatan > [penyiapan Playwright Chromium](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium) > sebelum membuat permintaan web-provider pertama. Dashboard di `http://localhost:20128` · API di `http://localhost:20128/v1`. **2) Hubungkan provider yang memenuhi syarat menggunakan akun Anda sendiri** Dashboard → **Providers** → pilih provider yang syarat dan kuotanya saat ini sesuai dengan kebutuhan Anda → tambahkan API key-nya atau selesaikan alur akunnya. Tier gratis mungkin memerlukan pendaftaran, persetujuan, atau metode pembayaran. Tinjau [Panduan Tier Gratis](docs/getting-started/FREE-TIERS-GUIDE.md); ketersediaan tanpa key tidak dijamin, dan provider yang ditandai `tos: avoid` dikecualikan dari `auto` secara default. **3) Arahkan tool coding Anda** ```txt Base URL: http://localhost:20128/v1 API Key: [copy from Dashboard → Endpoints] Model: auto (routes among eligible connections — or choose provider/model) ``` **4) Verifikasi bahwa semuanya berjalan** ```bash curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY" ``` Anda akan melihat model yang terhubung terdaftar. 🎉 Selesai — mulai coding, dan OmniRoute otomatis merutekan & melakukan fallback untuk Anda. Jika klien Anda tidak dapat mengirim header kustom, OmniRoute juga menyediakan alias kompatibilitas bertoken: ```txt OpenAI catalog: http://localhost:20128/vscode/YOUR_KEY/ OpenAI models: http://localhost:20128/vscode/YOUR_KEY/models OpenAI chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions OpenAI responses: http://localhost:20128/vscode/YOUR_KEY/responses Ollama chat: http://localhost:20128/vscode/YOUR_KEY/api/chat Ollama tags: http://localhost:20128/vscode/YOUR_KEY/api/tags ``` Gunakan ini hanya untuk klien yang tidak dapat menyertakan `Authorization: Bearer ...`. Autentikasi via header tetap menjadi mode yang disarankan.
## 📦 Metode instalasi lainnya — Docker, sumber, pnpm, Arch **🐳 Docker** ```bash docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \ -p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest ``` `:latest` mengikuti versi stabil SemVer **yang telah dipublikasikan** dengan versi tertinggi. Tag ini tidak mengikuti `main` di git. Gunakan tag tetap `:X.Y.Z` untuk GitOps. Lihat [Kanal Rilis Docker](docs/guides/DOCKER_GUIDE.md#release-channels). Image tersebut menetapkan **`OMNIROUTE_MEMORY_MB=1024`**. Kapasitas ini cukup untuk dasbor dan percakapan ringan. **Agen pengodean** (`POST /v1/responses` dari Claude Code, Codex, Grok, …) memerlukan heap V8 yang jauh lebih besar; jika tidak, proses akan mengalami `FATAL ERROR` pada sekitar 12 GiB saat dua konteks panjang saling tumpang tindih. Atur kapasitas kontainer agar lebih besar daripada heap (buffer native berada di luar V8): | Beban kerja | Heap (`-e OMNIROUTE_MEMORY_MB`) | Kontainer (`--memory`) | | ------------------------------------ | ------------------------------- | ---------------------- | | Dasbor / percakapan ringan | `1024` (default image) | ≥2 g | | Satu agen pengodean | `8192` | ≥10 g | | Dua `/v1/responses` panjang serentak | `10240`–`12288` | ≥12–16 g | ```bash docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \ -e OMNIROUTE_MEMORY_MB=8192 --memory=10g \ -p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest ``` Tabel lengkap: [Panduan Docker — RAM runtime](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents). > **Kanal Docker prarilis:** `diegosouzapw/omniroute:next` dan > `diegosouzapw/omniroute:next-web` mengikuti branch default `release/v*` > saat ini. Tag yang dapat berubah ini hanya ditujukan untuk menguji perbaikan yang belum dirilis dan > **tidak didukung untuk produksi**. Lihat > [Kanal Rilis Docker](docs/guides/DOCKER_GUIDE.md#release-channels). **🥟 Bun** `bun install` standar dan instalasi global (`bun install -g omniroute`) didukung melalui deteksi runtime Bun: - **`bun:sqlite` bawaan**: OmniRoute menggunakan driver `bun:sqlite` bawaan Bun ketika berjalan di Bun, dengan fallback ke `better-sqlite3` di Node.js atau `sql.js`. - **Pemilihan bundler Webpack otomatis dalam pengembangan**: Mode pengembangan (`bun run dev`) secara otomatis mendeteksi Bun dan menonaktifkan Turbopack untuk menggunakan Webpack demi mencegah inkompatibilitas binding native V8. Build produksi (`bun run build`) mengikuti `OMNIROUTE_USE_TURBOPACK` persis seperti di Node: Turbopack secara default, atau `OMNIROUTE_USE_TURBOPACK=0` untuk melakukan build dengan Webpack (`Dockerfile.bun` menyediakannya sebagai `--build-arg`). - **Dockerfile khusus Bun**: `Dockerfile.bun` multi-tahap untuk deployment produksi Bun native (`docker build -f Dockerfile.bun -t omniroute:bun .`). ```bash # Instal dan jalankan dengan Bun bun install bun run dev ``` **🛠️ Dari sumber** ```bash cp .env.example .env && npm install PORT=20128 npm run dev ``` **📦 pnpm** ```bash pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute ``` **🐧 Arch Linux (AUR)** ```bash yay -S omniroute-bin && systemctl --user enable --now omniroute.service ``` **🔧 Nix (Flake)** ```bash # Menggunakan flake Nix nix develop npm run dev # Atau menggunakan devbox devbox run npm run dev ``` 📖 [Panduan Docker](docs/guides/DOCKER_GUIDE.md) — Profil Compose, HTTPS Caddy, tunnel Cloudflare. **🦭 Podman** ```bash # 1. Siapkan direktori data yang dipasang melalui bind mount mkdir -p data # 2. Hanya untuk Linux + Podman rootless lokal (jangan pernah pada klien Podman Machine jarak jauh): podman unshare chown 1000:1000 ./data # 3. Tetapkan petunjuk runtime, build image Compose lokal, lalu mulai echo "CONTAINER_HOST=podman" >> .env podman compose --profile base up -d --build ``` Di macOS atau Windows, Podman menggunakan Podman Machine jarak jauh: lewati `podman unshare` dan ikuti [panduan direktori data khusus topologi](contrib/podman/README.md#data-directory-permissions-by-topology). 📖 [Panduan Podman](contrib/podman/README.md) — Build Compose, Podman Machine, dan penyiapan Quadlet Linux/systemd. **⚡ Instalasi lebih cepat / ringan (lewati build native)** Mesin SQLite native (`better-sqlite3`) adalah dependensi **opsional**, sehingga instalasi global tidak akan pernah terhambat oleh kompilasi dari sumber: instalasi menggunakan biner siap pakai jika tersedia untuk platform/Node Anda, dan jika tidak, akan melakukan fallback secara transparan ke mesin JavaScript murni (`node:sqlite` pada Node 22+, atau WASM `sql.js` yang disertakan) — tanpa memerlukan alat build. Untuk sepenuhnya melewati pemanasan native pascainstalasi (CI, tanpa antarmuka grafis, atau mesin lambat): ```bash OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 juga melewatinya ``` Untuk instalasi tercepat, utamakan **pnpm** (penyimpanan berbasis alamat konten + hard link — lihat di atas). Untuk runtime tanpa dasbor dan tanpa antarmuka grafis, gunakan profil Docker `base` (di atas) atau [panduan Termux](docs/guides/TERMUX_GUIDE.md). CLI dan dasbor web dilayani oleh proses yang sama pada satu port, sehingga saat ini tidak ada paket khusus CLI yang terpisah.
# 🎬 OmniRoute Beraksi
## 📹 Panduan Video
Cuplikan dasbor pada 2026-10-18 · Katalog mentah: YT 1.352 | TT 334 | IG 290 · Kebaruan (hari): YT 5 | TT 48 | IG 49
Instagram Reel — nick_saraev
🎬 #1 — Instagram
nick_saraev — 3,042,474 tayangan
Instagram Reel — nnapier7
🎬 #2 — Instagram
nnapier7 — 1,454,535 tayangan
YouTube — Amidia AI & Tech
🎬 #3 — YouTube
Amidia AI & Tech — 794,974 tayangan
Instagram Reel — theopenstack
🎬 #4 — Instagram
theopenstack — 692,419 tayangan
TikTok — migue.baena
🎬 #5 — TikTok
migue.baena — 685,788 tayangan
**Peringkat lengkap (URL kanonis yang telah dideduplikasi, `v > 0`, jangkauan tertinggi):** | #1 | #2 | #3 | #4 | #5 | | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | | [nick_saraev — Instagram](https://www.instagram.com/reel/Da8ZthUPK98/) — **3,042,474** | [nnapier7 — Instagram](https://www.instagram.com/reel/Dbp7wv_CIO0/) — **1,454,535** | [Amidia AI & Tech — YouTube](https://www.youtube.com/watch?v=NJ0TQ-pyMDY) — **794,974** | [theopenstack — Instagram](https://www.instagram.com/reel/DaSs65mMrHk/) — **692,419** | [migue.baena — TikTok](https://www.tiktok.com/@migue.baena/video/7670919268216622358) — **685,788** | | #6 | #7 | #8 | #9 | #10 | | ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | | [milesreevesai — TikTok](https://www.tiktok.com/@milesreevesai/video/7667980059189366019) — **620,400** | [nikothetech — TikTok](https://www.tiktok.com/@nikothetech/video/7671890769665477918) — **610,803** | [Vaibhav Sisinty — YouTube](https://www.youtube.com/watch?v=QucgvbO5gsM) — **509,281** | [buildwithai.club — Instagram](https://www.instagram.com/reel/DbIt9AjK7-U/) — **347,652** | [nivedan.ai — Instagram](https://www.instagram.com/reel/DbIrCksJiqq/) — **331,973** | Metrik kanonis pada 2026-10-18: **1.976 video unik** · **20.220.289 tayangan yang diketahui** (`v > 0`) · **1.210 kanal/profil berdasarkan platform**. Dasbor mentah berisi 1.976 baris (YouTube 1.352 = 740 video berdurasi panjang + 612 Shorts · TikTok 334 · Instagram 290); tidak ada duplikat yang tersisa setelah normalisasi berdasarkan URL kanonis, yang mempertahankan jumlah tayangan tertinggi per video. Pengumpulan data YouTube dibekukan pada 2026-10-13 (kuota API habis dari 14 hingga 18/10), sedangkan TikTok/Instagram sejak 2026-09-02 (tanpa kredit pengumpulan data); 76 video masih belum memiliki jumlah tayangan. > 🎬 **Membuat video tentang OmniRoute?** Buka [isu](https://github.com/diegosouzapw/OmniRoute/issues/new) atau [diskusi](https://github.com/diegosouzapw/OmniRoute/discussions) dengan menyertakan tautannya — kami akan menampilkannya di sini.
# 📧 Komunitas & Bantuan > Semuanya dalam satu tempat — ikuti pengelola, mengobrol dengan komunitas, atau buka isu. | Saluran | Di mana / bagaimana | | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | | 💼 **LinkedIn** — ikuti pengelola | [linkedin.com/in/diegosouzapw](https://www.linkedin.com/in/diegosouzapw/) | | 🐙 **GitHub** — ikuti untuk rilis & kiat | [@diegosouzapw](https://github.com/diegosouzapw) | | 💬 **Discord** | [discord.gg/U47eFqAXCn](https://discord.gg/U47eFqAXCn) | | ✈️ **Telegram** | [t.me/omnirouteOficial](https://t.me/omnirouteOficial) | | 🟢 **WhatsApp — 🌍 Global** | [bergabung dengan grup](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) | | 🟢 **WhatsApp — 🇧🇷 Brasil** | [bergabung dengan grup](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) | | 🌍 **Situs web** | [omniroute.online](https://omniroute.online) | | 🌍 **🌍Komunitas StHub OmniRoute (gratis)** | [portal StHub](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK) | | 📦 **Kode sumber** | [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) | | 🐛 **Laporkan bug** | [buka isu](https://github.com/diegosouzapw/OmniRoute/issues) — lampirkan keluaran `npm run system-info` | | 🤝 **Berkontribusi** | [CONTRIBUTING.md](CONTRIBUTING.md) · [Model Percabangan & Rilis](docs/ops/BRANCHING_MODEL.md) · pilih `good first issue` | | 💚 **Dukung proyek ini** | [Cara mendukung ↑](#-support-omniroute) · [Sponsor GitHub](https://github.com/sponsors/diegosouzapw) |
---
## 🛠️ Tumpukan Teknologi
LapisanTeknologi
RuntimeNode.js 22.x / 24.x LTS — >=22.22.2 <23 || >=24.0.0 <27
BahasaTypeScript 6.0 — 100% TypeScript di seluruh src/ dan open-sse/ (tanpa any di inti sejak v2.0)
FrameworkNext.js 16 + React 19 + Tailwind CSS 4
Basis databetter-sqlite3 (SQLite, journaling WAL) + LowDB (JSON legacy) — 147 modul domain, 209 migrasi
MemoriSQLite FTS5 full-text + embedding vektor terkuantisasi int8, typed decay
SkemaZod 4 — validasi I/O tool MCP + kontrak API
ProtokolMCP (stdio / HTTP / SSE) + A2A v0.3 (JSON-RPC 2.0 + SSE)
StreamingServer-Sent Events (SSE) + jembatan WebSocket (/v1/ws)
Kompresipipeline 12 mesin — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph
Autentikasi & keamananOAuth 2.0 (PKCE) + JWT + API Key + autentikasi berlingkup MCP · AES-256-GCM saat disimpan · DOMPurify
Stealthwreq-js — impersonasi fingerprint TLS JA3 / JA4, proxy 3 level
KetahananCircuit breaker, backoff eksponensial, anti-thundering-herd, self-healing auto-combo
Loggingpino — log JSON terstruktur dengan konteks permintaan
Pengujiantest runner Node.js + Vitest — 56.000+ deklarasi uji statis di 7.800+ file uji terlacak (unit, integrasi, E2E, keamanan, ekosistem)
PlatformDesktop (Electron) · Android (Termux) · PWA (browser apa pun)
CI/CDGitHub Actions — publikasi npm otomatis + Docker Hub saat rilis
TautanSitus Web · npm · Docker Hub

## 📖 Dokumentasi
### 📘 Memulai
DokumenDeskripsi
Panduan PenggunaProvider, combo, integrasi CLI, deployment
Panduan SetupMetode instalasi lengkap, konfigurasi alat CLI, setup protokol, penyetelan timeout
Panduan Alat CLISetup per alat untuk Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo, Copilot
Mode RemoteKendalikan OmniRoute remote (VPS) dari CLI laptop Anda melalui token akses terbatas
Konfigurasi Claude CodeArahkan Claude Code ke OmniRoute (lokal/remote) dengan launch + profil per model
Mulai CepatInstalasi 3 langkah → hubungkan → konfigurasikan
### 🔧 Operasional & Deployment
DokumenDeskripsi
Panduan DockerDocker run, profil Compose, Caddy HTTPS, tunnel, tag image
Panduan PodmanIntegrasi Quadlet systemd, podman-compose, SELinux
Deployment VMPanduan lengkap: setup VM + nginx + Cloudflare
Deployment Fly.ioDeploy ke Fly.io dengan penyimpanan persisten
Panduan TermuxJalankan OmniRoute di Android melalui Termux
Panduan PWAInstalasi Progressive Web App, caching, arsitektur
Panduan UninstallPenghapusan bersih untuk semua metode instalasi
Konfigurasi EnvironmentVariabel .env lengkap dan referensinya
### 🧠 Fitur & Arsitektur
DokumenDeskripsi
ArsitekturArsitektur sistem, alur data, dan internal
Panduan KompresiPipeline 7 opsi: off / lite / standard / aggressive / ultra / RTK / stacked
Kompresi RTKKompresi output perintah, filter, trust, verify, pemulihan output mentah
Mesin KompresiCaveman, RTK, pipeline bertingkat, antarmuka dashboard/API/MCP
Format Aturan KompresiSkema rule-pack JSON untuk filter Caveman dan RTK
Paket Bahasa KompresiDeteksi bahasa dan penyusunan rule-pack Caveman
Panduan ResiliensiCircuit breaker, cooldown, antrean, anti-thundering herd, spoofing TLS
Mesin Auto-ComboPenilaian 16 faktor, paket mode, self-healing
Panduan ProxySistem proxy 3 tingkat, marketplace 1proxy, CRUD registry
Free TierDirektori terkonsolidasi: 34 kumpulan berulang terdokumentasi / 467 entri free-tier terkatalog
Galeri FiturTur dashboard visual dengan tangkapan layar
Dokumentasi CodebasePanduan codebase ramah pemula
### 🤖 Protokol & API
DokumenDeskripsi
Referensi APISemua endpoint dengan contoh
Spesifikasi OpenAPISpesifikasi OpenAPI 3.0
Server MCP110 alat MCP, konfigurasi IDE, klien Python/TS/Go
Panduan Server MCPInstalasi MCP, transport, dan referensi alat
Server A2AProtokol JSON-RPC 2.0, skill, streaming, manajemen tugas
Panduan Server A2AAgent card A2A, tugas, skill, dan streaming
### 📋 Proyek & Kualitas
DokumenDeskripsi
BerkontribusiPenyiapan pengembangan dan pedoman
Model Branching & RilisTarget PR (release/*), arti main dan tag
ChangelogRiwayat rilis lengkap per versi
Kebijakan KeamananPelaporan kerentanan dan praktik keamanan
Panduan i18nDukungan 67 bahasa, alur kerja penerjemahan, RTL
Checklist RilisLangkah validasi pra-rilis
Rencana CakupanStrategi cakupan pengujian untuk 56.000+ deklarasi pengujian statis di 7.800+ file pengujian yang dilacak

# ⭐ Kontributor Teratas > OmniRoute dibentuk oleh komunitas open-source yang penuh semangat. Individu-individu ini telah memberikan kontribusi luar biasa yang berdampak langsung pada kualitas, stabilitas, dan jangkauan proyek. **Terima kasih.** ### Kontributor eksternal berdasarkan pull request yang di-merge
PeringkatKontributorPR yang di-merge~Baris berubah
1maxmad64bis37125.326.561
2HouMinXi26913.456.272
3backryun210270.562
4oyi77190411.243
5pacocartones17478.276
6JxnLexn1513.562.936
6KooshaPari1515.972.314
8rdself14580.663
9RaviTharuma123500.065
10herjarsa88230.872
11hartmark842.849.554
12jonlwheat2-gif6768.548
13artickc6243.502
14chirag127526.661
15xz-dev50245.976
16xiaoyaner02014733.626
17woodsonl46809.391
18rqzbeh44147.896
19QuangBlue4313.112
20MumuTW4026.093
Sensus diambil pada 2026-10-18 15:09:09 UTC dengan ujung langsung release/v3.8.52 656f01cb43. Sensus GitHub GraphQL terpaginası memuat 9.191 PR yang di-merge: 3.834 oleh pemilik repositori, 229 oleh Dependabot, 6 oleh bot/aplikasi lain, dan 5.122 PR eksternal dari 835 kontributor berbeda. “Baris berubah” adalah penambahan + penghapusan GitHub dan mencakup file yang dihasilkan, lockfile, katalog, terjemahan, dan dokumentasi; itu adalah churn, bukan LOC yang ditulis. 49 PR melaporkan diff GitHub di atas 500.000 baris (misalnya #13399, penambahan satu penyedia, mencantumkan 2.347 file yang berubah), yang menggelembungkan beberapa total di atas. Peringkat yang sama digabungkan. ### Commit yang diatribusikan ke GitHub
Dizzle
Dizzle

🥇 367 commit yang diatribusikan oleh GitHub
Bob.Hou
Bob.Hou

🥈 269 commit yang diatribusikan oleh GitHub
Paijo
Paijo

🥉 229 commit yang diatribusikan oleh GitHub
backryun
backryun

🏅 202 commit yang diatribusikan oleh GitHub
Paco Cartones
Paco Cartones

🏅 174 commit yang diatribusikan oleh GitHub
Ravi Tharuma
Ravi Tharuma

🏅 126 commit yang diatribusikan oleh GitHub
Markus Hartung
Markus Hartung

🏅 114 commit yang diatribusikan oleh GitHub
Randi
Randi

🏅 108 commit yang diatribusikan oleh GitHub
Jan Leon
Jan Leon

🏅 87 commit yang diatribusikan oleh GitHub
Chris
Chris

🏅 70 commit yang diatribusikan oleh GitHub
Koosha Paridehpour
Koosha Paridehpour

🏅 68 commit yang diatribusikan oleh GitHub
Diperiksa ulang pada 2026-10-18 14:44:45 UTC: commit yang diatribusikan oleh GitHub yang dilaporkan oleh API Contributors repositori untuk branch default release/v3.8.52. API tersebut mengembalikan 849 identitas (429 pengguna, 2 bot, 418 anonim); tabel ini mengecualikan pemelihara, bot, dan identitas anonim serta tetap mempertahankan posisi seri dalam kompetisi. Ini berbeda dari peringkat PR yang telah di-merge di atas maupun sensus metadata Git di bawah. > 🙏 Fitur, perbaikan bug, dan peningkatan infrastruktur dari para kontributor ini adalah **bagian inti** dari hal yang membuat OmniRoute andal dan kaya fitur. Setiap pull request, setiap kasus uji, dan setiap file terjemahan i18n sangat berarti. Open source dibangun oleh orang-orang seperti mereka.
---
## 💖 Sponsor
Terima kasih yang tulus kepada orang-orang yang mendanai OmniRoute dari kantong mereka sendiri — setiap kontribusi menjaga proyek ini tetap gratis, independen, dan terus berkembang.
Andrew
Andrew

💛 Sponsor bulanan aktif
Vlad I
Vlad I

💛 Sponsor bulanan aktif
小妍儿
小妍儿

💛 Sponsor bulanan aktif
Guilherme Costa
Guilherme Costa

💛 Sponsor satu kali aktif
Henrique Triches Iurkiv
Henrique Iurkiv

💛 Sponsor satu kali aktif
Somesh Ghaturle
Somesh Ghaturle

💛 Sponsor satu kali aktif
Kolonie AI
Kolonie AI

💛 Pendukung satu kali terdahulu
Professor Igor Morais Vasconcelos
Prof. Igor Morais

💛 Pendukung satu kali terdahulu
Pixma
Pixma

💛 Pendukung satu kali terdahulu
Paco Cartones
Paco Cartones

💛 Pendukung satu kali terdahulu
longtao
longtao

💛 Pendukung satu kali terdahulu
… dan lainnya yang memilih untuk tetap anonim 💛 GitHub Sponsors publik divalidasi ulang pada 2026-10-18 melalui GitHub Sponsors GraphQL API: 11 sponsor publik (6 aktif, 5 terdahulu) dari total 14. Status isActive GitHub menentukan label aktif di atas; pendukung publik satu kali terdahulu tetap diberi ucapan terima kasih, dan sponsor privat tetap anonim. Donasi melalui Ko-fi, Buy Me a Coffee, Liberapay, PIX, dan mata uang kripto tidak dicantumkan karena tidak memiliki catatan sponsor publik. 💖 Jadilah sponsor → — setiap dolar menjaga OmniRoute tetap gratis dan independen.

## 👥 900+ Kontributor
[![Kontributor](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=993&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) Diaudit pada 2026-10-18 di ujung aktif release/v3.8.52 ad160ab2d1 (6.826 commit): 993 identitas Git manusia yang telah dinormalisasi — 707 muncul sebagai penulis commit (termasuk pengelola) dan 286 hanya dalam trailer eksplisit Co-authored-by. Sensus ini menerapkan .mailmap, membandingkan alamat surel tanpa membedakan huruf besar-kecil, menggabungkan alamat noreply GitHub numerik dan biasa hanya ketika keduanya mengodekan handle yang sama, mengecualikan 26 identitas bot/agen/layanan/placeholder, dan tidak menggabungkan alamat surel biasa hanya karena nama tampilannya sama. Audit 2026-08-24 memublikasikan angka 639; metode ini, ketika dijalankan ulang pada basis audit tersebut ac02c5b42f, menghasilkan 619, sehingga peningkatan tersebut berasal dari kontributor baru, bukan dari metode yang lebih longgar. ### Cara Berkontribusi 1. Fork repositori 2. Buat branch dari ujung `release/vX.Y.Z` yang **aktif** (bukan `main`) — lihat [Model Branching & Rilis](docs/ops/BRANCHING_MODEL.md) 3. Buat branch fitur Anda (`git checkout -b feat/amazing-feature`) 4. Commit perubahan Anda (`git commit -m 'feat: add amazing feature'`) 5. Push ke branch tersebut (`git push origin feat/amazing-feature`) 6. Buka Pull Request dengan **base = branch `release/vX.Y.Z` tersebut** Lihat [CONTRIBUTING.md](CONTRIBUTING.md) untuk panduan terperinci. ### Merilis Versi Baru ```bash # Buat rilis — npm publish dijalankan secara otomatis VERSION=x.y.z gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes ```
## 📊 Bintang Grafik Riwayat Bintang
## 🌍 StarMapper StarMapper

## 🙏 Ucapan Terima Kasih
OmniRoute berdiri di atas fondasi yang dibangun oleh para pendahulu hebat. Proyek ini bermula sebagai fork dari **[9router](https://github.com/decolua/9router)** dan port TypeScript dari proyek Go **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — dan sejak itu, setiap subsistem di bawah ini terinspirasi oleh proyek sumber terbuka yang lebih dahulu mewujudkannya. Masing-masing membentuk bagian konkret dari OmniRoute. Inilah ungkapan terima kasih kami kepada mereka semua. 🙏 > ⭐ jumlah bintang diverifikasi melalui REST API GitHub pada 18 Oktober 2026 — berikan bintang kepada proyek-proyek ini. Jumlah tersebut merupakan snapshot tepat pada tanggal itu dan secara alami akan berubah. ### 🧬 Asal-usul & gateway
Proyek⭐Bagaimana proyek ini menginspirasi OmniRoute
9router31,004Proyek asli yang menjadi dasar fork ini — diperluas di sini dengan API multimodal dan penulisan ulang sepenuhnya dalam TypeScript.
CLIProxyAPI55,591Implementasi Go yang menginspirasi port JavaScript / TypeScript ini.
LiteLLM61,482Gateway AI yang set data harga publiknya mendukung sinkronisasi pelacakan biaya kami dan model normalisasi penyedianya menjadi acuan bagi perutean kami.
codex-chatgpt-web14,526Sumber berlisensi MIT yang diadaptasi ke dalam bridge ChatGPT Web → Codex Responses yang disertakan sebagai vendor, termasuk adaptor sesi browser, pembingkaian respons, penggunaan, dan pencarian web.
free-claude-code61,430Pola-pola yang di-port ke pemulihan stream, alias tanpa penalaran, pencarian web fallback, batas sliding-window, penyuntingan log, dan alur peluncur yang diperkuat.
composer-api346Pola pemilihan alat, batasan output, dan commit alat Cursor Composer yang diadaptasi ke dalam eksekutor Cursor native.
codex-multi-auth553Pola login baru dan rotasi refresh token yang di-port ke autentikasi ulang OAuth Codex.
opencode-anthropic-auth558Default transformasi yang kompatibel dengan Claude Code dan perilaku header penagihan yang digeneralisasi ke dalam bridge berbasis konfigurasi milik OmniRoute.
grok2api-merged2Pemetaan model Grok, generator Statsig fake-TypeError, default permintaan dan perangkat, serta pemroses respons NDJSON miliknya diadaptasi secara substansial ke dalam eksekutor Grok Web milik OmniRoute.
TQZHR/grok2api706Sumber kode transitif utama di balik grok2api-merged; implementasi model, header, payload, Statsig, dan pemrosesnya dipertahankan dalam garis keturunan Grok Web.
chenyme/grok2api7,819Sumber berlisensi MIT yang mendasari payload Grok dan default perangkat, generator Statsig, serta pemroses result.response yang diteruskan melalui TQZHR dan grok2api-merged.
grok2api-pro27Sumber transitif yang dicantumkan oleh grok2api-merged untuk lapisan proxy-pool miliknya; OmniRoute mempertahankan pemberitahuan garis keturunan tersebut, tetapi tidak mengklaim adanya port proxy-pool dalam eksekutor Grok Web-nya yang dibatasi cakupannya.
GrokProxy51Proxy Grok terautentikasi cookie dan pola streaming result.response.token miliknya menjadi acuan bagi transportasi Grok Web milik OmniRoute.
GrokBridge5Implementasi awal Grok Web mengacu pada desain upstream HTTP/browser miliknya; jalur HTTP langsungnya berasal dari GrokProxy, sehingga tidak ada klaim port kode independen.
### 🗜️ Kompresi konteks & token — mesin
Proyek⭐Bagaimana proyek ini menginspirasi OmniRoute
Caveman113,396Proyek viral "mengapa menggunakan banyak token jika sedikit token sudah cukup" — filosofi bahasa manusia guanya mendukung mode kompresi standar kami serta lebih dari 30 aturan penghapusan kata pengisi/kondensasi.
RTK – Rust Token Killer83,835Kompresi keluaran perintah berkinerja tinggi — menginspirasi mesin RTK kami, DSL filter JSON, pemulihan keluaran mentah, dan pipeline bertumpuk RTK → Caveman.
headroom75,741Kompresi konteks yang dapat dibalik (SmartCrusher) — menginspirasi mesin headroom kami dan pola penanda pengambilan ccr.
LLMLingua6,757Riset kompresi prompt (LLMLingua / LLMLingua-2) — menginspirasi mesin llmlingua kami yang asinkron, aman untuk kode, dan tetap berfungsi saat gagal.
llmlingua-2-js32Port JS/ONNX (MobileBERT / XLM-RoBERTa) yang digunakan sebagai backend thread pekerja untuk mesin LLMLingua kami.
Troglodita50Kompresi token PT-BR — mendukung paket bahasa pt-BR kami: pengurangan pleonasme dan penghapusan kata pengisi yang disesuaikan untuk tata bahasa Portugis Brasil.
ponytail166,731Skill pembuat kode YAGNI "developer senior pemalas" yang viral — menginspirasi Gaya Keluaran less-code kami: pengarahan perubahan terkecil yang berfungsi untuk mengurangi kode yang _dihasilkan_ (pasangan pada sumbu keluaran bagi prosa ringkas Caveman).
i-have-adhd57,628Gaya responsnya yang mengutamakan tindakan dan ramah ADHD diadaptasi menjadi gaya keluaran ringkas OmniRoute dalam lima bahasa.
### 🧩 Format ringkas, riset token & alat yang memahami kode
Proyek⭐Bagaimana proyek ini menginspirasi OmniRoute
TOON25,509Notasi Objek Berorientasi Token — model kolumnar dengan header-plus-barisnya membentuk tahap pemadatan tabular kami.
GCF – Graph Compact Format59Format graf ringkas dan desain profil generiknya menjadi acuan bagi pemadatan tabular OmniRoute serta format codec Headroom.
gcf-typescript4Implementasi TypeScript berlisensi MIT yang langsung disertakan dan diperluas sebagai codec profil generik Headroom.
token-optimizer-mcp551Cache Brotli/SQLite + delta konteks per sesi — menginspirasi mesin session-dedup kami.
token-savior1,182Pemadatan keluaran Bash + profil MCP — menginspirasi disiplin penghentian kompresi kami dan pengurangan manifes alat MCP.
token-saver154Kompresi keluaran berbasis jenis file yang memahami konten, dengan penghentian yang mempertimbangkan kegagalan — memvalidasi pengalihan per jenis dan pelewatan saat perolehan minimum kami tidak tercapai.
token-optimizer2,595"Temukan token hantu" — pola pemindahan + handle yang dapat dipulihkannya menjadi acuan bagi konsep pemindahan CCR kami.
TokenMizer33Cetak biru graf sesi + deduplikasi baris lintas giliran yang menjadi acuan bagi desain session-dedup kami.
OmniCompress3JSON kolumnar berbasis Rust + pengambilan berbasis konten + deduplikasi lintas pesan — memvalidasi desain mesin headroom/ccr/session-dedup kami serta invarian yang stabil terhadap cache bahwa "bentuk terkompresi tidak bergantung pada posisi".
mcp-compressor133Kompresi skema/deskripsi alat MCP — menjadi acuan bagi pengurangan kardinalitas manifes alat MCP kami.
RepoMapper217Pemeringkatan peta repositori bergaya Aider — menjadi acuan bagi eksplorasi peta repositori / pemeringkatan pengambilan kami.
quiet-shell-mcp4Pengurangan keluaran shell deklaratif melalui MCP — memvalidasi pemadatan keluaran bash deklaratif kami.
ts-morph6,205Toolkit TypeScript Compiler API — menginspirasi penghapusan komentar berbasis parser kami yang mempertahankan literal string, templat, dan regex.
### 🧠 Memori & RAG
Proyek⭐Bagaimana proyek ini menginspirasi OmniRoute
Mem067,385Lapisan memori universal — model proksi sebagai batas penulisan/pembacaan miliknya membentuk arsitektur memori kami.
Letta (MemGPT)25,179Agen berstatus dengan memori berjenjang — menginspirasi model Context Control & Recovery (CCR) berjenjang kami.
WFGY1,800Taksonomi ProblemMap yang mencakup 16 pola kegagalan RAG/LLM berulang — kosakata bersama dalam panduan pemecahan masalah kami.
### 🛰️ Inspeksi lalu lintas, MITM & proksi transparan
Proyek⭐Bagaimana proyek ini menginspirasi OmniRoute
llm-interceptor79Intersepsi/analisis MITM terhadap lalu lintas asisten pengodean ↔ LLM menjadi dasar bagi persyaratan awal Traffic Inspector. Empat modul yang sebelumnya diturunkan — penggabungan SSE, normalisasi percakapan, penyamaran rahasia, dan sanitasi header — telah digantikan oleh implementasi clean-room independen berdasarkan standar protokol publik. Dua permukaan host-passthrough (passthrough.ts dan _internal/bypass.cjs) tetap merupakan implementasi internal OmniRoute yang diklasifikasikan secara independen; keduanya tidak ditulis ulang sebagai bagian dari penggantian tersebut.
ProxyBridge6,814Perutean proksi transparan per proses — menginspirasi penghentian MITM yang aman dari crash, batas waktu idle soket, atribusi proses /proc, dan penangkapan TPROXY kami.
### 📚 Data model, observabilitas & UI
Proyek⭐Bagaimana proyek ini menginspirasi OmniRoute
models.dev7,286Basis data terbuka untuk spesifikasi, harga, dan kemampuan model AI — disinkronkan secara native ke dalam katalog model kami.
React Flow / xyflow38,705Pustaka grafik berbasis simpul yang mendukung Compression Studio dan Combo/Routing Studio real-time kami.
LangGraph43,443Visualisasi grafik alur kerja langsung milik LangGraph Studio menginspirasi tampilan kaskade real-time di Studios kami.
Langfuse35,990Model observabilitas trace → span → generation miliknya membentuk waterfall Compression Studio kami.
Kiali3,645Observabilitas service mesh Istio — menginspirasi badge circuit breaker dan visual edge kesalahan kami di Routing/Combo Studio.
lobe-icons2,615Logo merek AI/LLM yang menampilkan ikon penyedia di seluruh dasbor kami.
flag-icons12,473Menyediakan bendera SVG berlisensi MIT yang digunakan oleh pemilih bahasa README.
### 🛡️ Keamanan
Proyek⭐Bagaimana proyek ini menginspirasi OmniRoute
awesome-secure-defaults722Daftar pustaka secure-by-default terkurasi yang memandu pilihan keamanan kami (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
### 🧭 Alat pelengkap
Proyek⭐Bagaimana proyek ini menginspirasi OmniRoute
ClawRouter6,628Menginspirasi deduplikasi permintaan, fallback darurat tanpa biaya, strategi Auto-Combo yang dapat dipasang, dan klasifikasi intent multibahasa.
Antigravity-Manager32,333Pemetaan ulang model berbasis akun, validasi jalur executable, dan perilaku label paket miliknya menjadi dasar bagi runtime Antigravity OmniRoute.
vscode-antigravity-cockpit4,850Format hitung mundur reset kuota yang ringkas miliknya menginspirasi tampilan batas penyedia yang terkait di OmniRoute.
AionUi33,611Integrasi ACP miliknya menginspirasi deteksi otomatis OmniRoute terhadap agen CLI yang terinstal.
CodexBar22,616Mengidentifikasi permukaan kuota Grok Build; OmniRoute kemudian memverifikasi dan mengoreksi format wire aktif secara independen.
## 📄 Lisensi Lisensi MIT - lihat [LICENSE](LICENSE) untuk detailnya. ---
**[⬆ Kembali ke atas](#-omniroute)** · Dibuat dengan ❤️ untuk komunitas AI open-source. OmniRoute v3.8.53 · Node ≥22.22.2 · Lisensi MIT · omniroute.online