Gemma 4 + Claude Code Router: Jalankan Claude Code di Model Lokal (2026)
Claude Code adalah alat coding berbasis terminal dari Anthropic, dikenal karena kemampuan menangani konteks dan kualitas kode yang dihasilkan. Masalahnya, secara default ia hanya bisa berbicara dengan API cloud Anthropic — setiap file yang Anda sentuh ikut diunggah, dan setiap sesi dibebankan ke akun Anthropic Anda.
Kalau Anda peduli privasi kode, harus bekerja offline, atau terjebak di balik jaringan korporat yang ketat, ini jadi penghalang nyata. Claude Code Router (CCR) adalah proxy open source buatan komunitas yang menyisip di antara Claude Code dan API Anthropic, lalu menerjemahkan permintaan ke backend yang OpenAI-compatible — misalnya instance Ollama lokal yang menjalankan Gemma 4.
Panduan ini menelusuri setup lengkapnya: memasang CCR, menyambungkan Gemma 4 sebagai upstream, memakainya untuk sesi coding nyata, dan — yang sama pentingnya — batasan legal, kualitas, dan dukungan yang harus Anda terima sebelum jalan ini dipilih. Kami tidak sedang mempromosikan CCR. Ini solusi zona abu-abu, dan kami ingin Anda memutuskan dengan informasi yang utuh.
Kenapa ada yang ingin Claude Code pakai model lokal?
Sebelum masuk ke cara, perjelas dulu kebutuhannya. Tiga skenario yang masuk akal:
Basis kode yang diregulasi. Industri keuangan, pertahanan, kesehatan, dan sebagian instansi pemerintah tidak boleh mengirim source code ke cloud pihak ketiga. ToS Anthropic tidak mengubah fakta itu. Model lokal di workstation membuat kode tetap di dalam batas jaringan.
Jaringan buruk atau terputus. Remote dengan Wi-Fi jelek, penerbangan panjang, riset lapangan, lab tertutup. API cloud bisa gagal, model lokal tetap jalan.
Model kustom atau fine-tuned. Mungkin Anda punya Gemma 4 yang di-tune untuk domain khusus (bioinformatika, EDA, DSL internal) dan ingin UX Claude Code di atas bobot Anda sendiri.
Ini alasan teknis. "Biar hemat tagihan Claude" adalah motivasi lain yang tidak artikel ini bela.
Catatan legal & kepatuhan (baca dulu sebelum menjalankan apa pun)
Pernyataan penolakan: Konfigurasi di bawah menulis ulang endpoint API upstream Claude Code ke proxy pihak ketiga. Bergantung pada bagaimana ToS Anthropic berkembang, ini bisa melanggar perjanjian penggunaan Claude Code dan berisiko pada akun Anda. Artikel ini dokumentasi teknis, bukan nasihat hukum. Untuk penerapan di perusahaan, minta tim legal dan keamanan meninjaunya lebih dulu.
Selain itu, Anda juga perlu menerima trade-off teknis berikut:
- Fitur turun kelas. Extended thinking, prompt caching, dan sebagian format tool use dirancang untuk model Anthropic. Dengan Gemma 4, semuanya bisa mengalami degradasi, berperilaku aneh, atau gagal tanpa pesan.
- Kualitas output. Gemma 4 26B / 31B adalah model open-weight yang kuat, tapi pada penalaran multi-file kompleks masih tertinggal dari Claude 3.5 / 4. Sesuaikan ekspektasi.
- Proyek komunitas, tanpa SLA. CCR dipelihara sukarelawan. Kalau format wire Anthropic berubah, CCR bisa rusak dalam semalam, dan tidak ada kontrak dukungan yang bisa Anda tagih.
Kalau trade-off ini bisa diterima, lanjutkan.
Sebenarnya apa itu Claude Code Router?
CCR adalah proxy HTTP lokal yang ringan, umumnya ditulis dengan Node.js. Tugasnya sempit:
- Mendengarkan di port lokal.
- Menerima permintaan berformat Anthropic Messages API.
- Menerjemahkan ke format OpenAI-compatible (Ollama, LiteLLM, OpenRouter, dll.).
- Menerjemahkan balik respons streaming ke bentuk yang Claude Code harapkan.
Bagian yang menarik ada di lapisan terjemahan. Peran pesan, blok tool call, delta streaming, dan stop reason berbeda antara dua keluarga API — CCR meratakannya supaya Claude Code merasa masih bicara dengan Anthropic.
Prasyarat
- Node.js 18+ (CCR adalah proyek Node)
- Ollama sudah terpasang dan jalan (ollama.com)
- Gemma 4 26B atau 31B sudah di-pull lewat Ollama
- Claude Code (
npm install -g @anthropic-ai/claude-code) - Hardware: 26B butuh ~16 GB RAM, 31B ~24 GB. Lihat panduan hardware di artikel terkait.
Langkah 1 — pasang Claude Code Router
Clone repo dan pasang dependensi:
git clone https://github.com/<org>/claude-code-router.git
cd claude-code-router
npm installURL repo berbeda-beda tergantung fork. CCR proyek komunitas, bisa direnam atau difork. Cari "claude code router" atau "claude code proxy" di GitHub, lalu pilih fork dengan commit terbaru.
Langkah 2 — arahkan CCR ke Ollama
Buat .env (atau config.json, tergantung fork) di direktori CCR:
UPSTREAM_PROVIDER=ollama
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=gemma4:26b-a4b
PORT=8082Jalankan proxy:
npm startLog yang muncul kira-kira:
Claude Code Router started on port 8082
Upstream: ollama (gemma4:26b-a4b)
Ready to accept connectionsUji cepat endpoint HTTP-nya:
curl http://localhost:8082/v1/modelsSeharusnya mengembalikan JSON berisi model Gemma 4 Anda.
Langkah 3 — arahkan Claude Code ke CCR
Claude Code membaca ANTHROPIC_BASE_URL untuk menentukan endpoint. Arahkan ke proxy lokal:
export ANTHROPIC_BASE_URL="http://localhost:8082"
export ANTHROPIC_API_KEY="local" # harus non-kosong, nilainya diabaikan
claudeClaude Code akan start normal, tapi semua permintaan kini lewat CCR menuju Gemma 4 lokal.
Biar tidak repot mengatur env tiap sesi, simpan di ~/.zshrc / ~/.bashrc, atau bungkus dalam alias supaya claude tetap pakai API resmi:
alias claude-local='ANTHROPIC_BASE_URL=http://localhost:8082 ANTHROPIC_API_KEY=local claude'Langkah 4 — pakai beneran
Menjelaskan kode:
> Jelaskan apa yang dilakukan src/auth/middleware.tsGemma 4 akan baca file lalu merangkum. Penjelasan file tunggal oke; penalaran mendalam lintas modul adalah titik lemahnya.
Membuat endpoint baru:
> Buat src/api/health.ts dengan handler GET /api/health yang mengembalikan status dan versiTugas CRUD dan scaffolding HTTP umumnya mulus.
Memperbaiki bug:
> npm test gagal dengan "Cannot read properties of undefined". Cek src/utils/parser.tsDengan stack trace yang jelas, Gemma 4 biasanya menemukan masalahnya. Bug logika halus tanpa sinyal error jelas jauh lebih sulit.
Perbandingan pengalaman apa adanya
| Dimensi | Claude Code resmi | CCR + Gemma 4 26B | CCR + Gemma 4 31B |
|---|---|---|---|
| Kualitas generasi kode | Sangat baik | Lumayan (≈ GPT-3.5) | Baik (≈ GPT-4) |
| Penalaran multi-file | Sangat baik | Lemah | Sedang |
| Kompatibilitas tool use | Native | Sebagian | Sebagian |
| Extended thinking | Didukung | Tidak | Tidak |
| Kecepatan | Cepat (cloud) | 20–40 t/s | 15–30 t/s |
| Privasi | Kode keluar jaringan | Sepenuhnya lokal | Sepenuhnya lokal |
| Offline | Tidak | Ya | Ya |
| Biaya bulanan | Per token | Rp 0 | Rp 0 |
Cocok untuk: generasi kode terisolasi, penjelasan kode, perbaikan bug sederhana, pemakaian offline atau di lingkungan terbatas.
Tidak cocok untuk: refactor arsitektur, edit multi-file panjang, hal-hal yang bergantung pada extended thinking.
CCR dibanding setup AI coding lokal lainnya
| Opsi | Dukungan lokal native | Butuh proxy | Integrasi Git | Edit multi-file | Kematangan |
|---|---|---|---|---|---|
| Aider + Gemma 4 | Native | Tidak | Commit otomatis | Kuat | Tinggi (30K+ star) |
| Codex CLI + Gemma 4 | Perlu konfig | Tidak | Tidak ada | Fokus satu file | Menengah |
| CCR + Claude Code + Gemma 4 | Tidak | Ya (CCR) | Tidak ada | Kuat (via Claude Code) | Rendah (eksperimental) |
| Cursor + Ollama | Perlu plugin | Tidak | Tidak ada | Kuat | Menengah |
Pendapat jujur: kalau tujuan Anda "model lokal + coding di terminal", Aider adalah jalan paling matang — ia memang dirancang untuk backend lokal. CCR baru masuk akal kalau Anda sudah sangat terikat pada workflow Claude Code dan punya kendala privasi/offline yang spesifik.
Troubleshooting
"Port already in use" — ubah PORT di .env, atau matikan proses yang memegang 8082:
lsof -i :8082
kill -9 <PID>"Authentication failed" dari Claude Code — pastikan ANTHROPIC_API_KEY tidak kosong dan ANTHROPIC_BASE_URL menunjuk ke port CCR yang benar.
Output acak atau terpotong — terjemahan CCR tidak sempurna. Update (git pull && npm install), coba 31B (format lebih patuh), atau sederhanakan prompt.
Respons lambat — pastikan Ollama jalan di GPU dengan ollama ps. Jika RAM mepet, pertimbangkan kuantisasi GGUF.
FAQ
Apakah akun saya bisa dibanned Anthropic? Risiko tidak nol. Menulis ulang endpoint API Claude Code bisa melanggar ToS. Kami tidak memberi nasihat hukum. Anggap ini keputusan risiko pribadi, dan untuk pemakaian komersial, konsultasikan dengan legal.
Bisakah Gemma 4 benar-benar menggantikan Claude? Tidak bisa. Claude Code dioptimalkan untuk kemampuan khas Anthropic (extended thinking, format tool use tertentu, penanganan konteks dalam). Gemma 4 memberi Anda subset fungsional, bukan paritas.
Jalan di Windows? Jalan. Node.js dan Ollama lintas platform, langkah-langkahnya identik.
Bisa arahkan CCR ke GPT-4 atau model cloud lain? Bisa. CCR mendukung banyak upstream, termasuk OpenAI. Tapi itu mematikan nilai "privasi lokal" dan Anda tetap bayar per token di upstream.
Kenapa tidak langsung pakai Aider atau Codex CLI? Jujur, itu sering jawaban terbaik. Repo map dan auto commit Git di Aider pas untuk skenario lokal. Pilih CCR hanya kalau UX Claude Code wajib. Lihat panduan Aider + Gemma 4.
Bisa pakai Gemma 4 E2B / E4B? Secara teknis bisa, praktiknya tidak. Varian 4B / 8B tidak kuat untuk beban coding agentik. Minimum 26B.
Layak untuk produksi tim? Tidak kami rekomendasikan. Antara risiko ToS dan CCR sebagai proxy dengan maintainer tunggal, kami tidak akan menaruhnya di jalur kritis tim. Riset pribadi atau pilot terbatas boleh; produksi bersama sebaiknya tidak.
Artikel terkait
Stop reading. Start building.
~/gemma4 $ Get hands-on with the models discussed in this guide. No deployment, no friction, 100% free playground.
Launch Playground />


