Implementasi Hermes Agent dengan 9Router: Smart Fallback untuk 60+ Provider
Panduan integrasi Hermes Agent dengan 9Router — gateway OpenAI-compatible yang memberi smart 3-tier fallback, quota tracking, dan hemat token hingga 65%.
Masalahnya
Developer yang pakai AI agent CLI (Hermes, Claude Code, Codex) menghadapi pola frustrasi yang sama:
- Quota subscription terbuang — Claude Code / Copilot / Gemini quota reset tiap bulan, tapi sering tidak habis terpakai
- Rate limit memutus fokus — sesi coding tengah malam berhenti karena limit, harus switch manual ke API key lain
- Juggling API key — satu project butuh Claude untuk reasoning, GLM untuk hemat, Qwen untuk fallback. Tiap tool konfigurasi sendiri
- Format tidak kompatibel — tool A hanya bicara OpenAI format, provider B hanya Anthropic format
Yang dibutuhkan: satu pintu di depan semua tool yang otomatis mengelola fallback, tracking quota, dan translasi format.
Di sinilah 9Router masuk — dan kabar baiknya, ia secara eksplisit mendukung Hermes Agent.
Apa itu 9Router
9Router adalah smart gateway berbasis OpenAI-compatible endpoint yang duduk di antara CLI/IDE tool Anda dan 60+ AI provider. Intinya: satu URL (localhost:20128/v1) untuk semua.
CLI / IDE Tools 9Router AI Providers
───────────── ──────── ────────────
Hermes Agent ──┐ ┌──────────────────┐ ┌─ Claude Code
Claude Code ──┤ │ 3-Tier Fallback │ ├─ Codex
Codex CLI ──┼──► localhost ─►│ Quota Tracking │──► 60+ ├─ Gemini
Cursor ──┤ :20128/v1 │ Format Translator│ ├─ GLM ($0.60)
Cline ──┤ │ RTK + Caveman │ ├─ MiniMax ($0.20)
Copilot ──┘ └──────────────────┘ ├─ Kimi ($9/mo)
└─ iFlow / Qwen (FREE)
9 service kinds dalam satu endpoint
| Service | Contoh Provider |
|---|---|
| Chat / LLM | 60+ provider (Claude, GPT, Gemini, GLM, …) |
| Embeddings | Voyage, Jina, OpenAI, Cohere, Mistral |
| Text-to-Speech | ElevenLabs, Deepgram, OpenAI, Edge TTS |
| Speech-to-Text | Deepgram, AssemblyAI, Whisper, Qwen STT |
| Image Generation | Fal, Stability, Flux, OpenAI, Gemini |
| Vision / Image-to-Text | OpenAI, Gemini, Anthropic, Groq, xAI |
| Video Generation | Runway ML, Topaz |
| Web Search | Tavily, Brave, Serper, Exa, Perplexity |
| Web Fetch | Tavily, Exa, Firecrawl, Jina Reader |
Kenapa Hermes Agent + 9Router cocok
Hermes Agent sudah provider-agnostic dan mendukung custom provider dengan base_url OpenAI-compatible. 9Router menyediakan persis endpoint itu. Kombinasinya:
| Kebutuhan | Hermes sendiri | Hermes + 9Router |
|---|---|---|
| Multi-provider | Swap manual / fallback chain (hermes fallback) |
Auto 3-tier fallback tanpa konfigurasi tambahan |
| Quota tracking | Tidak ada | Real-time dashboard per provider |
| Subscription pooling | Per-provider credential pool | Subscription (Tier 1) + Cheap (Tier 2) + FREE (Tier 3) |
| Token compression | Tidak ada | RTK (−20–40% input) + Caveman (−65% output) |
| Format mismatch | Manual per provider | Auto-translator OpenAI ↔ Anthropic ↔ Gemini |
Hermes tetap jadi agent core (skills, memory, multi-platform gateway). 9Router jadi lapisan routing cerdas di bawahnya.
Quick start
1. Install 9Router
# Install global (butuh Node.js)
npm install -g 9router
# Jalankan — dashboard terbuka otomatis
9router
Output yang muncul:
> Server: localhost:20128
> Dashboard: localhost:20128/dashboard
> Ready to route ✓
2. Hubungkan provider via dashboard
Buka http://localhost:20128/dashboard, lalu tambahkan provider per tier:
Tier 1 — Subscription (OAuth)
☑ Claude Code (Anthropic subscription)
☑ OpenAI Codex (OpenAI subscription)
☑ Gemini (Google subscription)
☑ GitHub Copilot (GitHub subscription)
Tier 2 — Cheap (API key)
☑ GLM Coding ($0.60 / 1M token)
☑ MiniMax ($0.20 / 1M token)
☑ Kimi ($9 / bulan)
Tier 3 — FREE (no card)
☑ iFlow (unlimited)
☑ Qwen (free tier)
☑ Kiro (free)
☑ OpenCode Free (unlimited)
9Router akan auto-fallback: Tier 1 → Tier 2 → Tier 3 saat quota habis.
3. Konfigurasi Hermes Agent ke 9Router
Karena 9Router OpenAI-compatible, kita pakai custom provider di Hermes. Set API key (9Router biasanya terima nilai apa saja saat lokal) dan base URL:
# Set base URL ke endpoint 9Router
hermes config set model.provider custom
hermes config set model.base_url http://localhost:20128/v1
# API key — isi placeholder jika 9Router tidak require auth lokal
hermes config set CUSTOM_API_KEY local-9router
# Pilih model (9Router akan route sesuai tier)
hermes config set model.default claude-sonnet-4
Atau edit langsung ~/.hermes/config.yaml:
model:
provider: custom
base_url: http://localhost:20128/v1
default: claude-sonnet-4
api_key: local-9router
Dan ~/.hermes/.env:
CUSTOM_API_KEY=local-9router
4. Verifikasi
hermes doctor # health check
hermes chat -q "Halo, tes koneksi via 9Router"
Jika berhasil, Hermes sekarang melewati 9Router — semua request LLM akan melalui smart fallback.
Model alias: kombinasi terbaik dari dua dunia
Hermes punya model aliases dan 9Router punya Smart Combos. Gabungkan keduanya untuk kontrol penuh:
# ~/.hermes/config.yaml
model:
provider: custom
base_url: http://localhost:20128/v1
default: claude-sonnet-4
aliases:
# Alias Hermes → nama combo/model di 9Router
reasoning: claude-sonnet-4 # pakai Tier 1 (subscription)
cheap: glm-coding # pakai Tier 2 (hemat)
free: qwen-free # pakai Tier 3 (gratis)
balanced: my-combo # combo buatan sendiri di 9Router dashboard
Saat di sesi Hermes:
/reasoning → claude-sonnet-4 (via 9Router Tier 1)
/cheap → glm-coding (via 9Router Tier 2)
/free → qwen-free (via 9Router Tier 3)
Switch model mid-workflow tanpa ganti API key — 9Router yang urus routing-nya.
3-Tier fallback di praktik
Inilah inti nilai 9Router. Saat Anda coding malam-malam dengan Hermes:
[Waktu] [Event] [Tier aktif]
23:00 Sesi mulai, subscription Claude fresh Tier 1 (Claude Code)
23:45 Quota Claude habis → auto fallback
23:45 GLM Coding ambil alih Tier 2 (GLM $0.60)
02:00 Budget GLM mentok → auto fallback
02:00 Qwen free tier Tier 3 (FREE)
06:00 Masih coding, $0 cost Tier 3 (iFlow unlimited)
Tanpa 9Router, skenario di atas berarti 4× interupsi manual untuk ganti API key. Dengan 9Router, Hermes terus jalan tanpa sadar provider berganti.
Fitur lanjutan yang relevan
RTK Token Saver (input compression)
9Router mengkompres tool_result (git diff, grep, ls, find, tree) sebelum sampai ke LLM. Karena Hermes banyak pakai tool calls (terminal, file, search), penghematan 20–40% input token sangat terasa.
Tanpa RTK: git diff 47.000 token
Dengan RTK: git diff 28.000 token (−40%, lossless, context sama)
Caveman Mode (output compression)
Inject system prompt yang membuat LLM membalas lebih telegraphic. Lima level intensitas. Cocok untuk sesi coding yang butuh jawaban padat, bukan paragraf panjang.
Format Translator
Hermes dengan custom provider bicara format OpenAI. Jika di 9Router Anda set combo yang include Anthropic/Gemini backend, translator 9Router yang handle konversi — Hermes tidak perlu tahu.
Cloud Sync + Tunnel
# Tunnel 9Router via Cloudflare edge — akses dari mana saja
9router tunnel
Hermes di laptop kantor bisa pakai 9Router di rumah (atau sebaliknya) lewat 300+ global Cloudflare location.
Arsitektur lengkap
┌─────────────────────────────────────────────────────────┐
│ Hermes Agent │
│ (skills · memory · tools · multi-platform gateway) │
│ │ │
│ model.provider: custom │
│ base_url: localhost:20128/v1 │
└─────────────────────────┬───────────────────────────────┘
│ (OpenAI-compatible)
▼
┌─────────────────────────────────────────────────────────┐
│ 9Router │
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌───────────────┐ │
│ │ 3-Tier │ │ Quota │ │ RTK + Caveman │ │
│ │ Fallback │ │ Tracker │ │ (token saver) │ │
│ └──────┬──────┘ └──────────────┘ └───────────────┘ │
│ │ │
│ ┌──────▼──────────────────────────────────────────┐ │
│ │ Format Translator (OpenAI ↔ Anthropic ↔ Gemini) │ │
│ └──────┬──────────────────────────────────────────┘ │
└──────────┼──────────────────────────────────────────────┘
│
┌──────┴──────────────────────────────┐
▼ ▼ ▼ ▼
Tier 1 Tier 2 Tier 3 Custom Combos
(Claude, (GLM, (Qwen,
Codex, MiniMax, iFlow,
Gemini) Kimi) Kiro)
Kapan kombinasi ini cocok
- Coding session panjang yang sering kena rate limit
- Tim dengan multiple AI subscription yang quota-nya sering tidak terpakai
- Ingin hemat token tanpa upgrade plan (RTK + Caveman)
- Butuh akses 9 service kind (TTS, STT, image, search) lewat satu endpoint
- Workflow Hermes yang heavy tool-calling (RTK compress sangat membantu)
Kapan tidak perlu 9Router
- Sudah punya satu provider yang cukup dan tidak pernah kena limit
- Tidak nyaman menjalankan gateway lokal tambahan
- Semua provider yang dipakai sudah OpenAI-native (tidak butuh translator)
- Hanya pakai Hermes untuk Q&A ringan sesekali
Urutan sehat:
mulai dengan 1 provider → saat sering kena limit → tambah 9Router
Checklist implementasi
[ ] npm install -g 9router
[ ] 9router — jalankan gateway
[ ] Buka dashboard, connect provider per tier (OAuth/API key)
[ ] Tes routing via dashboard (pastikan 3 tier aktif)
[ ] hermes config set model.provider custom
[ ] hermes config set model.base_url http://localhost:20128/v1
[ ] hermes config set CUSTOM_API_KEY local-9router
[ ] hermes config set model.default <model-name>
[ ] hermes doctor — verifikasi koneksi
[ ] Tes: hermes chat -q "ping"
[ ] (Opsional) Setup model aliases untuk tier switching
[ ] (Opsional) Aktifkan RTK + Caveman di dashboard 9Router
Penutup
9Router melengkapi Hermes Agent di lapisan yang tidak dimiliki Hermes sendiri: smart routing dengan fallback otomatis dan token compression. Hermes tetap jadi otak (skills, memory, multi-platform gateway), 9Router jadi tulang punggung provider yang tidak pernah tidur.
Kombinasi ini menjawab frustrasi klasik developer AI: quota terbuang, rate limit memutus fokus, dan API key berlapis. Install 9Router sekali, arahkan Hermes ke localhost:20128/v1, dan biarkan 3-tier fallback yang bekerja.
Sumber: 9router.com · github.com/decolua/9router · Hermes Agent docs