Kebanyakan tool code review ngirim diff kamu ke server orang lain. Buat side project, itu nggak masalah. Buat codebase klien, monorepo internal, atau apa pun yang di bawah NDA, ini bukan opsi. Solusinya: jalanin model-nya sendiri.
Ollama membungkus llama.cpp dan kasih kamu satu binary yang bisa narik, jalanin, dan serve model GGUF lewat HTTP API lokal di port 11434. Continue adalah ekstensi VS Code dan JetBrains yang ngomong ke endpoint OpenAI-compatible mana pun, termasuk Ollama. Gabungan keduanya kasih kamu code reviewer yang jalan di laptop, tanpa telemetry dan tanpa subscription.
Panduan ini nuntun setup yang beneran jalan: install Ollama, pilih model yang cocok di laptop developer, sambungin ke Continue, dan jalanin review di diff beneran.
Prerequisites
- macOS, Linux, atau Windows (WSL2 direkomendasikan di Windows)
- Sekitar 8 GB RAM kosong untuk model 7B, 16 GB untuk 14B
- Sekitar 6 GB disk kosong untuk bobot model
- VS Code 1.85+
- Opsional tapi direkomendasikan: Apple Silicon Mac atau mesin dengan GPU diskrit
Langkah 1: Install Ollama
# macOS
brew install ollama
# Linux (one-liner dari ollama.com)
curl -fsSL https://ollama.com/install.sh | sh
# Windows: download installer dari ollama.com/download
Jalanin server-nya. Di macOS aplikasinya yang urus; di Linux jalanin sebagai service systemd atau di terminal terpisah:
ollama serve
Verifikasi nyala:
curl http://localhost:11434/api/version
# {"version":"0.5.x"}
Langkah 2: Pilih model
Nggak semua model jago code review. Kamu butuh yang dilatih di kode, dengan context window cukup gede buat muat diff plus file di sekitarnya. Tiga opsi solid di pertengahan 2026:
| Model | Size | RAM | Kenapa pilih ini |
|---|---|---|---|
qwen2.5-coder:7b |
4.7 GB | ~8 GB | Paling worth it untuk task coding |
qwen2.5-coder:14b |
9.0 GB | ~16 GB | Jauh lebih jago nangkep bug logika |
deepseek-coder-v2:16b |
8.9 GB | ~16 GB | Kuat di reasoning multi-file |
Tarik yang sesuai hardware:
ollama pull qwen2.5-coder:7b
Pull pertama download beberapa gigabyte. Pull berikutnya untuk tag lain cepet karena base layer-nya dipakai ulang.
Cek dulu model-nya sebelum nyentuh editor:
ollama run qwen2.5-coder:7b "Review this Python: def add(a,b): return a-b"
Kamu bakal dapat respons yang nandain bug-nya, jelasin masalah sign, dan kasih saran fix. Kalau yang keluar nggak nyambung, file model-nya korup. Pull ulang.
Langkah 3: Konfigurasi Continue di VS Code
Install ekstensi Continue dari marketplace VS Code. Setelah install, buka file config lewat command palette:
Continue: Open config.json
Ini bikin ~/.continue/config.json. Ganti isinya dengan:
{
"models": [
{
"title": "Qwen Coder 7B (lokal)",
"provider": "ollama",
"model": "qwen2.5-coder:7b",
"systemMessage": "Kamu adalah senior engineer yang lagi code review. Jadi spesifik. Kutip nomor baris. Jangan mengulang kode. Skip nitpick. Tandai masalah beneran: bug, security hole, edge case yang kelewat, dan nama yang membingungkan."
}
],
"tabAutocompleteModel": {
"title": "Qwen Coder 7B (lokal)",
"provider": "ollama",
"model": "qwen2.5-coder:7b"
}
}
Restart VS Code. Buka panel Continue dari sidebar kiri (ikon chat bubble). Qwen Coder 7B (lokal) harus muncul di dropdown model.
Langkah 4: Review diff beneran
Shortcut Cmd+L (macOS) atau Ctrl+L (Linux/Windows) buka chat dengan selection saat ini sebagai konteks. Seleksi fungsi, tekan shortcut, dan tanya:
Cari bug dan security issue di fungsi ini.
Untuk review full file atau full diff, paste diff-nya langsung ke chat. Model ini punya context window 32K, cukup untuk kebanyakan PR.
Untuk review yang repeatable di branch, jalanin ini dari root repo:
git diff main...HEAD > /tmp/changes.diff
Lalu di chat Continue:
Review diff di /tmp/changes.diff. List 5 masalah teratas dengan path file dan nomor baris.
Kamu juga bisa tambahin sebagai slash command level project. Bikin .continue/rules/review.md:
# Code review
Pas diminta review kode:
1. Baca seluruh diff sebelum komen.
2. Kelompokkan temuan berdasarkan severity: bug, security, performance, style.
3. Kutip file dan baris untuk setiap temuan.
4. Kalau kodenya udah bener, bilang aja. Jangan bikin-bikin masalah.
Langkah 5: Jadikan bagian pre-commit (opsional)
Kalau kamu mau review di setiap commit, arahkan Continue ke server Ollama dari shell script dan stream responsnya. Versi minimal:
#!/usr/bin/env bash
set -euo pipefail
DIFF=$(git diff --cached)
[ -z "$DIFF" ] && exit 0
PAYLOAD=$(jq -n --arg d "$DIFF" '{
model: "qwen2.5-coder:7b",
prompt: "Review diff yang di-stage ini. Tandai bug dan security issue. Pakai bahasa yang ringkas.
($d)",
stream: false
}')
RESPONSE=$(curl -s http://localhost:11434/api/generate -d "$PAYLOAD")
echo "$RESPONSE" | jq -r .response
Simpan sebagai scripts/pre-commit-review.sh, chmod +x, dan tambahin ke hook pre-commit. Review-nya print ke terminal sebelum tiap commit. Exit non-zero untuk temuan serius dan kamu punya CI gate yang jalan di laptop.
Tuning performa
Default Ollama cukup untuk satu user. Dua knob yang penting:
Panjang konteks. Default-nya 2048 token, terlalu pendek untuk kebanyakan diff. Set per-model lewat Modelfile:
FROM qwen2.5-coder:7b
PARAMETER num_ctx 16384
PARAMETER temperature 0.2
Build:
ollama create qwen-coder-review -f Modelfile
Lalu arahkan Continue ke qwen-coder-review alih-alih qwen2.5-coder:7b. Temperature rendah bikin review lebih deterministik dan kecil kemungkinan bikin-bikin masalah.
Keep-alive. Ollama unload model dari memori 5 menit setelah request terakhir. Prompt berikutnya bayar biaya reload, 5-15 detik. Pin untuk durasi sesi review:
{
"models": [
{
"title": "Qwen Coder 7B (lokal)",
"provider": "ollama",
"model": "qwen2.5-coder:7b",
"ollama": {
"keepAlive": "-1"
}
}
]
}
-1 artinya model tetap loaded sampai Ollama restart. Di mesin 16 GB dengan model 7B, biayanya sekitar 5 GB RAM, biasanya masih oke.
Kapan ini bukan tool yang tepat
Model lokal 7B bukan model frontier. Dia kelewat banyak hal. Pake dia untuk first pass, tetap minta manusia ngecek apa pun yang nyentuh auth, payment, atau data migration. Untuk model 14B di mesin yang kuat, gap-nya menyempit. Untuk review lebih dalam di monorepo besar, jalanin agent loop pake hermes-agent atau claude-code yang diarahkan ke repo yang sama.
Kalau kamu butuh model yang lebih kuat dari yang muat di laptop, config file yang sama nerima hosted provider. Ganti provider: ollama jadi provider: anthropic dan tambahin API key. Kode integrasinya nggak berubah.
Mau lanjut ke mana
- Coba
qwen2.5-coder:14bkalau kamu punya 16 GB RAM. Lonjakan kualitas review-nya kerasa. - Sambungin server Ollama yang sama ke hermes-agent atau claude-code agent loop untuk refactor otomatis.
- Tambahin file
.continue/rules/untuk tiap project dengan heuristik review spesifik project. - Kalau tim kamu pake JetBrains, config yang sama jalan; Continue support kedua editor.