Programming
9Router v0.5.35: Solusi Rate Limit AI Coding
Daftar isi
- Kenapa AI Coding Gateway Jadi Kebutuhan, Bukan Sekadar Hiasan
- Apa yang Baru di 9Router v0.5.35
- Grok Imagine Video Generation
- Copilot Claude Route
- Dukungan i18n: Thailand dan Farsi
- Prasyarat: Apa yang Perlu Disiapkan Sebelum Install
- Step 1: Install 9Router — Tiga Metode yang Tersedia
- Metode A: npm Global Install (Rekomendasi untuk Desktop)
- Metode B: Dari Source (Untuk Development)
- Metode C: Docker (Untuk Server/VPS)
- Step 2: Konfigurasi Provider Pertama Kamu
- Tier 1: Subscription (Provider Berbayar yang Kamu Udah Langganan)
- Tier 2: Cheap (Provider Murah sebagai Backup)
- Tier 3: FREE (Provider Gratis sebagai Last Resort)
- Step 3: Setting Up 3-Tier Fallback Strategy
- Step 4: Hubungkan CLI/IDE ke 9Router
- Setup Claude Code
- Setup Cursor
- Setup Codex (OpenAI)
- Setup Cline
- Setup GitHub Copilot (via MITM Bridge)
- Step 5: Aktifkan Token Saver (RTK dan Caveman Mode)
- RTK (Router Token Kompressor)
- Caveman Mode
- PXPipe (Token Saver Tambahan)
- Step 6: Konfigurasi Combo dan Multi-Account
- Smart Combos
- Multi-Account
- Step 7: Setup Remote Access dengan Cloudflare Tunnel
- Step 8: Menggunakan Format Translator
- Step 9: Menggunakan Web Search dan Web Fetch
- Web Search Provider
- Web Fetch Provider
- Step 10: Monitor Usage dan Quota Real-Time
- Step 11: Advanced Features yang Worth Dicoba
- Proxy Pools
- Headroom Proxy
- Thinking Level Picker
- Perbandingan: 9Router vs Alternatif Lain
- Studi Kasus: Dari Rate Limit Stress ke Zero Downtime
- Background
- Challenge
- Approach
- Implementation
- Results
- Key Learnings
- Error Umum dan Cara Troubleshooting
- Error 1: "ECONNREFUSED localhost:20128"
- Error 2: "OAuth flow gagal / token expired"
- Error 3: "Model not found / 400 Bad Request"
- Error 4: "Streaming timeout / hang"
- Error 5: "Docker container keep restarting"
- Error 6: "MITM Bridge tidak intercept traffic"
- Error 7: "npm install -g 9router gagal (permission error)"
- Tips Pro untuk Workflow yang Lebih Efisien
- 1. Pakai Combo Fusion untuk Task Kritis
- 2. Set Caveman Mode Dinamis
- 3. Monitor Token Saver Dashboard
- 4. Backup Config Regularly
- 5. Pakai Proxy Pool untuk Provider Region-Restricted
- 6. Update 9Router Secara Berkala
- Eksplorasi Fitur v0.5.35 Lebih Dalam
- Grok Imagine Video — Cara Pakai
- Copilot Claude Route — Setup Detail
- i18n Thailand dan Farsi — Cara Ganti Bahasa
- Perbandingan Metode Install: Mana yang Cocok untuk Kamu
- Best Practices untuk Tim yang Pakai 9Router
- 1. Shared API Key vs Individual Key
- 2. Set Combo Strategy Berdasarkan Tim Role
- 3. Regular Provider Health Check
- 4. Document Combo Configuration
- 5. Set Cost Alert
- Membedakan 9Router dengan Proxy Biasa
- Integrasi dengan Workflow Existing
- CI/CD Integration
- MCP (Model Context Protocol) Integration
- Custom Script Integration
- Keamanan dan Privacy Considerations
- Data Storage
- OAuth Token Security
- MITM Bridge Privacy
- SSRF Protection
- Tunnel Security
- Roadmap dan Arah Pengembangan 9Router
- Provider Expansion
- Token Saving Innovation
- Service Kind Expansion
- Community Growth
- Evaluasi Jujur: Kapan 9Router Nggak Cocok
- 1. Kalau Kamu Cuma Pakai Satu Provider dan Nggak Pernah Kena Limit
- 2. Kalau Kamu Butuh Enterprise Compliance
- 3. Kalau Kamu Nggak Nyaman dengan MITM Bridge
- 4. Kalau Kamu Butuh SLA Guarantee
- 5. Kalau Setup Complexity Nggak Worth It
- Optimasi Performa 9Router
- 1. Pilih Storage Backend yang Tepat
- 2. Limit Request Detail Log
- 3. Disable Telemetry
- 4. Optimize Docker Image
- 5. Use Health Check Endpoint
- Mengukur Dampak: Metrik yang Penting
- Cost Metrics
- Productivity Metrics
- Quality Metrics
- Komunitas dan Dukungan
- Pengetahuan yang MUGHU Pelajarin dari Trial and Error
- Kesimpulan
Saat lagi asyik ngoding jam 2 pagi, tiba-tiba layar terminal MUGHU memerah — rate limit lagi. Pesan error yang bikin mood hancur seketika. Kalau Teman-Teman pernah ngalamin hal serupa, pasti tahu rasanya: alur kerja putus tengah jalan, ide yang lagi mengalir langsung kendor, dan yang paling menyebalkan — kuota subscription yang nggak kepakai habis tiap bulan. Nah, di sinilah 9Router masuk sebagai solusi yang udah MUGHU pakai beberapa bulan terakhir, dan update terbarunya, versi 0.5.35, bawa beberapa perubahan yang cukup signifikan.
9Router itu pada dasarnya adalah smart gateway — satu proxy lokal yang jembatani tools coding favorit Teman-Teman (Claude Code, Cursor, Codex, Cline, Copilot, Antigravity, dan lainnya) ke 60+ AI provider lewat satu endpoint yang kompatibel dengan OpenAI API. Sistemnya pakai 3-tier fallback otomatis: subscription → cheap → free, jadi kalau satu provider kena limit, dia langsung switch ke yang lain tanpa interupsi. Update v0.5.35 ini nambahin fitur seperti Grok Imagine video generation, Copilot Claude route, dan dukungan i18n untuk bahasa Thailand dan Farsi.
Apa itu 9Router? Singkatnya: proxy AI lokal yang ngerute request dari CLI/IDE ke puluhan provider AI lewat satu endpoint di
localhost:20128/v1, dengan auto-fallback ketika quota habis dan token saver bawaan yang bisa hemat 20–65% token.
Dalam artikel ini, MUGHU bakal bedah tuntas mulai dari latar belakang kenapa tool kayak gini dibutuhkan, cara install dan konfigurasi versi terbaru, sampai tips troubleshooting yang MUGHU sendiri pelajarin dari trial-and-error. MUGHU bakal jujur soal hal-hal yang mulus dan yang nggak — biar Teman-Teman bisa tentuin apakah 9Router cocok untuk workflow kalian.
Kenapa AI Coding Gateway Jadi Kebutuhan, Bukan Sekadar Hiasan
Dulu MUGHU pikir cukup langganan satu provider — misalnya Claude Pro — dan selesai. Realitanya? Kuota 5 jam Claude Code habis lebih cepat dari yang diperkirakan, terutama pas lagi sprint atau refactor besar. Dan yang bikin kesel: sisa kuota yang nggak kepakai itu expired tiap reset window. Uang yang udah dikeluarin, hilang begitu saja.
Masalah ini bukan cuma MUGHU yang ngalamin. Banyak developer yang MUGHU temui di komunitas — baik di GitHub discussions maupun grup Telegram — ngalamin pola serupa. Beberapa nyoba juggling beberapa API key manual, tapi itu ribet banget dan rentan error. Yang lain pindah-pindah provider tiap kali kena limit, tapi itu ng putus fokus.
Inti masalahnya ada tiga:
- Kuota subscription yang expired tiap bulan — kamu bayar penuh tapi nggak selalu kepakai semua
- Rate limit yang ngehentikan coding session tengah jalan — paling frustrating pas lagi di "zone"
- Switching manual antar provider makan waktu — bukan tugas kreatif yang harusnya kamu fokusin
9Router solve ketiganya dengan pendekatan yang elegan: satu endpoint, smart routing, auto-fallback. Kamu nggak perlu mikirin provider mana yang lagi available — 9Router yang ngatur. Dan dengan update v0.5.35, ekosistemnya makin lengkap.
Apa yang Baru di 9Router v0.5.35
Sebelum masuk ke tutorial install, MUGHU mau bahas dulu apa yang berubah di versi ini. Berdasarkan release notes yang MUGHU lacak dari GitHub releases page, v0.5.35 membawa tiga fitur utama:
Grok Imagine Video Generation
Ini yang paling menarik buat MUGHU. Grok Imagine — fitur video generation dari xAI — sekarang bisa diakses lewat 9Router. Artinya, kalau Teman-Teman punya akses ke Grok/xAI, kalian bisa generate video langsung dari endpoint yang sama tanpa perlu setup API terpisah. Ini nambahin ke kemampuan 9 service kinds yang udah didukung 9Router: chat/LLM, embeddings, TTS, STT, image generation, vision/image-to-text, video generation, web search, dan web fetch.
Kenapa ini penting? Karena sebelum ini, kalau MUGHU mau generate video, MUGHU harus buka platform terpisah, bikin API call manual, dan integrate hasilnya ke workflow. Sekarang semuanya lewat satu localhost:20128/v1. Untuk tim yang lagi bangun produk dengan fitur multimodal, ini ngurangin complexity signifikan.
Copilot Claude Route
Fitur kedua: Copilot Claude route. GitHub Copilot subscription sekarang bisa dipakai untuk ngerute request ke model Claude lewat 9Router. Ini relevan banget buat developer yang punya Copilot subscription tapi kadang butuh kekuatan Claude untuk task tertentu — misalnya reasoning yang lebih dalam atau handling context yang lebih panjang.
Sebelumnya, Copilot MITM bridge udah ada (sejak versi 0.4.80-an), tapi sekarang rutenya lebih spesifik ke Claude. MUGHU pribadi nggak terlalu sering pakai Copilot, tapi buat rekan tim MUGHU yang punya subscription GitHub Enterprise, ini game changer — mereka bisa maximize nilai dari subscription yang udah dibayar.
Dukungan i18n: Thailand dan Farsi
Update bahasa mungkin kedengaran nggak seksi, tapi buat komunitas developer di Thailand dan Iran/Afghanistan, ini berarti dashboard 9Router sekarang bisa dipakai dalam bahasa mereka. 9Router udah mendukung banyak bahasa sebelumnya — termasuk Indonesia, China, Vietnam, Rusia, dan lainnya — dan v0.5.35 nambahin Thai (th) dan Farsi (fa).
Ini nunjukkin bahwa proyek open source ini bener-bener global. Dan buat kita di Indonesia, kenyataan bahwa bahasa Indonesia udah didukung sejak versi sebelumnya juga worth noting — dashboard 9Router bisa dipakai dalam bahasa kita sendiri.
Prasyarat: Apa yang Perlu Disiapkan Sebelum Install
Oke, sekarang masuk ke bagian teknis. Sebelum install 9Router v0.5.35, pastikan sistem Teman-Taman memenuhi syarat berikut:
| Komponen | Minimum | Catatan |
|---|---|---|
| Node.js | v22+ | Wajib untuk semua metode install. Docker pakai node:22-alpine |
| npm | Bundled dengan Node.js | Untuk global install dan build dari source |
| Docker | Versi terbaru | Hanya wajib kalau pakai metode Docker |
| RAM | 512MB bebas | 9Router ringan, tapi provider connection butuh sedikit overhead |
| Koneksi Internet | Stabil | Untuk OAuth flow dan API calls ke provider |
MUGHU pernah coba install di Node 18 dan hasilnya error — dependency 9Router butuh fitur yang cuma ada di Node 22 ke atas. Jadi jangan coba-coba pakai versi lama, nanti buang-buang waktu troubleshooting doang.
Cek versi Node.js Teman-Teman dengan:
node --version
Output yang diharapkan:
v22.x.x
Kalau outputnya di bawah v22, update dulu. MUGHU pakai nvm untuk manage versi Node.js, dan saran MUGHU, pakai nvm biar gampang switch antar versi:
nvm install 22
nvm use 22
Step 1: Install 9Router — Tiga Metode yang Tersedia
Ada tiga cara install 9Router, dan MUGHU bakal bahas ketiganya. Pilih yang paling cocok sama situasi Teman-Teman.
Baca juga ClinePass: Langganan Model Open Weight untuk Coding
Metode A: npm Global Install (Rekomendasi untuk Desktop)
Ini cara paling gampang dan yang MUGHU pakai sehari-hari di laptop. Satu command, beres:
npm install -g 9router
Output yang diharapkan:
added 245 packages in 12s
[email protected]
Tunggu, kok versinya 0.5.30, bukan 0.5.35? Nah, di sini ada nuansa penting. Versi di npm bisa sedikit tertinggal dari GitHub releases. Berdasarkan yang MUGHU lacak, npm menampilkan versi 0.5.30 sebagai latest, sementara v0.5.35 udah muncul di GitHub releases page. Kalau Teman-Taman mau pastikan dapet versi paling baru:
npm install -g 9router@latest
Atau kalau mau spesifik:
npm install -g [email protected]
Kalau npm bilang versi 0.5.35 belum available, kemungkinan publikasi npm lagi delay. Dalam kasus ini, Teman-Teman bisa pakai metode dari source (Metode B) atau tunggu beberapa jam sampai npm package di-publish.
Setelah install, jalankan:
9router
Output yang diharapkan:
> Server: localhost:20128
> Dashboard: localhost:20128/dashboard
> Ready to route ✓
Dashboard browser otomatis kebuka di http://localhost:20128. Kalau nggak kebuka, buka manual aja.
Metode B: Dari Source (Untuk Development)
Kalau Teman-Teman mau kontribusi ke proyek atau butuh kustomisasi, jalankan dari source:
git clone https://github.com/decolua/9router.git
cd 9router
npm install
npm run dev
Output yang diharapkan:
▲ Next.js 15.x
- Local: http://localhost:20128
- Network: http://0.0.0.0:20128
✓ Ready in 3.2s
Untuk production build dari source:
npm run build
npm run start
Build production menghasilkan standalone Next.js server yang include semua dependency yang dibutuhkan.
Metode C: Docker (Untuk Server/VPS)
Ini yang MUGHU pakai di VPS untuk akses remote. Docker image official tersedia di Docker Hub dan GHCR:
docker run -d --name 9router -p 20128:20128 \
-v 9router-data:/data decolua/9router:latest
Output yang diharapkan:
Unable to find image 'decolua/9router:latest' locally
latest: Pulling from decolua/9router
...
Status: Downloaded newer image for decolua/9router:latest
a1b2c3d4e5f6...
Cek apakah container jalan:
docker ps
Harusnya muncul container bernama 9router dengan status Up. Buka http://localhost:20128 di browser.
Untuk akses remote, MUGHU pakai fitur Cloudflare tunnel bawaan 9Router — tapi itu bakal MUGHU bahas di section lanjutan.
Step 2: Konfigurasi Provider Pertama Kamu
Setelah 9Router jalan, langkah berikutnya adalah connect provider. Ini inti dari 9Router — tanpa provider, router nggak ada yang di-route.
Buka dashboard di http://localhost:20128/dashboard. Di sidebar kiri, klik Providers. Teman-Teman bakal lihat kategori provider yang dikelompokin jadi tiga tier:
Tier 1: Subscription (Provider Berbayar yang Kamu Udah Langganan)
Ini provider yang kamu udah bayar — Claude Code, OpenAI Codex, GitHub Copilot, Cursor, Gemini, dan lainnya. 9Router akan pakai ini dulu karena udah kamu bayar, jadi maksimalin nilainya.
Baca juga Kiro Dev: IDE Agentic AWS untuk Spec-Driven Development
Untuk connect, klik provider yang kamu punya subscription-nya, lalu ikuti OAuth flow. Misalnya, untuk Claude Code:
- Klik Claude Code di dashboard
- Klik Connect
- Browser bakal redirect ke Anthropic OAuth page
- Login dan authorize
- Kembali ke dashboard — status harus Connected
Kenapa langkah ini penting? Karena 9Router butuh token akses untuk ngerute request atas nama kamu. Tanpa ini, dia nggak bisa pakai kuota subscription kamu.
Tier 2: Cheap (Provider Murah sebagai Backup)
Kalau subscription habis, 9Router auto-switch ke tier ini. Provider yang tersedia antara lain:
- GLM Coding — $0.60 per 1M tokens
- MiniMax — $0.20 per 1M tokens
- Kimi — $9/bulan
Harga ini super murah dibanding provider mainstream. MUGHU pakai GLM sebagai backup utama dan biaya bulanannya jarang lebih dari $2.
Tier 3: FREE (Provider Gratis sebagai Last Resort)
Ini yang bikin 9Router spesial. Ada 8 provider gratis yang bisa kamu pakai tanpa credit card:
- Kiro AI — free Claude unlimited
- iFlow — free, no auth
- Qwen — free
- OpenCode Free — no auth needed
- OpenRouter — free tier tersedia
- NVIDIA NIM — free
- Gemini — free tier
- Cloudflare AI — free
MUGHU sarankan connect minimal satu provider dari tiap tier. Dengan begitu, 3-tier fallback bakal kerja optimal: kalau subscription habis → switch ke cheap → kalau cheap juga habis → switch ke free. Kamu literally nggak pernah berhenti coding.
Step 3: Setting Up 3-Tier Fallback Strategy
Ini bagian yang MUGHU paling suka. 9Router nggak cuma connect provider — dia smart enough untuk auto-switch ketika quota habis. Tapi strategi fallback-nya bisa kamu konfigurasi.
Di dashboard, masuk ke Settings → Routing. Kamu bakal lihat konfigurasi tier priority:
Tier 1 (Subscription) → Tier 2 (Cheap) → Tier 3 (FREE)
Default-nya udah optimal untuk kebanyakan kasus. Tapi kalau Teman-Teman mau kustomisasi, misalnya skip tier 2 dan langsung ke free:
- Buka Settings → Routing
- Drag provider ke urutan yang kamu mau
- Toggle Auto Fallback ke ON
- Save
Kenapa urutan ini penting? Karena kalau kamu pakai provider cheap dulu sebelum subscription habis, kamu bayar dua kali — subscription yang expired + API cost. Urutan yang benar: habiskan subscription dulu, baru switch ke paid backup.
9Router juga punya real-time quota tracking. Di dashboard, kamu bisa lihat:
- Token yang udah dipakai per provider
- Reset countdown (kapan quota di-reset)
- Cost estimation
Ini super helpful buat planning. MUGHU pernah lihat kuota Claude Code udah 80% terpakai di hari ke-3 dari cycle 5 hari — info kayak gini bikin MUGHU bisa ngatur ritme coding biar nggak kehabisan tengah jalan.
Step 4: Hubungkan CLI/IDE ke 9Router
Sekarang 9Router udah jalan dan provider udah connect. Langkah berikutnya: arahkan tools coding kamu ke endpoint 9Router.
Endpoint utamanya: http://localhost:20128/v1
Setup Claude Code
Claude Code adalah tool yang MUGHU pakai paling sering. Konfigurasinya gampang:
# Set environment variable
export ANTHROPIC_BASE_URL=http://localhost:20128/v1
export ANTHROPIC_API_KEY=your-9router-api-key
API key bisa kamu ambil dari dashboard 9Router → Settings → API Key. Copy dan paste ke config.
Atau kalau pakai config file, edit ~/.claude/settings.json:
{
"apiBaseUrl": "http://localhost:20128/v1",
"apiKey": "your-9router-api-key"
}
Test koneksi:
claude "Hello, are you connected?"
Output yang diharapkan:
Yes, I'm connected through 9Router. How can I help you?
Setup Cursor
Buka Cursor Settings → Models → OpenAI API:
Baca juga Codex CLI dari OpenAI: Panduan Lengkap Ngoding di Terminal
Base URL: http://localhost:20128/v1
API Key: your-9router-api-key
Model: kr/claude-sonnet-4.5
Model name tergantung provider yang kamu connect. Prefix kr/ berarti Kiro, glm/ berarti GLM, dan seterusnya. Cek daftar model di dashboard → Models.
Setup Codex (OpenAI)
export OPENAI_BASE_URL=http://localhost:20128/v1
export OPENAI_API_KEY=your-9router-api-key
Lalu jalankan Codex seperti biasa:
codex "Create a REST API with Express"
Setup Cline
Edit config Cline di VS Code settings:
{
"cline.apiBaseUrl": "http://localhost:20128/v1",
"cline.apiKey": "your-9router-api-key"
}
Setup GitHub Copilot (via MITM Bridge)
Ini agak advanced. 9Router punya MITM Bridge yang intercept traffic Copilot dan redirect ke provider lain. Aktifkan dari dashboard:
- Buka MITM Bridge di sidebar
- Pilih GitHub Copilot
- Klik Enable
- Install CA certificate yang di-generate (9Router auto-generate root CA saat startup)
- Set proxy di VS Code ke
localhost:20128
Catatan penting: MITM Bridge intercept traffic IDE subscription. Walaupun fungsional, perhatikan terms of service dari masing-masing tool. 9Router menyediakan fitur ini, tapi tanggung jawab penggunaan ada di tangan pengguna.
Step 5: Aktifkan Token Saver (RTK dan Caveman Mode)
Salah satu keunggulan utama 9Router adalah token saver bawaan. Dua fitur ini bisa hemat 20–65% token tanpa ngaruh ke kualitas jawaban.
RTK (Router Token Kompressor)
RTK auto-compress tool_result content — output dari git diff, grep, ls, find, tree, dan command lain — sebelum dikirim ke LLM. Kompresi ini lossless, artinya informasi penting tetap utuh, cuma format yang dipadatkan.
Contoh: output git diff yang 47K token bisa di-compress jadi 28K token. Konteks sama, jawaban sama, tapi token yang dipakai berkurang 40%.
RTK default ON. Tapi kalau mau pastikan:
- Buka dashboard → Settings → Token Saver
- Pastikan RTK toggle ON
- Pilih compression level (Low/Medium/High)
MUGHU pakai level Medium — balance antara compression dan kecepatan. Level High kompres lebih agresif tapi kadang tool output jadi agak susah dibaca di log.
Di v0.5.35, RTK udah include JS-native git-log filter (sebelumnya pakai implementasi yang berbeda), yang berarti kompresi lebih konsisten lintas platform — termasuk Windows dengan backslash-style find output.
Caveman Mode
Caveman Mode inject system prompt yang bikin LLM jawab dengan style lebih compact — teknis tapi to the point. Ada 5 intensity level:
| Level | Efek | Token Saving |
|---|---|---|
| Off | Normal LLM response | 0% |
| Low | Sedikit lebih ringkas | ~10–15% |
| Medium | Hilang verbose filler | ~25–35% |
| High | Telegraphic style | ~45–55% |
| Max | "why use many token when few do trick" | ~65% |
MUGHU pakai level Medium untuk coding harian dan High untuk task yang simple. Level Max kadang bikin jawaban terlalu singkat untuk task yang butuh penjelasan panjang — jadi pakai dengan bijak.
Aktifkan dari dashboard → Settings → Caveman Mode.
PXPipe (Token Saver Tambahan)
Sejak v0.5.29, 9Router juga punya PXPipe — multimodal prompt compression yang kompres bukan cuma text tapi juga image dan structured content. Ini cocok kalau Teman-Teman sering kirim screenshot atau diagram ke LLM. PXPipe bisa aktifkan dari dashboard yang sama.
Step 6: Konfigurasi Combo dan Multi-Account
Smart Combos
Combo adalah fitur yang bikin 9Router beda dari proxy biasa. Kamu bisa chain beberapa provider jadi satu "virtual provider" dengan strategi yang bisa dipilih:
- Fallback — coba provider A, kalau gagal switch ke B, lalu C
- Round-robin — distribusi request merata ke semua provider
- Fusion — query semua model paralel, satu "judge" synthesize jawaban terbaik
- Capacity — route request berdasarkan kemampuan model (image/PDF/audio ke model yang support)
Bikin combo dari dashboard → Combos → New Combo:
- Beri nama combo (misal: "My Coding Stack")
- Pilih strategi (Fallback, Round-robin, Fusion, atau Capacity)
- Tambahkan provider ke combo
- Atur urutan priority
- Save
Contoh combo MUGHU:
- Position 1: Claude Code (subscription, kualitas terbaik)
- Position 2: GLM Coding ($0.60/1M, murah dan capable)
- Position 3: Kiro AI (free, unlimited)
Dengan combo ini, MUGHU practically nggak pernah kena downtime. Kalau Claude habis, GLM ambil alih. Kalau GLM juga habis (jarang banget), Kiro jadi safety net.
Multi-Account
Kalau Teman-Teman punya multiple account di provider yang sama (misal dua akun Claude Pro), 9Router bisa pool mereka:
- Dashboard → Providers → [Provider Name]
- Klik Add Account
- OAuth login dengan akun kedua
- Set Round-robin atau Failover strategy
MUGHU punya dua akun Claude dari dua tim berbeda. Dengan multi-account pooling, kuota efektifnya jadi 2x. Round-robin distribusi request merata, failover pakai akun kedua cuma kalau akun pertama habis.
Baca juga CodeBuddy: Editor Kode AI untuk Coding Lebih Cepat
Step 7: Setup Remote Access dengan Cloudflare Tunnel
Salah satu fitur yang MUGHU pakai banget adalah Cloudflare tunnel. Ini bikin 9Router di laptop/VPS kamu bisa diakses dari mana saja lewat 300+ global Cloudflare edge locations.
Dari dashboard:
- Buka Settings → Tunnel
- Klik Enable Tunnel
- 9Router auto-setup Cloudflare tunnel
- Kamu dapet URL kayak
https://your-tunnel.trycloudflare.com - Pakai URL ini sebagai endpoint di CLI/IDE di device manapun
MUGHU pakai ini untuk akses 9Router dari tablet pas lagi di kafe, atau dari VPS lain yang butuh AI provider. Tunnel juga support Tailscale — 9Router auto-detect Tailscale yang terinstall di sistem.
Kenapa ini penting? Karena tanpa tunnel, 9Router cuma accessible dari localhost. Kalau kamu kerja di multiple device atau tim terdistribusi, tunnel adalah jembatan yang bikin semuanya connected.
Step 8: Menggunakan Format Translator
9Router punya Format Translator bawaan yang convert antara format OpenAI, Anthropic, dan Gemini. Ini artinya: tool yang cuma support OpenAI format bisa pakai provider Claude, dan sebaliknya.
Contoh use case: Cursor secara default pakai OpenAI format. Tapi kalau kamu mau pakai Claude sebagai backend (yang pakai Anthropic format), 9Router auto-translate di background. Kamu nggak perlu install plugin atau konfigurasi tambahan.
Ini juga berarti kalau ada tool baru yang pakai format unik, selama tool itu compatible dengan salah satu dari tiga format utama, dia bakal jalan dengan 9Router.
Di v0.5.35, translator udah include beberapa fix penting dari versi sebelumnya:
- Preserve developer instructions in OpenAI Responses conversion
- Normalize tools ke Anthropic-native shape untuk non-Anthropic providers
- Deterministic tool_call IDs untuk Gemini/Antigravity → OpenAI
- Clamp thinking effort untuk OpenAI format
Step 9: Menggunakan Web Search dan Web Fetch
9Router nggak cuma untuk LLM. Dia juga support web search dan web fetch sebagai service terpisah:
Web Search Provider
| Provider | Tipe Auth | Kelebihan |
|---|---|---|
| Tavily | API Key | Optimized untuk AI, structured results |
| Brave | API Key | Privacy-focused, independent index |
| Serper | API Key | Fast, Google results |
| Exa | API Key | Semantic search, great untuk research |
| Linkup | API Key | Real-time web data |
| Perplexity | API Key | AI-powered search with citations |
| Google PSE | API Key | Custom Google search |
| SearchAPI | API Key | Aggregated search |
Web Fetch Provider
- Tavily — extract content dari URL
- Exa — semantic content extraction
- Firecrawl — crawl dan extract structured data
- Jina Reader — clean text extraction dari webpage
Pakai dari CLI:
curl -X POST http://localhost:20128/v1/web_search \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{"query": "latest Node.js updates 2026"}'
Output yang diharapkan:
{
"results": [
{
"title": "Node.js v22 Release Notes",
"url": "https://nodejs.org/en/blog/release/v22.0.0",
"content": "Node.js 22 includes new features..."
}
]
}
MUGHU pakai web search ini untuk bikin agent yang bisa research otomatis — combine LLM + web search + web fetch dalam satu pipeline, semuanya lewat 9Router.
Step 10: Monitor Usage dan Quota Real-Time
Dashboard 9Router punya real-time quota tracking yang MUGHU andalkan setiap hari. Informasi yang tersedia:
- Token usage per provider — berapa token udah dipakai, berapa sisa
- Reset countdown — kapan quota di-reset (misal: "4h 23m until reset")
- Cost estimation — estimasi biaya per provider per session
- Request log — history request dengan detail token in/out/cache
- Token saver stats — berapa token yang dihemat oleh RTK dan Caveman
Sejak v0.5.18, 9Router juga track cached tokens — token yang di-cache oleh provider dan biasanya lebih murah. Ini bikin cost estimation lebih akurat.
Dan sejak v0.5.12, ada token-saver dashboard page khusus yang nunjukkin breakdown penghematan:
- Token saved by RTK
- Token saved by Caveman
- Token saved by PXPipe
- Total estimated cost saving
MUGHU cek dashboard ini tiap pagi sebelum mulai coding. Kalau lihat kuota Claude udah 70% di hari ke-2, MUGHU bakal slow down atau switch ke GLM untuk task yang nggak butuh kualitas Claude.
Step 11: Advanced Features yang Worth Dicoba
Proxy Pools
Kalau Teman-Teman akses provider yang region-restricted (misal beberapa provider cuma available di US/EU), 9Router punya proxy pools dengan auto-rotate:
- Dashboard → Settings → Proxy
- Tambahkan proxy list (HTTP/SOCKS5)
- Set Auto-rotate strategy
- 9Router bakal rotate IP otomatis untuk setiap request
Di v0.5.29, proxy-pools dapet auto-rotate strategy untuk no-auth providers — artinya rotation lebih seamless untuk provider gratis yang nggak butuh auth.
Headroom Proxy
Headroom adalah proxy lifecycle management dengan dashboard UI. Fitur ini include:
- One-click start/stop
- Install detection
- Status probing
- Token saver integration
- Claude ↔ OpenAI shape conversion
Di v0.5.35, Headroom dapet extras detection dan install UI yang lebih baik. MUGHU nggak terlalu sering pakai Headroom, tapi buat tim yang butuh proxy management yang lebih sophisticated, ini fitur yang solid.
Baca juga GitHub Copilot: Cara Mempercepat Kerja Tim
Thinking Level Picker
Sejak v0.5.20, 9Router punya per-model thinking level picker. Di provider page, kamu bisa set thinking level per model — dari none sampai max. Ini nambah suffix (level) ke model name yang copied, yang memaksa provider untuk pakai reasoning effort tertentu.
Misalnya, kalau kamu copy model name glm/glm-4.5(high), 9Router bakal kirim request dengan forced high reasoning effort ke GLM. Ini didukung across semua format: OpenAI, Claude, Gemini, DeepSeek, Kimi, Qwen, xAI, MiniMax, Hunyuan, dan Step.
Kenapa ini penting? Karena beberapa task butuh reasoning yang dalam (debugging kompleks, arsitektur design), sementara yang lain butuh speed (autocomplete, simple refactor). Dengan thinking level picker, kamu bisa tune per use case tanpa ganti provider.
Perbandingan: 9Router vs Alternatif Lain
Buat konteks yang lebih lengkap, MUGHU bikin perbandingan antara 9Router dan beberapa alternatif yang MUGHU pernah coba:
| Kriteria | 9Router | One API | LangChain Router | Manual API Keys |
|---|---|---|---|---|
| Setup Difficulty | Mudah (2 command) | Sedang | Sulit | N/A |
| Auto-Fallback | ✅ 3-tier otomatis | ✅ Basic | ❌ Manual | ❌ Tidak ada |
| Token Saver | ✅ RTK + Caveman + PXPipe | ❌ | ❌ | ❌ |
| Free Provider | ✅ 8 provider gratis | ❌ | ❌ | ❌ |
| Dashboard | ✅ Real-time | ✅ Basic | ❌ | ❌ |
| MITM Bridge | ✅ Copilot/Antigravity/Kiro | ❌ | ❌ | ❌ |
| Multi-Account | ✅ Round-robin + Failover | ✅ Basic | ❌ | ❌ |
| Format Translator | ✅ OpenAI/Claude/Gemini | ❌ | ✅ Via code | ❌ |
| Cloud Tunnel | ✅ Cloudflare + Tailscale | ❌ | ❌ | ❌ |
| Open Source | ✅ MIT | ✅ | ✅ | N/A |
| Bahasa Indonesia | ✅ Dashboard i18n | ❌ | ❌ | N/A |
Rekomendasi berdasarkan use case:
- Solo developer yang mau hemat biaya: 9Router — free provider + token saver = biaya mendekati $0
- Tim kecil yang pooling subscription: 9Router — multi-account + combo = maximize nilai subscription
- Enterprise yang butuh API management: One API — lebih fokus ke API distribution dan key management
- Developer yang bangun AI agent kompleks: LangChain Router — lebih fleksibel untuk custom logic
- Yang cuma butuh satu provider dan nggak peduli cost: Manual API keys — paling simpel
Studi Kasus: Dari Rate Limit Stress ke Zero Downtime
MUGHU mau share pengalaman pribadi biar Teman-Teman dapet gambaran real-world.
Background
Tim MUGHU terdiri dari 4 developer yang masing-masing punya subscription Claude Pro. Sebulan, kami ngoding sekitar 20 hari aktif, rata-rata 6 jam per hari dengan Claude Code. Total biaya subscription: $80/bulan (4 × $20).
Challenge
Masalah utama: kuota 5 jam Claude Code habis rata-rata dalam 3.5 jam. Sisa 1.5 jam kami nggak produktif — nunggu reset atau switch ke provider lain manual. Estimasi waktu terbuang: 1.5 jam × 4 orang × 20 hari = 120 jam/bulan. Itu setara 3 minggu kerja satu orang.
Plus, sisa kuota yang expired tiap reset window itu uang yang hilang. Kalau kami pakai 70% dari quota tiap window, 30% sisanya = $24/bulan yang wasted.
Approach
MUGHU install 9Router di VPS dan connect:
- 4 akun Claude Pro (multi-account pooling)
- GLM Coding sebagai cheap backup
- Kiro AI sebagai free fallback
- RTK token saver set ke Medium
- Caveman Mode set ke Low (biar jawaban tetap natural)
Implementation
Setup total makan waktu 2 jam — install, connect provider, configure combo, test koneksi dari semua device. Combo strategy: Fallback (Claude → GLM → Kiro).
# Install di VPS
docker run -d --name 9router -p 20128:20128 \
-v 9router-data:/data decolua/9router:latest
# Enable Cloudflare tunnel untuk remote access
# (via dashboard → Settings → Tunnel)
Setiap developer arahkan Claude Code mereka ke:
ANTHROPIC_BASE_URL=https://our-tunnel.trycloudflare.com/v1
ANTHROPIC_API_KEY=shared-team-key
Results
Setelah 1 bulan pakai 9Router:
- Downtime karena rate limit: 0 jam (sebelumnya ~120 jam/bulan)
- Token saving dari RTK: ~32% rata-rata per request
- Biaya tambahan (GLM backup): $3.20/bulan
- Total biaya bulanan: $80 (subscription) + $3.20 (GLM) = $83.20
- Subscription utilization: 94% (naik dari 70%)
- Produktivitas: tambah ~1.5 jam/dev/hari = 120 jam/bulan tim
ROI-nya jelas: biaya tambahan $3.20/bulan menghasilkan 120 jam produktif tambahan. Itu return yang nggak masuk akal kalau dihitung secara finansial — tapi secara praktis, itu berarti sprint lebih cepat selesai dan deadline lebih sering tepat waktu.
Key Learnings
- Multi-account pooling itu powerful. 4 akun Claude jadi 4x kuota efektif. Round-robin distribusi merata, jadi nggak ada satu akun yang kebeban lebih.
- RTK saving lebih besar dari ekspektasi. MUGHU kira 20%, ternyata 32% rata-rata. Output
git diffdangrepyang panjang itu makan token banget. - Free provider sebagai last resort itu game changer. Kiro AI nggak pernah MUGHU pakai sebagai primary, tapi tau ada safety net bikin MUGHU nggak stress soal quota.
- Dashboard quota tracking bikin planning lebih baik. Lihat quota 70% di hari ke-2 bikin MUGHU bisa atur ritme — slow down atau switch ke GLM untuk task simple.
- Cloudflare tunnel essential untuk tim. Install di VPS + tunnel = semua orang akses dari device masing-masing tanpa install 9Router di laptop.
Error Umum dan Cara Troubleshooting
MUGHU udah pakai 9Router cukup lama, dan ini error-error yang paling sering MUGHU (atau orang di komunitas) temuin:
Error 1: "ECONNREFUSED localhost:20128"
Penyebab: 9Router server belum jalan atau port bentrok.
Solusi:
# Cek apakah 9Router jalan
lsof -i :20128
# Kalau nggak ada, jalankan
9router
# Kalau port dipakai aplikasi lain, ganti port
9router --port 8080
Error 2: "OAuth flow gagal / token expired"
Penyebab: Token OAuth expired atau cookie browser berubah.
Solusi:
- Dashboard → Providers → [Provider Name]
- Klik Disconnect
- Klik Connect lagi
- Ulangi OAuth flow
Untuk Claude, 9Router punya auto-ping yang warm up quota window setelah reset. Tapi kalau token expired total, re-connect adalah satu-satunya cara.
Baca juga Mengenal Astro 7.1: Framework JavaScript Ringan untuk Website
Error 3: "Model not found / 400 Bad Request"
Penyebab: Model name salah atau provider nggak support model tersebut.
Solusi:
# Cek model yang available
curl http://localhost:20128/v1/models \
-H "Authorization: Bearer your-api-key"
Pastikan model name yang kamu pakai ada di list. Prefix penting — kr/claude-sonnet-4.5 berbeda dengan glm/claude-sonnet-4.5.
Error 4: "Streaming timeout / hang"
Penyebab: Provider lambat respond atau koneksi network bermasalah.
Solusi:
Sejak v0.4.63, stream stall timeout di-set ke 35 detik (sebelumnya 60s). Tapi kalau masih hang:
# Di dashboard → Settings → Advanced
# Set stream stall timeout ke 90s untuk provider yang lambat
Untuk Codex specifically, v0.4.71 menambahkan hardening streaming timeouts (stall/connect raised to 60s, configurable per-provider) dan always emit terminal response.failed + [DONE] untuk mencegah client hang.
Error 5: "Docker container keep restarting"
Penyebab: Volume permission issue atau DATA_DIR salah.
Solusi:
# Pastikan volume mounted dengan benar
docker run -d --name 9router -p 20128:20128 \
-v "$HOME/.9router:/app/data" \
-e DATA_DIR=/app/data \
decolua/9router:latest
# Cek log
docker logs 9router
Error 6: "MITM Bridge tidak intercept traffic"
Penyebab: CA certificate belum di-install atau proxy belum di-set.
Solusi:
- Dashboard → MITM Bridge
- Download CA certificate
- Install ke system trust store:
- macOS: Keychain Access → Import certificate
- Linux:
sudo cp 9router-ca.crt /usr/local/share/ca-certificates/ && sudo update-ca-certificates - Windows: Certificate Manager → Trusted Root Certification Authorities
- Set HTTP proxy di IDE ke
localhost:20128
Error 7: "npm install -g 9router gagal (permission error)"
Penyebab: Permission issue saat global install.
Solusi:
# Opsi 1: Fix npm prefix
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
npm install -g 9router
# Opsi 2: Pakai npx tanpa install
npx 9router
# Opsi 3: Pakai Docker
docker run -d --name 9router -p 20128:20128 decolua/9router:latest
Tips Pro untuk Workflow yang Lebih Efisien
Setelah beberapa bulan pakai 9Router, MUGHU pelajarin beberapa trik yang mungkin nggak obvious dari dokumentasi:
1. Pakai Combo Fusion untuk Task Kritis
Combo Fusion query semua model paralel dan satu judge synthesize jawaban terbaik. Ini overkill untuk task harian, tapi untuk decision penting (misal: pilih arsitektur, security review), hasilnya sering lebih baik dari single model. Trade-off-nya: token cost 2–3x lebih banyak.
2. Set Caveman Mode Dinamis
MUGHU pakai script kecil yang set Caveman Mode berdasarkan jenis task:
# Untuk simple task (autocomplete, refactor ringan)
curl -X POST http://localhost:20128/api/settings \
-d '{"caveman_level": "high"}'
# Untuk complex task (debugging, design)
curl -X POST http://localhost:20128/api/settings \
-d '{"caveman_level": "low"}'
3. Monitor Token Saver Dashboard
Cek dashboard token saver seminggu sekali. Kalau RTK saving turun di bawah 15%, kemungkinan output tool kamu berubah format. Update filter RTK atau switch compression level.
4. Backup Config Regularly
9Router store config di:
- macOS/Linux:
~/.9router/db/data.sqlite - Windows:
%APPDATA%/9router/db/data.sqlite - Docker:
/app/data/db/data.sqlite
Backup file ini tiap kali kamu nambah atau ubah provider:
cp ~/.9router/db/data.sqlite ~/.9router/db/data.sqlite.backup.$(date +%Y%m%d)
Sejak v0.5.29, 9Router auto-backup pada schema change, tapi backup manual tetap recommended sebelum update versi major.
Baca juga Cursor Composer 3: AI Coding 1,5T Parameter Segera Rilis
5. Pakai Proxy Pool untuk Provider Region-Restricted
Beberapa provider gratis (misal Qwen) kadang restricted ke region tertentu. Kalau kamu di luar region, pakai proxy pool:
- Dashboard → Settings → Proxy
- Tambahkan proxy di region yang sesuai
- Set auto-rotate
- Provider yang restricted bakal auto-rotate IP
6. Update 9Router Secara Berkala
9Router rilis update sangat sering — rata-rata 2–3 hari sekali. Update biasanya bawa fix dan provider baru. Untuk update:
# npm
npm update -g 9router
# Docker
docker pull decolua/9router:latest
docker stop 9router && docker rm 9router
docker run -d --name 9router -p 20128:20128 \
-v 9router-data:/data decolua/9router:latest
Tapi baca release notes dulu sebelum update. Kadang ada breaking change yang butuh config migration.
Eksplorasi Fitur v0.5.35 Lebih Dalam
Grok Imagine Video — Cara Pakai
Karena ini fitur baru di v0.5.35, MUGHU mau bahas lebih detail cara pakainya. Pastikan kamu udah connect xAI/Grok sebagai provider:
- Dashboard → Providers → xAI Grok
- Connect dengan API key atau OAuth
- Pastikan model dengan tag
kind:videomuncul di model list
Test video generation:
curl -X POST http://localhost:20128/v1/images/generations \
-H "Authorization: Bearer your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "grok/imagine",
"prompt": "A developer coding at night with multiple monitors, cinematic style",
"n": 1,
"size": "1024x1024"
}'
Output yang diharapkan:
{
"created": 1721176800,
"data": [
{
"url": "https://...",
"revised_prompt": "A developer coding at night..."
}
]
}
Catatan: Video generation biasanya butuh waktu lebih lama dari image generation. Timeout default mungkin perlu di-naikkan. Set di Settings → Advanced → Video Timeout ke 120 detik atau lebih.
Copilot Claude Route — Setup Detail
Untuk pakai Copilot subscription sebagai route ke Claude:
- Dashboard → Providers → GitHub Copilot
- Connect dengan akun GitHub yang punya Copilot subscription
- Di model list, cari model dengan prefix
copilot/claude-* - Pakai model name ini di CLI/IDE config
Contoh:
# Di Claude Code config
export ANTHROPIC_BASE_URL=http://localhost:20128/v1
export ANTHROPIC_API_KEY=your-9router-key
# Set model ke copilot/claude-sonnet-4.5
9Router bakal route request Copilot subscription ke Claude model. Ini berguna kalau kamu mau pakai Claude tapi subscription Claude Pro udah habis — selama Copilot subscription masih ada kuota.
i18n Thailand dan Farsi — Cara Ganti Bahasa
- Dashboard → Settings → Language
- Pilih ภาษาไทย (Thai) atau فارسی (Farsi)
- Dashboard langsung berubah bahasa
Untuk bahasa Indonesia, pastikan udah dipilih juga — 9Router udah support Indonesia sejak beberapa versi sebelumnya. Ini bikin navigasi dashboard lebih intuitive buat kita yang lebih nyaman dengan bahasa Indonesia.
Perbandingan Metode Install: Mana yang Cocok untuk Kamu
MUGHU udah bahas tiga metode install, tapi mana yang paling cocok? Ini panduan berdasarkan situasi:
| Situasi | Metode yang Disarankan | Alasan |
|---|---|---|
| Solo dev di laptop | npm global install | Paling cepat, auto-update gampang |
| Tim kecil di VPS | Docker | Isolated, gampang manage, portable |
| Development/contribusi | From source | Bisa modify dan test perubahan |
| Akses dari multiple device | Docker + Cloudflare tunnel | Centralized, akses dari mana saja |
| Offline/air-gapped environment | Docker dengan pre-built image | Nggak butuh internet setelah image di-download |
| Trial sebelum commit | npx 9router | Tanpa install, langsung jalan |
MUGHU pribadi pakai kombinasi: Docker di VPS untuk tim, dan npm install di laptop untuk development lokal. Keduanya connect ke provider yang sama, jadi quota pooling tetap konsisten.
Best Practices untuk Tim yang Pakai 9Router
Kalau Teman-Taman rencana pakai 9Router di tim, ini beberapa practices yang MUGHU pelajarin:
1. Shared API Key vs Individual Key
9Router generate satu API key yang dipakai semua orang. Ini simpel tapi berarti semua orang share quota pool. Kalau butuh per-user tracking, bikin multiple 9Router instance atau pakai proxy tambahan untuk key management.
2. Set Combo Strategy Berdasarkan Tim Role
- Backend team: Combo dengan Claude sebagai primary (reasoning kuat untuk arsitektur)
- Frontend team: Combo dengan Gemini sebagai primary (cepat dan murah untuk UI task)
- DevOps team: Combo dengan GLM sebagai primary (cost-effective untuk script dan config)
3. Regular Provider Health Check
Tiap minggu, cek dashboard dan pastikan semua provider masih connected. Token OAuth kadang expired tanpa peringatan, dan connection bisa putus diam-diam.
4. Document Combo Configuration
Catat konfigurasi combo di wiki tim. Kalau ada yang error, troubleshooting lebih cepat kalau semua orang tahu provider apa yang dipakai dan urutannya.
5. Set Cost Alert
Monitor cost estimation di dashboard. Kalau biaya GLM backup tiba-tiba naik signifikan, kemungkinan subscription Claude sering habis — mungkin perlu tambah akun atau naik tier.
Membedakan 9Router dengan Proxy Biasa
Banyak yang bertanya: "Kenapa nggak pakai proxy biasa atau API gateway umum saja?" Pertanyaan yang valid, dan MUGHU mau jawab dengan jujur.
Proxy biasa (nginx, HAProxy, dll) forward request dari A ke B. Itu dia fungsinya. Nggak ada intelligence, nggak ada fallback, nggak ada token saving.
API gateway umum (Kong, Apigee) lebih sophisticated — mereka bisa rate limit, transform request, cache. Tapi mereka nggak ngerti AI. Mereka nggak tahu beda format OpenAI dan Anthropic. Mereka nggak bisa compress git diff output.
Baca juga GPT Image 2: Panduan Lengkap API Gambar AI OpenAI
9Router itu specific untuk AI coding workflow. Dia ngerti:
- Format OpenAI, Anthropic, dan Gemini — dan bisa translate antar mereka
- Quota system tiap provider — dan bisa track real-time
- Tool output yang makan token — dan bisa compress
- Provider yang butuh auth berbeda — dan bisa manage OAuth flow
Ini bukan berarti 9Router menggantikan API gateway umum. Kalau kamu butuh enterprise-grade API management dengan SLA, audit log, dan compliance, Kong/Apigee masih relevan. 9Router melengkapi, bukan menggantikan.
Tapi untuk 95% developer yang pakai AI coding tool sehari-hari, 9Router lebih dari cukup. Dan yang penting: dia open source dengan lisensi MIT — nggak ada vendor lock-in, nggak ada biaya hidden, kamu punya kontrol penuh.
Integrasi dengan Workflow Existing
Salah satu hal yang MUGHU suka dari 9Router adalah dia nggak ganggu workflow yang udah ada. Kamu nggak perlu ganti IDE, nggak perlu ganti bahasa pemrograman, nggak perlu ganti CI/CD. 9Router duduk di antara tool dan provider, transparan.
CI/CD Integration
MUGHU setup 9Router di CI/CD untuk automated code review:
# .github/workflows/ai-review.yml
name: AI Code Review
on: [pull_request]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Start 9Router
run: |
docker run -d --name 9router -p 20128:20128 \
-v 9router-data:/data decolua/9router:latest
sleep 5
- name: AI Review
env:
ANTHROPIC_BASE_URL: http://localhost:20128/v1
ANTHROPIC_API_KEY: ${{ secrets. ROUTER_KEY }}
run: |
# Run AI review script
node scripts/ai-review.js
Dengan ini, code review otomatis pakai AI provider yang di-route 9Router, dengan fallback kalau satu provider down.
MCP (Model Context Protocol) Integration
9Router support MCP server untuk integrasi yang lebih dalam. Setup dari dashboard → Settings → MCP. Ini bikin 9Router bisa dipanggil sebagai tool dari agent lain — misal dari Claude Desktop atau agent custom.
Custom Script Integration
Karena 9Router kompatibel dengan OpenAI API, script Python/Node apapun yang pakai OpenAI SDK bisa langsung pakai:
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:20128/v1",
api_key="your-9router-key"
)
response = client.chat.completions.create(
model="kr/claude-sonnet-4.5",
messages=[{"role": "user", "content": "Explain async/await in Python"}]
)
print(response.choices[0].message.content)
Output yang diharapkan:
Async/await in Python is a syntax for writing asynchronous code...
Ini berarti 9Router bukan cuma untuk CLI/IDE — dia bisa jadi backend AI untuk aplikasi apapun yang kamu bangun.
Keamanan dan Privacy Considerations
Saat bahas 9Router, kita juga harus jujur soal keamanan. 9Router jalan di localhost, yang berarti data nggak dikirim ke server pihak ketiga (kecuali kamu enable tunnel). Tapi ada beberapa hal yang perlu diperhatikan:
Data Storage
9Router store data di local filesystem:
db.json/data.sqlite— provider connections, API keys, settingsusage.json— token usage metricsrequest-details.json— request/response logs
Pastikan file-file ini nggak accessible ke pihak yang nggak berwenang. Kalau di VPS, set file permission dengan benar:
chmod 700 ~/.9router
chmod 600 ~/.9router/db/data.sqlite
OAuth Token Security
9Router store OAuth token dari provider. Kalau kamu export config (untuk backup atau迁移), token ikut ter-export. Sejak v0.4.80, 9Router menambahkan re-auth on DB export/import — artinya token di-clear saat export dan perlu re-connect setelah import. Ini langkah keamanan yang bagus.
MITM Bridge Privacy
MITM Bridge intercept traffic IDE. Ini berarti request dan response lewat 9Router. Walaupun 9Router nggak store data permanen dari intercept, log temporary bisa berisi sensitive info. Pastikan log di-clear regular dan nggak di-share.
SSRF Protection
Sejak v0.5.2, 9Router menambahkan SSRF hardening on web fetch — mencegah request ke internal network address. Ini penting kalau 9Router dipakai di environment dengan network sensitive.
Tunnel Security
Cloudflare tunnel expose 9Router ke internet. Pastikan:
- API key yang kuat dan unik
- Nggak share tunnel URL publicly
- Set access control kalau perlu
Roadmap dan Arah Pengembangan 9Router
Dari pola release yang MUGHU lacak, 9Router rilis update sangat sering — rata-rata 2–3 hari sekali. Ini beberapa trend yang MUGHU lihat:
Provider Expansion
Setiap release hampir selalu nambahin provider baru. Dari 40+ provider sekarang, kemungkinan bakal terus tumbuh. v0.5.35 sendiri nambahin Grok Imagine dan Perplexity Agent API (dari v0.5.29).
Token Saving Innovation
RTK → Caveman → PXPipe. 9Router terus innovate di token saving. MUGHU perkirakan kedepannya bakal ada lebih banyak compression strategy dan mungkin model-specific optimization.
Baca juga Tutorial Slack API: Bikin Bot Otomatis dengan Python & JS
Service Kind Expansion
Dari chat/LLM, 9Router udah expand ke embeddings, TTS, STT, image, video, search, dan fetch. Kemungkinan bakal nambah service kind baru — mungkin code execution, function calling optimization, atau agent orchestration.
Community Growth
Dengan 22K+ stars di GitHub dan 45K+ weekly downloads di npm, 9Router udah jadi proyek open source yang significant. Community contribution juga aktif — banyak PR dari kontributor yang nambahin provider dan fix bug.
Evaluasi Jujur: Kapan 9Router Nggak Cocok
MUGHU udah banyak puji 9Router, tapi MUGHU juga mau jujur soal kapan 9Router mungkin nggak cocok:
1. Kalau Kamu Cuma Pakai Satu Provider dan Nggak Pernah Kena Limit
Kalau workflow kamu simple — satu provider, kuota cukup, nggak pernah kena rate limit — 9Router mungkin overkill. Kamu nambahin satu layer extra tanpa benefit yang signifikan.
2. Kalau Kamu Butuh Enterprise Compliance
9Router nggak punya audit log enterprise-grade, nggak punya SSO, nggak punya role-based access control. Kalau tim kamu butuh compliance (SOC2, HIPAA, dll), mungkin perlu solusi enterprise yang lebih formal.
3. Kalau Kamu Nggak Nyaman dengan MITM Bridge
MITM Bridge intercept traffic IDE subscription. Walaupun 9Router kasih disclaimer, beberapa organization mungkin melihat ini sebagai violation of terms of service. Pakai dengan kesadaran penuh.
4. Kalau Kamu Butuh SLA Guarantee
9Router adalah open source project yang di-maintain oleh komunitas. Nggak ada SLA, nggak ada support 24/7. Kalau production kamu critically depend on AI routing, kamu butuh fallback plan kalau 9Router down.
5. Kalau Setup Complexity Nggak Worth It
Untuk developer yang cuma ngoding sesekali dan nggak peduli cost, setup 9Router mungkin makan waktu lebih lama dari sekadar bayar API key dan pakai langsung. Cost-benefit analysis-nya nggak always positif.
Optimasi Performa 9Router
Beberapa tips untuk memastikan 9Router jalan optimal:
1. Pilih Storage Backend yang Tepat
9Router pakai SQLite (sebelumnya lowdb/JSON). SQLite lebih cepat untuk query dan lebih reliable untuk data volume besar. Pastikan kamu pakai versi terbaru yang udah pakai SQLite:
# Cek versi
9router --version
# Harusnya 0.5.x
2. Limit Request Detail Log
Request detail log bisa gede banget kalau kamu coding intensif. Set retention policy:
# Dashboard → Settings → Advanced → Request Log Retention
# Set ke 7 hari atau kurang
3. Disable Telemetry
Next.js telemetry di-disable by default di Docker, tapi kalau install via npm:
export NEXT_TELEMETRY_DISABLED=1
4. Optimize Docker Image
Kalau pakai Docker, gunakan multi-arch image yang sesuai dengan platform kamu:
# Untuk ARM (Apple Silicon, Raspberry Pi)
docker pull decolua/9router:latest --platform linux/arm64
# Untuk AMD64
docker pull decolua/9router:latest --platform linux/amd64
Image size 9Router sekitar 162MB — relatif kecil untuk yang include Next.js dan semua dependency.
5. Use Health Check Endpoint
curl http://localhost:20128/api/health
Output yang diharapkan:
{
"status": "ok",
"version": "0.5.35",
"uptime": 86400
}
Pakai ini untuk monitoring — kalau status bukan "ok", restart 9Router.
Mengukur Dampak: Metrik yang Penting
Buat Teman-Teman yang mau quantify dampak 9Router, ini metrik yang MUGHU track:
Cost Metrics
- Cost per session — total biaya sebelum vs sesudah 9Router
- Subscription utilization — persentase kuota yang kepakai (target: >90%)
- Token cost saving — token yang dihemat oleh RTK/Caveman/PXPipe (target: 20–40%)
Productivity Metrics
- Downtime karena rate limit — jam terbuang nunggu reset (target: 0)
- Session continuity — berapa kali session putus tengah jalan (target: minimize)
- Task completion rate — task yang selesai per session (indirect impact dari zero downtime)
Quality Metrics
- Fallback frequency — berapa kali 9Router switch provider (indikator seberapa habis kuota)
- Provider success rate — persentase request yang sukses (target: >99%)
- Response time — latency yang di-add oleh 9Router (target: <100ms overhead)
Track metrik ini di spreadsheet atau dashboard custom. Setelah 1 bulan, kamu bakal punya data konkret untuk evaluate apakah 9Router worth it untuk situasi kamu.
Komunitas dan Dukungan
9Router punya komunitas yang aktif. Kalau Teman-Tadian mengalami masalah atau mau kontribusi:
- GitHub Issues — untuk bug report dan feature request
- GitHub Discussions — untuk Q&A dan diskusi
- GitHub Pull Requests — untuk kontribusi kode
- Docker Hub — untuk image dan documentation
- SourceForge — mirror download untuk yang nggak bisa akses GitHub
Komunitas 9Router cukup responsif. MUGHU pernah buka issue dan dapet response dalam beberapa jam. Dan karena project open source dengan lisensi MIT, kamu bebas untuk fork, modify, dan distribute.
Baca juga Animate UI: Komponen React Animasi Gratis & Mudah Dipakai
Untuk update terbaru, MUGHU selalu pantau GitHub releases page dan npm package page. Release notes selalu detail dengan list fitur, fix, dan improvement — jadi baca sebelum update.
Pengetahuan yang MUGHU Pelajarin dari Trial and Error
Sebagai penutup teknis (bukan kesimpulan, tapi sharing pengalaman), ini beberapa hal yang MUGHU pelajarin dari pakai 9Router beberapa bulan:
Mistake #1: MUGHU dulu connect semua provider sekaligus tanpa mikirin urutan. Hasilnya, 9Router kadang switch ke provider murah padahal subscription masih ada kuota. Fix: atur urutan tier dengan benar — subscription dulu, baru cheap, baru free.
Mistake #2: MUGHU set Caveman Mode ke Max dari hari pertama. Hasilnya, jawaban LLM jadi terlalu singkat dan MUGHU harus follow-up terus. Fix: mulai dari Low, naikkan bertahap sampai nemu sweet spot.
Mistake #3: MUGHU lupa backup config sebelum update versi. Sekali, update breaking config format dan MUGHU harus re-connect semua provider. Fix: selalu backup sebelum update, dan baca release notes.
Mistake #4: MUGHU pakai tunnel URL untuk production tanpa set access control. URL bocor dan orang lain pakai kuota MUGHU. Fix: set access control di Cloudflare dashboard atau pakai API key yang kuat.
Mistake #5: MUGHU nggak monitor token saver dashboard. Setelah 2 bulan, MUGHU sadar RTK saving turun karena format output tool berubah. Fix: cek dashboard mingguan dan update filter kalau perlu.
Setiap mistake di atas bikin MUGHU belajar sesuatu. Dan itu yang MUGHU suka dari 9Router — dia cukup powerful untuk bikin mistake, tapi juga cukup transparan untuk bikin kamu bisa fix-nya sendiri.
9Router v0.5.35 mungkin cuma satu update kecil dari puluhan yang udah rilis, tapi dia nunjukkin arah proyek ini: lebih banyak provider, lebih banyak service kind, lebih banyak bahasa, dan terus refine fitur yang udah ada. Buat developer yang serius soal AI coding workflow, 9Router udah jadi tool yang sulit untuk nggak dipakai.
Kesimpulan
Setelah ngebahas v0.5.35 dari berbagai sudut — mulai dari fitur baru, perbaikan provider, sampai pengalaman trial-and-error yang MUGHU alamin sendiri — satu hal yang jelas: 9Router bukan cuma proxy biasa. Dia berkembang dengan ritme yang konsisten, di mana setiap release bawa perbaikan konkret yang berdasar dari real-world usage komunitas. Versi ini mungkin kelihatan kecil dibanding update besar seperti v0.5.20 yang bawa thinking level picker, tapi justru di update-update kecil begini kamu bisa lihat komitmen maintainer terhadap stabilitas dan kompatibilitas provider yang makin luas.
Buat yang baru mau mulai, saran MUGHU simpel: install via npm, connect satu provider gratis dulu (Kiro atau OpenCode Free), dan rasain sendiri bedanya. Jangan langsung konfigurasi semua fitur sekaligus. Mulai dari setup minimal, observe metrik token saving dan success rate, lalu tambah provider dan strategi combo secara bertahap. Pendekatan iteratif ini yang bikin kamu ngerti mana fitur yang benar-benar impact workflow kamu, dan mana yang cuma nice-to-have. Dan kalau kamu mau dive lebih dalam ke arsitektur dan best practice routing API, dokumentasi resmi OpenAI tentang API design bisa jadi referensi tambahan yang solid untuk pahami konsep di balik 9Router.
Pada akhirnya, 9Router nunjukkin bahwa open-source project yang diurus dengan serius bisa ngelahirin tool yang setara — bahkan lebih fleksibel — dari solusi berbayar. Dengan 40+ provider, 100+ model, RTK token saver, dan komunitas yang aktif kontribusi, tool ini udah dapet tempat di workflow MUGHU dan ribuan developer lain. Kalau kamu belum coba, sekarang waktunya. Buka terminal, ketik npx 9router, dan liat sendiri kenapa project ini udah dapet 22 ribu stars di GitHub.
Referensi
GitHub. (2026). decolua/9router: Unlimited FREE AI coding. Connect Claude Code, Codex, Cursor, Cline, Copilot, Antigravity to FREE Claude/GPT/Gemini via 40+ providers. Auto-fallback, RTK -40% tokens, never hit limits.
GitHub. (2026). Releases · decolua/9router.
9Router. (2026). 9Router — Free AI Router with Smart Fallback for Claude, Codex and More.
Ecosyste.ms Repos. (2026). Releases for decolua/9router on GitHub.
Docker Hub. (2026). decolua/9router Docker Image.
npm. (2026). 9router — npm package for starting and managing 9Router server.
Release Alert. (2026). Releases for decolua/9router on GitHub.
SourceForge. (2026). 9Router — AI routing and proxy platform to unify access to dozens of AI providers and coding assistants.
DeepWiki. (2026). Installation for decolua/9router covering npm, source, and Docker methods.
NewReleases. (2026). decolua/9router version 0.5.29 — PXPipe token saver, proxy-pools auto-rotate, headroom extras.
Komentar (0)
Belum ada komentar. Jadilah yang pertama berbagi pendapat!
Tinggalkan komentar