Masalah: Copilot Bagus, Tapi Kode Kamu Kemana?
Lo nulis kode buat client, ada logic bisnis yang sensitif, terus semuanya di-stream ke server GitHub/OpenAI buat diproses. Mungkin nggak apa-apa, mungkin juga bikin client lo nggak happy kalau tau.
Belum lagi kalau internet mati di tengah deadline. Atau budget lagi tipis dan langganan Copilot terasa berat.
Solusinya: jalanin AI coding assistant langsung di mesin sendiri. Offline, privat, gratis setelah setup awal. Tutorial ini akan tunjukin cara setup Ollama sebagai backend model + Continue sebagai VS Code extension yang nge-replace Copilot.
Gue udah pakai setup ini sekitar 3 bulan buat proyek freelance dan hasilnya cukup layak — bukan 100% sekelas GPT-4, tapi untuk autocomplete dan explain code, lebih dari cukup.
Kenapa Ollama?
Ollama itu basically runtime buat jalanin LLM (Large Language Model) di lokal. Dia handle download model, serving via HTTP API, dan manajemen memori GPU/CPU. Kamu nggak perlu ngurusin CUDA setup manual atau virtualenv Python yang ribet.
Model yang bagus buat coding:
- Qwen2.5-Coder 7B — ini favorit gue, balance antara speed dan kualitas
- DeepSeek-Coder-V2 Lite — lebih berat tapi lebih pinter buat multi-file context
- CodeGemma 7B — alternatif kalau kamu tim Google
Rekomendasi hardware minimum:
- RAM 16 GB buat model 7B (CPU only)
- RAM 8 GB + GPU 8 GB VRAM buat experience yang lebih smooth
- Storage minimal 10 GB per model
Install Ollama
Linux / macOS
curl -fsSL https://ollama.com/install.sh | sh
Setelah install, verifikasi:
ollama --version
# ollama version 0.3.x
Windows
Download installer dari ollama.com dan jalanin seperti biasa. Ollama akan jalan sebagai background service otomatis.
Pull model coding
# Model utama yang direkomendasiin
ollama pull qwen2.5-coder:7b
# Kalau RAM kamu pas-pasan (< 12 GB), pakai versi 3B
ollama pull qwen2.5-coder:3b
Proses download sekitar 4–5 GB. Sambil nunggu, lanjut ke bagian berikutnya.
Test API Ollama Dulu Sebelum Lanjut
Ini langkah yang sering diskip orang dan akhirnya debugging extension-nya dulu. Pastiin Ollama API jalan dulu:
# Cek apakah service running
curl http://localhost:11434/api/tags
Response-nya harusnya JSON berisi list model yang udah kamu pull:
{
"models": [
{
"name": "qwen2.5-coder:7b",
"modified_at": "2024-11-01T10:00:00Z",
"size": 4685701120
}
]
}
Coba generate sederhana:
curl http://localhost:11434/api/generate \
-d '{
"model": "qwen2.5-coder:7b",
"prompt": "Write a Python function to reverse a string",
"stream": false
}'
Kalau response-nya ada field response dengan kode Python, berarti backend lo udah siap.
Gotcha #1: Di Linux, kadang Ollama service belum auto-start setelah install. Jalanin manual:
ollama serve
Atau enable sebagai systemd service:
sudo systemctl enable ollama
sudo systemctl start ollama
Setup Continue Extension di VS Code
Continue adalah open-source Copilot alternative yang bisa connect ke berbagai backend — termasuk Ollama. Install dari VS Code Marketplace:
- Buka VS Code
- Extensions panel (
Ctrl+Shift+X) - Search "Continue"
- Install yang publisher-nya
Continue
Setelah install, Continue akan minta kamu pilih provider. Pilih Ollama dan dia akan auto-detect model yang udah kamu pull.
Konfigurasi Manual (Lebih Recommended)
Buka file config Continue:
# Linux/macOS
cat ~/.continue/config.json
# Windows
type %USERPROFILE%\.continue\config.json
Edit jadi seperti ini:
{
"models": [
{
"title": "Qwen2.5 Coder",
"provider": "ollama",
"model": "qwen2.5-coder:7b",
"apiBase": "http://localhost:11434"
}
],
"tabAutocompleteModel": {
"title": "Qwen2.5 Coder Autocomplete",
"provider": "ollama",
"model": "qwen2.5-coder:7b",
"apiBase": "http://localhost:11434"
},
"embeddingsProvider": {
"provider": "ollama",
"model": "nomic-embed-text",
"apiBase": "http://localhost:11434"
}
}
Pull juga model embedding-nya:
ollama pull nomic-embed-text
Model embedding ini yang bikin Continue bisa "ngerti" codebase kamu secara keseluruhan, bukan cuma file yang lagi dibuka.
Cara Pakai Continue di Daily Workflow
Chat dengan Context Kode
Highlight kode yang mau kamu tanyain, tekan Ctrl+L (atau Cmd+L di Mac), ketik pertanyaan:
Kenapa fungsi ini bisa return undefined?
Continue akan kirim kode yang kamu highlight + pertanyaan ke Ollama dan tampilkan jawaban di sidebar.
Inline Edit
Highlight kode, tekan Ctrl+I, ketik instruksi:
Refactor ini pakai async/await
Dia akan langsung edit kode di editor dengan diff view — kamu tinggal accept atau reject.
Tab Autocomplete
Ini yang paling sering gue pakai. Sama kayak Copilot, tapi semua proses di lokal. Tinggal ngetik dan tunggu suggestion muncul, tekan Tab buat accept.
Gotcha #2: Autocomplete di CPU-only bisa terasa lambat (2–4 detik). Ini normal. Kalau mau lebih cepat, pakai model 3B atau invest di GPU dengan minimal 8 GB VRAM. Dengan GPU, latency turun ke < 1 detik.
Tambah Context Codebase dengan Indexing
Ini fitur yang bikin Continue beda dari sekedar chatbot. Kamu bisa index seluruh codebase biar AI ngerti struktur project kamu.
Di Continue sidebar, klik ikon ⚙️ → "Index Codebase". Prosesnya makan waktu beberapa menit tergantung ukuran project.
Setelah indexed, kamu bisa tanya hal kayak:
@codebase Dimana logic untuk handle payment webhook?
Atau:
@codebase Buatin fungsi baru yang konsisten dengan pattern yang udah ada di repo ini
Ini yang gue rasa paling valuable — AI yang ngerti konteks project kamu, bukan cuma generic coding assistant.
Gotcha #3: Kalau project kamu ada file .env atau secrets, pastiin .continue/index masuk ke .gitignore. Index disimpan lokal, tapi tetap good practice buat nggak commit-nya.
# Tambah ke .gitignore
echo ".continue/" >> .gitignore
Benchmark Jujur: Seberapa Bagus?
Gue nggak mau oversell ini. Ini perbandingan jujur dari pengalaman gue:
Yang bagus:
- Autocomplete buat boilerplate dan pattern yang repetitif → 90% akurat
- Explain kode yang udah ada → sangat membantu
- Refactor sederhana (rename, extract function, add error handling) → reliable
- Privasi total — kode nggak kemana-mana
Yang masih kurang:
- Multi-file reasoning yang kompleks → kadang "lupa" context
- Generate kode dari scratch buat domain yang spesifik → masih perlu banyak koreksi
- Speed di CPU-only → butuh kesabaran ekstra
Kalau kamu kerja di proyek dengan codebase besar dan butuh AI yang bisa reason across banyak file sekaligus, mungkin masih worth bayar Copilot atau Cursor. Tapi buat solo dev yang ngerjain project ukuran medium dengan concern privasi, this guide setup ini sangat layak.
Optimasi Tambahan: Model Switching
Kamu bisa punya beberapa model dan switch sesuai kebutuhan. Misalnya:
{
"models": [
{
"title": "Qwen Coder (Fast)",
"provider": "ollama",
"model": "qwen2.5-coder:3b",
"apiBase": "http://localhost:11434"
},
{
"title": "DeepSeek (Smart)",
"provider": "ollama",
"model": "deepseek-coder-v2:16b",
"apiBase": "http://localhost:11434"
}
]
}
Pakai model 3B buat autocomplete sehari-hari (cepat), switch ke model yang lebih besar kalau lagi debugging masalah yang kompleks.
Switch model di Continue tinggal klik nama model di pojok kanan bawah sidebar.
Langkah Lanjutan
Setup dasar udah jalan. Yang gue lakuin selanjutnya:
-
Expose Ollama ke network lokal — biar bisa diakses dari laptop lain atau dari WSL:
# Set environment variable sebelum jalanin ollama serve OLLAMA_HOST=0.0.0.0:11434 ollama serveTerus di config Continue, ganti
apiBaseke IP mesin server kamu. -
Coba Open WebUI — UI chat kayak ChatGPT tapi self-hosted, connect ke Ollama yang sama:
docker run -d \ -p 3000:8080 \ -e OLLAMA_BASE_URL=http://host.docker.internal:11434 \ --name open-webui \ ghcr.io/open-webui/open-webui:main -
Eksperimen dengan model lain — cek ollama.com/library buat list lengkap model yang available. Model baru terus muncul, dan kualitasnya makin bagus tiap bulan.
Setup ini mungkin butuh 30–60 menit pertama kali, tapi setelah jalan, kamu punya AI coding assistant yang privat, offline-capable, dan nggak ada biaya bulanan. Buat gue yang sering kerja di tempat dengan koneksi nggak stabil, ini worth banget.