Developer Tools

OmniRoute vs 9Router: Fork Gateway AI Lokal Terbaik

M
MUGHU
25 menit baca
OmniRoute vs 9Router: Fork Gateway AI Lokal Terbaik
Daftar isi

Perbincangan tentang gateway AI lokal berubah arah ketika sebuah proyek kecil bernama 9Router mulai dipakai luas oleh pengguna Claude Code, Codex, dan Cursor untuk menyiasati batas kuota. Dari titik itulah OmniRoute lahir sebagai fork dari 9Router, ditulis ulang dalam TypeScript, digabungkan dengan hasil porting proyek Go bernama CLIProxyAPI, lalu berkembang menjadi gateway dengan ratusan penyedia, belasan strategi routing, dan pipeline kompresi token yang jauh lebih agresif daripada pendahulunya. Hubungan keduanya bukan sekadar catatan sejarah repositori: perbedaan arsitektur, cakupan fitur, dan cara masing-masing proyek menangani kegagalan penyedia menentukan pilihan mana yang layak dipasang di mesin kerja seorang pengembang. Bagian berikut menguraikan asal-usul fork tersebut, apa yang berubah secara teknis, dan bagaimana profesional menilai kedua proyek sebelum memutuskan.

Apa Itu OmniRoute dan Bagaimana Kaitannya dengan 9Router

9Router - Free AI Router | Smart Fallback for Claude, Codex & More

OmniRoute adalah gateway AI lokal berlisensi MIT yang menyatukan ratusan penyedia model bahasa di balik satu endpoint kompatibel OpenAI. Proyek ini bermula sebagai fork dari 9Router sekaligus porting TypeScript dari proyek Go bernama CLIProxyAPI, lalu dikembangkan dengan subsistem tambahan seperti kompresi token, server MCP, dan routing multi-strategi.

Posisi keduanya di alur kerja sebenarnya sama. Alat pengodean seperti Claude Code, Codex CLI, Cursor, atau Cline diarahkan ke endpoint lokal, dan gateway itulah yang memutuskan penyedia mana yang benar-benar melayani permintaan.

Perbedaannya terletak pada kedalaman. 9Router memosisikan diri sebagai router gratis dengan fallback tiga tingkat dan penghematan token melalui RTK, sementara OmniRoute memperluas ide yang sama menjadi platform dengan katalog penyedia jauh lebih besar dan lapisan ketahanan yang lebih rinci.

Garis Keturunan Teknis: Fork 9Router Ditambah Porting CLIProxyAPI

Dokumentasi resmi OmniRoute menyebut asal-usulnya secara terbuka. Proyek ini dimulai sebagai fork 9Router dan porting TypeScript dari CLIProxyAPI yang ditulis dalam bahasa Go, dengan pengakuan bahwa hampir setiap subsistem di dalamnya terinspirasi proyek sumber terbuka yang lebih dulu ada.

Pengakuan semacam itu jarang ditulis sejelas ini di README proyek populer. Efeknya positif untuk penilaian kepercayaan: pengembang yang ingin mengaudit asal fitur tertentu punya jejak yang bisa diikuti.

Sisi 9Router pun mencatat hubungan tersebut. Repositori 9Router menyebut OmniRoute sebagai fork TypeScript berfitur lengkap, dengan tambahan penyedia, fallback empat tingkat, API multimodal untuk gambar, embedding, audio, dan text-to-speech, circuit breaker, cache semantik, kerangka evaluasi model, serta dashboard yang lebih rapi.

Mengapa Status Fork Berpengaruh pada Keputusan Teknis

Dalam pengembangan perangkat lunak, fork berarti mengambil salinan basis kode dan melanjutkan pengembangan secara terpisah. Kode awal boleh sama, tetapi arah desain, kualitas, dan tempo rilis bisa berbeda tajam setelahnya.

Konsekuensi praktisnya ada tiga:

  • Bug yang dilaporkan di proyek asal tidak otomatis hilang di fork, dan sebaliknya.

  • Konfigurasi serta nama variabel bisa berbeda meski konsepnya identik.

  • Dokumentasi lama dari upstream berpotensi menyesatkan pengguna fork.

Masalah Nyata yang Melahirkan Fork Ini

Router AI lokal muncul dari keluhan yang berulang di lingkungan kerja pengembang. Kuota langganan berbayar habis di tengah sesi, sementara kuota lain justru menganggur sampai tanggal reset.

Situs 9Router merangkum keluhan itu dalam tiga poin: kuota langganan kedaluwarsa tanpa terpakai, batas laju memotong sesi pengodean di tengah jalan, dan pergantian penyedia secara manual memakan waktu. Solusi yang ditawarkan berbentuk fallback tiga tingkat, dari langganan ke model murah lalu ke tingkat gratis.

OmniRoute mengambil kerangka masalah yang sama dan menambahkan satu lapisan lagi. Rantai fallback menjadi empat tingkat: langganan, kunci API berbayar, model murah, lalu penyedia gratis yang selalu menyala.

Beban Token dari Keluaran Alat

Sumber pemborosan yang sering luput adalah keluaran perkakas. Hasil git diff, grep, log build, dan daftar berkas masuk ke konteks dalam bentuk mentah dan menghabiskan token tanpa menambah makna.

9Router menjawabnya dengan RTK yang mengompres hasil tool_result dengan klaim penghematan 20–40 persen. OmniRoute menumpuk RTK dengan Caveman dan beberapa mesin lain sehingga penghematan yang diklaim membentang 15–95 persen tergantung jenis muatan.

Perbandingan 9Router dan OmniRoute Secara Berdampingan

Tabel berikut merangkum angka yang dipublikasikan masing-masing proyek. Nilai seperti jumlah penyedia dan versi berubah cepat, jadi pemeriksaan ulang di laman resmi tetap diperlukan sebelum dijadikan dasar keputusan.

Aspek

9Router

OmniRoute

Status

Proyek asal (upstream)

Fork TypeScript dari 9Router plus porting CLIProxyAPI

Bahasa dan stack

Node.js dengan Next.js 16

TypeScript penuh dengan Next.js 16 dan React 19

Jumlah penyedia

60+

250–268 tergantung versi katalog

Penyedia gratis

8 gratis selamanya

90+ dengan tingkat gratis, 11 gratis selamanya

Fallback

3 tingkat

4 tingkat

Strategi routing

3 tingkat prioritas

17–18 strategi

Kompresi token

RTK, 20–40 persen

RTK dan Caveman bertumpuk, 15–95 persen

Server MCP bawaan

Tidak tersedia

Tersedia dengan 94–104 alat

Protokol A2A

Tidak tersedia

Tersedia dengan 6 skill JSON-RPC 2.0

Lapisan ketahanan

Cooldown

Circuit breaker, cooldown, dan lockout model

Endpoint lokal

localhost:20128

localhost:20128

Lisensi

MIT

MIT

Lokalisasi antarmuka

4 bahasa

42 bahasa

Satu hal patut dicatat dari tabel itu. Nomor port yang sama menandakan kompatibilitas konfigurasi yang tinggi, sehingga panduan setup 9Router untuk Claude Code, Codex, Cursor, dan Cline umumnya masih relevan secara konsep untuk OmniRoute.

Cara Membaca Angka Penyedia dengan Sehat

Angka penyedia mudah disalahpahami sebagai ukuran kualitas. Katalog 268 penyedia tidak berarti 268 pilihan yang layak dipakai untuk pekerjaan serius.

Sebagian besar entri berupa gateway agregator, penyedia embedding, penyedia gambar, atau layanan regional dengan kuota kecil. Nilai sebenarnya muncul ketika beberapa penyedia disusun menjadi rantai fallback yang benar-benar tidak pernah kosong.

Perubahan Arsitektur: dari JavaScript Warisan ke TypeScript

Pergeseran bahasa menjadi pembeda struktural paling besar antara upstream dan fork. OmniRoute mendeskripsikan dirinya sebagai proyek TypeScript menyeluruh di seluruh direktori sumber, dengan klaim nol penggunaan tipe any pada modul inti sejak versi 2.0.

Dampaknya terasa di pemeliharaan. Perubahan pada satu subsistem lebih mudah divalidasi sebelum runtime, dan kontrak antar modul terdokumentasi melalui tipe alih-alih konvensi lisan.

Beban Pemetaan Struktur Saat Memindahkan Perbaikan

Konsekuensi dari perbedaan bahasa muncul saat perbaikan bug perlu dipindahkan dari upstream ke fork. Struktur JavaScript lama tidak berpadanan satu-satu dengan pola TypeScript modern yang dipakai fork.

Masalah ini cukup nyata sampai ada skill khusus yang dibuat untuk menanganinya. Skill bernama port-upstream-issues-cc menyediakan alur kerja bagi pemelihara fork OmniRoute untuk memanen, menyaring, dan menyelesaikan laporan bug dari repositori upstream 9Router.

Fitur utamanya mencakup:

  • Pemetaan arsitektur otomatis yang menerjemahkan struktur JavaScript warisan ke pola TypeScript modern.

  • Kebijakan reproduksi lebih dulu sebelum perbaikan ditulis.

  • Penggunaan Git worktree agar pengembangan terisolasi dari cabang utama.

  • Buku besar deduplikasi supaya isu yang sudah diselesaikan tidak diporting ulang.

  • Pemeliharaan atribusi penulis asli dalam riwayat commit.

  • Hubungan hanya-baca terhadap pelacak isu upstream demi menjaga batas antarproyek.

Pilihan hanya-baca terhadap pelacak upstream layak dicermati. Kebijakan itu mencegah fork membanjiri ruang diskusi proyek asal, sebuah masalah etika yang sering muncul pada fork besar.

Katalog Penyedia dan Aritmetika Tingkat Gratis

Klaim yang paling menarik perhatian pengguna baru biasanya soal biaya. OmniRoute menampilkan estimasi sekitar 1,6 miliar token gratis per bulan hasil agregasi tingkat gratis dari puluhan kolam penyedia, dengan potensi lebih tinggi pada bulan pertama karena kredit pendaftaran.

Metode penghitungannya dijelaskan sebagai pool-deduped, artinya satu kolam gratis yang dibagi beberapa akun dihitung sekali saja. Dokumentasinya juga menyatakan bahwa menghitung setiap batas laju secara penuh sepanjang waktu akan menghasilkan angka jauh lebih besar, dan angka itu sengaja tidak dipublikasikan.

Transparansi metode seperti ini membantu penilaian, meski angkanya tetap perlu diperlakukan sebagai estimasi. Ketentuan penyedia berubah tanpa pemberitahuan, dan dashboard proyek menandai status ketentuan per penyedia.

Contoh Penyedia Tingkat Gratis yang Sering Dipakai

Penyedia

Model yang tersedia

Kuota yang didokumentasikan

Kiro

Claude Sonnet 4.5, Haiku 4.5, Opus 4.6

Sekitar 50 kredit per bulan per akun

Qoder

kimi-k2-thinking, qwen3-coder-plus, deepseek-r1

Tanpa batas kredit per akun

Pollinations

GPT-5, Claude, Gemini, Llama 4

Tanpa kunci API

Cerebras

Qwen3 235B, GPT-OSS 120B

1 juta token per hari

Cloudflare AI

50+ model

10.000 neuron per hari

NVIDIA NIM

129 model

Sekitar 40 permintaan per menit

LongCat

LongCat-2.0

10 juta token sekali pakai dengan verifikasi

Kiro sendiri merupakan contoh menarik karena juga memiliki router internal. Dokumentasi resmi Kiro menjelaskan bahwa mode Auto miliknya mengarahkan setiap tugas ke model yang dinilai paling sesuai, sehingga terjadi routing berlapis ketika Kiro dipakai sebagai penyedia di dalam gateway lokal.

Strategi Routing: dari Tiga Tingkat ke Delapan Belas Strategi

Perbedaan paling praktis antara upstream dan fork terletak pada cara keputusan routing dibuat. 9Router menawarkan tiga tingkat prioritas yang jelas dan mudah dipahami.

OmniRoute memecah keputusan itu menjadi 18 strategi yang bisa dipasang per langkah combo. Kelompoknya kurang lebih sebagai berikut:

  1. Menghabiskan langganan lebih dulu melalui priority dan fill-first.

  2. Menyebar beban melalui round-robin, p2c, least-used, dan weighted.

  3. Mengejar biaya termurah melalui cost-optimized.

  4. Menyesuaikan panjang konteks melalui context-relay dan context-optimized.

  5. Randomisasi melalui random dan strict-random.

  6. Penilaian adaptif melalui auto, lkgp, reset-aware, dan reset-window.

  7. Orkestrasi lanjutan melalui fusion dan pipeline.

Dua strategi terakhir menyimpang dari konsep router sederhana. fusion menyebarkan satu permintaan ke panel model lalu memakai model penilai untuk menyintesis satu jawaban, sedangkan pipeline merantai keluaran satu target menjadi masukan target berikutnya.

Mode auto untuk Pengguna yang Tidak Ingin Mengonfigurasi

Bagi pengguna yang enggan menyusun combo manual, tersedia keluarga model virtual dengan awalan auto. Setiap varian mengoptimalkan dimensi berbeda.

Model ID

Optimasi utama

auto

Seimbang, lengket ke penyedia terakhir yang berhasil

auto/coding

Bobot kualitas untuk pembuatan kode

auto/fast

Latensi terendah

auto/cheap

Biaya per token terendah

auto/offline

Sisa kuota terbanyak

auto/smart

Kualitas dengan eksplorasi sekitar 10 persen

Mesin penilaian di belakangnya dijelaskan menimbang belasan faktor, termasuk kesehatan penyedia, sisa kuota, biaya, latensi, dan tingkat keberhasilan. Pendekatan ini menghilangkan kebutuhan menyusun daftar prioritas manual, tetapi mengurangi kepastian tentang model mana yang benar-benar menjawab.

Quota-Share untuk Satu Langganan yang Dipakai Bersama

Fitur yang tidak ada di upstream adalah pembagian kuota satu akun ke beberapa kunci. Skenario yang disasar adalah tim dengan satu langganan Codex, satu kunci Kimi, atau satu seat GLM Coding yang dipakai bersama.

Mekanismenya memakai bobot alokasi per kunci, misalnya 50, 30, dan 20 persen dari kuota jendela lima jam. Kebijakannya dapat diatur menjadi hard yang memblokir kelebihan pemakaian, soft yang menurunkan prioritas, atau burst yang mengizinkan pemakaian sisa kuota anggota lain yang menganggur.

Sifat work-conserving menjadi pembeda penting. Kuota anggota yang tidak aktif dipinjamkan alih-alih terbuang, sehingga total pemakaian kolam tetap tinggi.

Ketahanan Tiga Lapis Sebagai Pembeda Utama

Router sederhana biasanya hanya mengenal satu bentuk penanganan kegagalan berupa cooldown. Pendekatan itu bermasalah karena satu kunci bermasalah bisa mematikan seluruh penyedia.

OmniRoute memecah penanganan kegagalan menjadi tiga cakupan bersarang:

  • Circuit breaker pada tingkat penyedia, berhenti menghantam penyedia yang gagal di sisi upstream dan memeriksa kembali secara berkala.

  • Cooldown koneksi pada tingkat kunci atau akun, melewati kunci yang terkena batas laju sementara kunci lain tetap melayani.

  • Lockout model pada tingkat pasangan penyedia dan model, mengarantina satu model yang kehabisan kuota tanpa mematikan model lain di koneksi yang sama.

Urutannya digambarkan sebagai model di dalam koneksi di dalam penyedia. Pemulihannya bersifat lazy tanpa timer latar belakang, sehingga tidak ada proses periodik yang membebani mesin saat idle.

Bagi tim yang menjalankan gateway untuk beberapa pengguna, granularitas ini berdampak langsung pada ketersediaan. Kegagalan satu model tidak lagi menular ke seluruh rantai.

Pipeline Kompresi Token yang Jauh Lebih Dalam

Kompresi adalah area di mana fork bergerak paling jauh dari upstream. RTK milik 9Router bekerja pada hasil perkakas dan mengklaim penghematan 20–40 persen secara lossless dengan pengaturan aktif secara bawaan.

OmniRoute menyusun sepuluh mesin yang berjalan berurutan dan dapat dinyalakan per combo. Setiap mesin menangani jenis pemborosan berbeda.

  1. Session-Dedup membuang konten yang berulang antar putaran percakapan.

  2. CCR mengarsipkan blok besar di balik penanda dan mengambilnya saat dibutuhkan.

  3. RTK menyaring, mendeduplikasi, dan memotong hasil perkakas secara sadar-perintah.

  4. Headroom memadatkan array JSON homogen secara lossless.

  5. Relevance menilai kalimat berdasarkan relevansi terhadap kueri terakhir.

  6. Caveman memangkas prosa dengan aturan, klaim 65–75 persen pada keluaran.

  7. LLMLingua-2 melakukan pemangkasan semantik berbasis model ONNX.

  8. Lite merapikan spasi dan URL gambar sebagai baseline ringan.

  9. Aggressive merangkum dan menuakan putaran lama secara progresif.

  10. Ultra memangkas token secara heuristik dengan opsi lapisan model kecil.

Preset Kompresi dan Perkiraan Penghematan

Mode

Perkiraan penghematan

Paling cocok untuk

Lite

Sekitar 15 persen

Bawaan aman yang selalu aktif

Standard (Caveman)

Sekitar 30 persen

Pengodean harian

Aggressive

Sekitar 50 persen

Sesi panjang dengan banyak perkakas

Ultra

Sekitar 75 persen

Penghematan maksimum

RTK

60–90 persen

Keluaran shell, test, build, dan git

Stacked (RTK ke Caveman)

78–95 persen

Campuran prompt dan log perkakas

Blok kode, URL, dan data terstruktur dinyatakan selalu dipertahankan utuh oleh mesin preservasi. Klaim ini penting karena kompresi yang menyentuh kode akan langsung merusak hasil kerja.

Ada juga pengaman tambahan berupa inflation guard yang aktif secara bawaan. Jika hasil kompresi justru lebih panjang daripada aslinya, prompt asli yang dikirim.

Contoh Perbandingan Sebelum dan Sesudah

Dokumentasi proyek menampilkan contoh mode Standard. Penjelasan panjang tentang re-render komponen React sepanjang 69 token dipadatkan menjadi 19 token tanpa kehilangan substansi teknis.

Angka penghematan bertumpuk dihitung dengan rumus sederhana. Kombinasi RTK 80 persen dan Caveman 46 persen pada muatan yang sama menghasilkan penghematan rata-rata sekitar 89 persen.

Dukungan Protokol Agen: MCP, A2A, dan Cloud Agents

Perbedaan lain yang tidak dimiliki upstream adalah dukungan protokol agen. OmniRoute tidak hanya menjadi klien, tetapi juga mengekspos dirinya sebagai server.

Server MCP bawaannya menyediakan sekitar 94 hingga 104 alat yang tersebar di puluhan cakupan, mencakup routing, penyedia, combo, kompresi, memori, dan evaluasi. Transportnya tersedia dalam bentuk stdio, HTTP streaming, dan SSE.

Konsep di baliknya adalah Model Context Protocol, standar terbuka yang didokumentasikan resmi oleh Anthropic untuk menghubungkan model dengan alat dan sumber data eksternal. Karena gateway itu sendiri terekspos sebagai alat, agen yang terhubung bisa mengubah konfigurasi routing secara mandiri.

Protokol A2A dihadirkan dengan enam skill berbasis JSON-RPC 2.0, meliputi routing pintar, informasi kuota, penemuan layanan, analisis biaya, dan pelaporan kesehatan. Di luar itu tersedia integrasi cloud agent untuk Codex, Cursor, Devin, dan Jules.

Catatan Keamanan untuk Eksposur MCP

Kemampuan agen mengubah konfigurasi gateway membawa risiko yang jelas. Cakupan token perlu dibatasi sesuai kebutuhan, dan rute yang memicu proses baru sebaiknya tetap terbatas pada loopback.

Dokumentasi menyebut token bercakupan read, write, dan admin. Pemakaian cakupan admin untuk agen otomatis sebaiknya dihindari kecuali ada alasan kuat.

Cara Memasang OmniRoute dan Menghubungkan Alat Pengodean

Alur pemasangan pada dasarnya sederhana dan mirip dengan upstream. Panduan yang beredar untuk 9Router maupun OmniRoute mengikuti pola yang sama: pasang paket global, buka dashboard, hubungkan penyedia, lalu arahkan alat pengodean ke endpoint lokal.

Langkah-langkahnya:

  1. Pasang paket secara global menggunakan pengelola paket Node.js.

  2. Jalankan perintah utama sehingga API dan dashboard aktif pada port yang sama.

  3. Hubungkan satu penyedia gratis dari dashboard, misalnya penyedia tanpa kunci API.

  4. Salin kunci endpoint dari bagian pengaturan endpoint di dashboard.

  5. Arahkan alat pengodean ke base URL lokal dengan model auto atau combo buatan sendiri.

  6. Verifikasi dengan memanggil daftar model melalui permintaan HTTP sederhana.

Base URL yang dipakai adalah http://localhost:20128/v1. Nilai port ini sama pada kedua proyek, sehingga migrasi konfigurasi antar keduanya relatif mudah.

Jalur Pemasangan yang Tersedia

Platform

Karakteristik

npm global

Satu perintah, berjalan di sistem operasi apa pun

Docker

Citra multi-arsitektur untuk AMD64 dan ARM64

Desktop Electron

Jendela native dengan tray, untuk Windows, macOS, dan Linux

ARM native

Cocok untuk Raspberry Pi, server ARM, dan Apple Silicon

Android via Termux

Berjalan di ponsel tanpa akses root

PWA

Dipasang dari peramban, mendukung mode offline

Dari sumber

Untuk kontribusi dan modifikasi

Node.js menjadi prasyarat utama. Dokumentasi proyek menyebut rentang versi yang didukung, dan informasi siklus dukungan setiap versi dapat diperiksa di halaman rilis resmi Node.js.

Kompatibilitas dengan Alat Pengodean

Daftar alat yang didukung mencakup Claude Code, Codex CLI, Cursor, Cline, GitHub Copilot, Continue, OpenCode, Kilo Code, Roo Code, Droid, Antigravity, hingga OpenClaw. Angka yang disebut berkisar 16 hingga 24 alat tergantung versi dokumentasi.

Tersedia juga perintah setup khusus per alat. Pendekatan ini menghemat waktu dibandingkan menyunting berkas konfigurasi setiap alat secara manual.

Kapan Tetap Masuk Akal Memakai 9Router

Fork yang lebih besar tidak otomatis menjadi pilihan yang lebih baik. Ada situasi di mana proyek asal justru lebih sesuai.

  • Kebutuhannya sederhana. Fallback tiga tingkat sudah menyelesaikan masalah kuota tanpa konfigurasi rumit.

  • Permukaan konfigurasi ingin dijaga kecil. Katalog 60 penyedia lebih mudah dipahami daripada ratusan entri.

  • Perangkat terbatas. Instalasi yang lebih ringan mengurangi beban pada mesin lama.

  • Kepatuhan menuntut audit kode yang realistis. Basis kode lebih kecil lebih cepat ditelaah tim keamanan internal.

Sisi lain juga perlu dipertimbangkan. Tanpa server MCP bawaan, cache semantik, dan lapisan ketahanan berjenjang, pengguna 9Router perlu menerima keterbatasan tersebut atau membangun solusinya sendiri.

Fork Lain di Sekitar Ekosistem 9Router

OmniRoute bukan satu-satunya turunan. Seorang pengembang di Indonesia mendokumentasikan fork kustom 9Router yang dibuat untuk mengelola banyak akun penyedia AI sekaligus.

Perbaikan yang dilaporkan pada fork tersebut meliputi:

  • Sistem alokasi koneksi berupa kolam akun khusus per kunci API, memisahkan lingkungan produksi, pengujian, dan pengembangan.

  • Mekanisme fallback yang diperbaiki, melewati koneksi tidak tersedia dan memilih akun aktif secara acak alih-alih mengikuti urutan prioritas statis.

  • Dukungan CodeBuddy International dengan alur OAuth device code untuk penyediaan akun berbasis GSuite.

  • Antarmuka manajemen kunci API dengan pelacakan kredit dan pembatasan laju berbasis permintaan atau token.

  • Optimasi performa berupa cache kuota selama 60 detik dan pemuatan kredit secara batch.

Keberadaan beberapa fork sekaligus menandakan sesuatu tentang basis kode aslinya. Arsitektur 9Router cukup mudah dimodifikasi, dan kebutuhan pengguna cukup beragam sehingga satu implementasi tidak memuaskan semua pihak.

Lisensi, Distribusi, dan Jejak Rilis

Kedua proyek berlisensi MIT, salah satu lisensi permisif yang paling banyak dipakai di dunia sumber terbuka. Teks resminya tersedia di daftar lisensi Open Source Initiative.

Lisensi permisif inilah yang secara hukum memungkinkan fork berjalan tanpa hambatan. Modifikasi, redistribusi, dan penggunaan komersial diizinkan selama pemberitahuan hak cipta dipertahankan.

Jalur distribusi OmniRoute cukup lebar untuk proyek yang relatif muda:

Saluran

Catatan

npm

Paket omniroute dengan puluhan ribu unduhan per pekan

Docker Hub

Citra resmi dengan dukungan multi-arsitektur

GitHub

Repositori utama beserta rilis Electron

SourceForge

Mirror tidak resmi yang menyatakan diri sebagai cermin persis repositori

AUR

Paket biner untuk Arch Linux

Catatan pada mirror SourceForge menyebutkan bahwa layanan tersebut tidak berafiliasi dengan proyek. Untuk kebutuhan produksi, sumber resmi tetap lebih aman karena rantai pasoknya lebih jelas.

Tempo Rilis dan Implikasinya

Riwayat versi paket menunjukkan tempo rilis yang tinggi, dengan penomoran yang bergerak cepat dalam hitungan bulan sejak paket pertama dipublikasikan. Ritme seperti ini punya dua sisi.

Fitur baru datang cepat, tetapi permukaan perubahan juga besar. Tim yang menjalankan gateway untuk beberapa pengguna sebaiknya menyematkan versi tertentu dan menguji sebelum memutakhirkan.

Pendekatan Local-First dan Implikasi Privasinya

Karakter yang diwarisi fork dari upstream adalah sifat lokal. Gateway berjalan di mesin pengguna, dan tidak ada layanan cloud milik proyek yang berada di jalur permintaan.

Klaim yang dinyatakan mencakup:

  • Kredensial disegel saat disimpan menggunakan enkripsi AES-256-GCM.

  • Tanpa telemetri secara bawaan, prompt hanya menuju penyedia yang dipilih pengguna.

  • Pembatasan berupa cakupan kunci API, penyaringan IP, batas laju, dan penjaga prompt injection.

  • Rute yang memicu proses dibatasi pada loopback.

Sifat lokal menggeser tanggung jawab keamanan ke pengguna. Pembaruan, alur OAuth, dan enkripsi disk menjadi urusan operator, bukan penyedia layanan.

Ada pula fitur yang perlu dipertimbangkan matang sebelum dipakai di lingkungan kerja formal. Mode MITM dan TPROXY memungkinkan penangkapan lalu lintas dari alat yang mengabaikan variabel proxy, dan pemakaiannya menyentuh ketentuan layanan penyedia.

Perbandingan dengan Gateway Lain di Kategori yang Sama

Dokumentasi OmniRoute menyandingkan dirinya dengan tiga proyek lain. Perbandingan buatan pengembang sendiri perlu dibaca dengan kesadaran bahwa penyusunnya punya kepentingan.

Aspek

OmniRoute

9Router

LiteLLM

CLIProxyAPI

Bahasa

TypeScript

Node.js

Python

Go

Jumlah penyedia

268

40+

100+

8+ upstream

Strategi routing

17

3 tingkat

Retry dan prioritas

Round-robin dan fill-first

Kompresi token

RTK dan Caveman

RTK

Tidak ada

Hanya brotli HTTP

Server MCP

Server dengan 104 alat

Tidak ada

Klien MCP

Tidak ada

Protokol A2A

Server dengan 6 skill

Tidak ada

Klien A2A

Tidak ada

Lapisan ketahanan

Tiga lapis

Cooldown

Cooldown

Cooldown

Lisensi

MIT

MIT

MIT dan komersial

MIT

Catatan kejujuran yang disertakan dokumentasi cukup spesifik. LiteLLM diposisikan sebagai klien MCP dan A2A, bukan server, sementara CLIProxyAPI juga memiliki fitur TLS stealth melalui utls.

Untuk lingkungan perusahaan besar, LiteLLM masih sering menjadi pilihan karena posisinya sebagai lapisan proxy dengan dukungan komersial. OmniRoute lebih tepat digambarkan sebagai laboratorium routing yang berjalan di localhost.

Risiko dan Batasan yang Perlu Diperhitungkan

Dokumentasi proyek sendiri mencantumkan beberapa keterbatasan, dan kejujuran itu memudahkan penilaian.

  • Kompleksitas operasional. Ratusan penyedia berarti permukaan konfigurasi luas, sehingga memulai dengan mode auto dan satu penyedia gratis lebih realistis.

  • Tanggung jawab operator. Pemutakhiran, alur OAuth, dan enkripsi disk dikelola sendiri.

  • Angka tingkat gratis bersifat estimasi. Ketentuan penyedia berubah dan dashboard menandai statusnya per penyedia.

  • Bukan pengganti kualitas model frontier. Combo memperpanjang akses, bukan menciptakan kemampuan baru.

  • Ketergantungan versi runtime. Rentang versi Node.js yang didukung perlu dipenuhi agar instalasi berjalan lancar.

Satu risiko tambahan berkaitan dengan status fork. Ketika bug diperbaiki di upstream, pengguna fork bergantung pada proses porting yang dijalankan pemelihara, dan sebaliknya perbaikan di fork tidak selalu kembali ke upstream.

Pertimbangan Kepatuhan untuk Organisasi

Fitur intersepsi lalu lintas IDE menimbulkan pertanyaan kepatuhan yang tidak bisa diabaikan. Dokumentasi 9Router sendiri mengingatkan agar kebijakan masing-masing alat diperhatikan saat memakai jembatan MITM.

Organisasi dengan aturan pengadaan formal sebaiknya memeriksa ketentuan langganan penyedia sebelum mengarahkan lalu lintas melalui gateway pihak ketiga. Penghematan biaya tidak sebanding dengan risiko pemutusan akun.

Kesalahan Umum Saat Beralih dari 9Router ke OmniRoute

  1. Menyalin konfigurasi lama tanpa penyesuaian. Nama variabel, struktur combo, dan opsi kompresi sudah berbeda meski port lokalnya sama.

  2. Mengaktifkan kompresi paling agresif sejak awal. Preset Ultra menekan token dalam jumlah besar, tetapi pengujian pada muatan asli tetap diperlukan.

  3. Mengandalkan angka penyedia sebagai jaminan ketersediaan. Ketersediaan nyata bergantung pada kunci dan kuota yang benar-benar terhubung.

  4. Melewatkan pengaturan cakupan token MCP. Cakupan admin yang diberikan sembarangan membuka pintu perubahan konfigurasi tanpa kendali.

  5. Memutakhirkan versi tanpa pengujian. Tempo rilis yang cepat berarti perubahan perilaku bisa muncul antar versi minor.

  6. Menganggap kredit yang tercatat di dashboard sebagai tagihan. Angka tersebut berfungsi sebagai pelacak penghematan, bukan biaya yang ditagihkan oleh proyek.

Indikator yang Layak Dipantau Setelah Gateway Berjalan

Pemantauan sederhana membantu memastikan gateway benar-benar memberi nilai, bukan hanya menambah satu lapisan yang perlu dirawat.

  • Rasio permintaan yang jatuh ke tingkat gratis. Angka tinggi menandakan kuota langganan tidak terpakai optimal atau justru sudah habis terlalu cepat.

  • Frekuensi circuit breaker terbuka. Lonjakan menandakan ada penyedia bermasalah yang perlu dikeluarkan dari combo.

  • Penghematan token nyata per sesi. Bandingkan dengan klaim preset untuk melihat apakah muatan kerja benar-benar cocok dengan mesin kompresi yang aktif.

  • Latensi tambahan akibat routing. Perpindahan penyedia menambah waktu, dan angkanya perlu masuk perhitungan pengalaman pengguna.

  • Jumlah kunci yang berada dalam cooldown. Nilai yang terus tinggi menunjukkan kolam akun terlalu kecil untuk beban yang ada.

Pemantauan indikator kedua sebaiknya diprioritaskan. Penyedia yang sering gagal tetap dihitung sebagai bagian katalog meski praktis tidak berguna.

Pertanyaan yang Sering Muncul tentang OmniRoute dan 9Router

Apakah OmniRoute benar-benar fork dari 9Router?

Ya. Dokumentasi resmi OmniRoute menyatakan proyek ini dimulai sebagai fork 9Router sekaligus porting TypeScript dari proyek Go CLIProxyAPI, dan repositori 9Router juga menyebut OmniRoute sebagai fork TypeScript berfitur lengkap.

Apa perbedaan paling besar antara keduanya?

Skala dan kedalaman fitur. OmniRoute membawa katalog penyedia jauh lebih besar, 18 strategi routing, pipeline kompresi sepuluh mesin, server MCP dan A2A, serta ketahanan tiga lapis, sementara 9Router berfokus pada fallback tiga tingkat dan kompresi RTK.

Apakah keduanya gratis?

Keduanya berlisensi MIT dan berjalan di perangkat pengguna tanpa sistem penagihan dari proyek. Biaya hanya muncul dari penyedia berbayar yang dihubungkan sendiri oleh pengguna.

Apakah konfigurasi 9Router bisa langsung dipakai di OmniRoute?

Base URL lokalnya sama, sehingga arah pengaturan alat pengodean tidak berubah. Struktur combo, nama opsi, dan pengaturan kompresi berbeda, jadi penyesuaian tetap diperlukan.

Apakah kompresi token merusak kualitas kode?

Dokumentasi menyatakan blok kode, URL, dan data terstruktur selalu dipertahankan utuh, dan kompresi menyasar prosa serta keluaran perkakas yang berulang. Pengujian pada muatan kerja nyata tetap disarankan sebelum preset agresif dipakai rutin.

Berapa jumlah penyedia yang sebenarnya tersedia?

Angkanya bergerak antara 231 dan 268 tergantung versi katalog yang dirujuk, sehingga nilai terbaru sebaiknya diperiksa langsung di laman resmi. Yang lebih relevan adalah jumlah penyedia yang benar-benar terhubung dan punya kuota aktif.

Apakah gateway ini bisa berjalan di ponsel?

Bisa. Jalur pemasangan melalui Termux di Android disebut secara eksplisit, bersama dukungan ARM native untuk Raspberry Pi dan Apple Silicon.

Bagaimana perbaikan bug dari 9Router masuk ke OmniRoute?

Melalui proses porting manual yang dibantu skill khusus. Alur kerjanya memanen isu dari upstream, memetakan struktur JavaScript lama ke pola TypeScript, mereproduksi bug lebih dulu, lalu menerapkan perbaikan dengan atribusi penulis asli tetap terjaga.

Apakah gateway lokal ini cocok untuk lingkungan produksi perusahaan?

Sifat local-first dan kendali penuh atas kunci menjadi nilai tambah, namun tanggung jawab pemutakhiran, audit, dan kepatuhan sepenuhnya berada di operator. Organisasi dengan kebutuhan dukungan formal biasanya membandingkannya dengan proxy komersial sebelum memutuskan.

Peta Jalan yang Terlihat dari Catatan Rilis

Arah pengembangan OmniRoute bisa dibaca dari daftar perubahan yang dipublikasikan antar versi. Fokusnya bergeser dari sekadar menambah penyedia menuju penguatan sisi operasional.

Beberapa penekanan yang terlihat konsisten:

  • Kejujuran pelaporan biaya. Penyedia berbasis langganan kini tercatat nol dolar pada analitik biaya alih-alih memakai estimasi per token yang menyesatkan.

  • Pengerasan kompresi. Aturan Caveman diperluas ke bahasa Jerman, Prancis, Jepang, dan Tionghoa klasik, sementara filter RTK ditambah untuk keluaran build Gradle dan dotnet.

  • Mode jarak jauh. Gateway dapat berjalan di VPS lalu dikendalikan dari mesin lain memakai token bercakupan.

  • Manajemen sidecar. Layanan lain termasuk 9Router dan CLIProxyAPI dapat dijalankan sebagai proses terkelola dari dashboard yang sama.

Poin terakhir membuat hubungan fork dan upstream terasa tidak biasa. Fork justru menyediakan cara menjalankan proyek asalnya sebagai layanan pendamping, sehingga keduanya dapat aktif berdampingan di satu mesin.

Lokalisasi sebagai Sinyal Ambisi

Perbedaan jumlah bahasa antarmuka sebenarnya bercerita banyak. Empat lokal pada upstream mencerminkan proyek yang melayani komunitas inti, sedangkan 42 lokal menandakan usaha menjangkau pengguna global.

Bahasa Indonesia termasuk dalam daftar lokal yang didukung. Untuk tim di Indonesia, hal itu mengurangi hambatan saat memperkenalkan gateway kepada anggota yang tidak nyaman dengan antarmuka berbahasa Inggris.

Cara Menilai Fork Sumber Terbuka Sebelum Dipakai

Menilai fork tidak sama dengan menilai proyek yang berdiri sendiri. Ada beberapa pemeriksaan yang layak dijadikan kebiasaan sebelum sebuah fork masuk ke alur kerja harian.

  1. Periksa pengakuan asal-usul. Fork yang menyebutkan upstream secara terbuka lebih mudah diaudit daripada yang menghapus jejaknya.

  2. Lihat cakupan pengujian otomatis. Angka pengujian yang tinggi tidak menjamin kualitas, tetapi ketidakhadirannya menjadi tanda bahaya.

  3. Cek jarak antara fork dan upstream. Semakin jauh basis kode menyimpang, semakin kecil kemungkinan perbaikan upstream bisa dipakai langsung.

  4. Telusuri jumlah kontributor aktif. Proyek yang bergantung pada satu orang berisiko berhenti tanpa peringatan.

  5. Baca lisensi dan pemberitahuan hak cipta. Kepatuhan lisensi tetap wajib meski lisensinya permisif.

  6. Uji jalur pembaruan. Pastikan proses pemutakhiran tidak merusak konfigurasi yang sudah berjalan.

Titik ketiga sering diabaikan. Fork yang berpindah bahasa pemrograman praktis kehilangan kemampuan menarik perubahan upstream secara otomatis, dan konsekuensinya adalah kerja porting manual yang berkelanjutan.

Konteks Lebih Luas: Gelombang Router AI Lokal

Kemunculan 9Router, OmniRoute, CLIProxyAPI, dan beberapa fork kustom di rentang waktu berdekatan menunjukkan pola. Pengguna alat pengodean berbasis model bahasa mencari cara mengelola biaya tanpa menyerahkan kunci API kepada perantara berbayar.

Kebutuhan itu berakar pada model bisnis penyedia. Kuota berbasis jendela waktu, batas laju yang ketat, dan harga per token yang berubah membuat pemakaian langsung terasa tidak terprediksi.

Router lokal menjawab dengan memindahkan keputusan ke sisi pengguna. Prinsipnya mirip dengan konsep reverse proxy yang sudah lama dipakai di infrastruktur web, hanya saja objek yang diarahkan adalah permintaan inferensi model, bukan permintaan HTTP biasa.

Sisi tata kelola juga bergerak sejalan. Dokumen seperti ISO/IEC 42001 tentang sistem manajemen kecerdasan artifisial menjadi rujukan organisasi yang perlu menunjukkan kendali atas aliran data ketika model pihak ketiga masuk ke proses kerja internal.

Tiga Pertimbangan Khusus untuk Tim di Indonesia

  • Latensi ke penyedia luar negeri. Sebagian besar endpoint penyedia berada di luar wilayah Indonesia, sehingga perpindahan antar penyedia bisa menambah waktu tunggu yang terasa oleh pengguna akhir.

  • Verifikasi identitas pada tingkat gratis. Beberapa penyedia gratis mensyaratkan proses verifikasi, dan kebijakan itu perlu dicek sebelum dijadikan bagian rantai fallback produksi.

  • Kebijakan internal soal kunci API. Menyimpan kunci di mesin pribadi memindahkan risiko ke perangkat individu, sehingga aturan enkripsi disk dan pengelolaan akses tetap perlu ditegakkan.

Pertimbangan kedua paling sering menimbulkan kejutan. Rantai fallback yang tampak solid di lingkungan uji bisa gagal saat penyedia gratis meminta verifikasi ulang di tengah beban kerja nyata.

Langkah Praktis untuk Mengevaluasi Kedua Proyek Berdampingan

Pendekatan yang paling informatif adalah menjalankan keduanya secara terpisah pada beban kerja yang sama. Port bawaan yang identik menuntut salah satunya dipindahkan ke port lain agar tidak berbenturan.

Metrik yang dibandingkan sebaiknya dibatasi pada tiga hal: jumlah sesi yang selesai tanpa terputus, total token yang benar-benar terkirim ke penyedia, dan waktu respons rata-rata. Perbandingan fitur di atas kertas jarang mencerminkan pengalaman nyata pada beban kerja spesifik sebuah tim.

Kesimpulan

Hubungan antara OmniRoute dan 9Router menggambarkan bagaimana sebuah fork bisa tumbuh melampaui proyek asalnya tanpa menghapus jejak asal-usulnya. 9Router menyelesaikan masalah inti dengan cara paling ringkas, yaitu fallback tiga tingkat dan kompresi RTK, sementara fork TypeScript-nya memperluas ide itu menjadi gateway dengan ratusan penyedia, belasan strategi routing, ketahanan berlapis, dan dukungan protokol agen.

Perbedaan itu bukan soal mana yang lebih unggul secara mutlak. Katalog besar menuntut waktu konfigurasi dan disiplin pemantauan, sedangkan proyek yang lebih sederhana memberi permukaan audit yang lebih kecil bagi tim dengan aturan kepatuhan ketat. Keduanya berlisensi MIT dan berjalan di mesin pengguna, sehingga kendali atas kunci dan data tetap berada di tangan operator.

Konsekuensi status fork juga perlu diterima secara sadar. Perpindahan bahasa pemrograman memutus jalur pembaruan otomatis dari upstream, dan proses porting manual dengan pemetaan arsitektur menjadi harga yang dibayar demi basis kode yang lebih modern. Untuk gambaran lebih luas tentang tata kelola perangkat lunak sumber terbuka, dokumentasi lisensi Open Source Initiative menyediakan rujukan yang jelas soal hak dan kewajiban yang menyertai lisensi permisif.

Langkah paling berguna bukan memilih berdasarkan daftar fitur, melainkan memasang salah satunya pada satu alur kerja pengodean yang benar-benar dipakai sehari-hari, lalu mengukur sesi yang selesai, token yang terkirim, dan waktu respons selama beberapa hari. Data dari lingkungan kerja sendiri akan menjawab pertanyaan tentang pilihan gateway jauh lebih tegas daripada tabel perbandingan mana pun.


Referensi

GitHub. (2026). 9Router: Free AI Router and Token Saver.

GitHub. (2026). OmniRoute: The Free AI Gateway.

MCPMarket. (2026). Upstream Issue Porter for OmniRoute: port-upstream-issues-cc Claude Code Skill.

9Router. (2026). 9Router: Free AI Router with Smart Fallback for Claude, Codex and More.

OmniRoute. (2026). OmniRoute: Free AI Gateway for Multi-Provider LLMs.

Kiro. (2026). Models.

Knightli. (2026). 9Router Setup Guide: Route Claude Code, Codex, and Cursor with Fallback.

npm. (2026). omniroute.

Knightli. (2026). OmniRoute Tutorial: Building a Local AI API Gateway and Automatic Routing.

ExplainX. (2026). OmniRoute: Free Local AI Gateway for Claude Code.

LinkedIn. (2026). Custom 9Router Fork for Multi-AI Provider Management.

SourceForge. (2026). OmniRoute Download.

Komentar (0)

Belum ada komentar. Jadilah yang pertama berbagi pendapat!

Tinggalkan komentar