Kamu lagi ngetik kode, butuh autocomplete yang ngerti konteks project-mu, tapi nggak mau bayar $10/bulan untuk Copilot — apalagi nggak nyaman kode proprietary-mu dikirim ke server orang lain. Masalah ini nyata, terutama kalau kamu kerja di project klien dengan NDA, atau sekadar mau hemat.
Solusinya: jalankan large language model langsung di laptop kamu, sambungkan ke VS Code lewat extension Continue.dev. Hasilnya? AI coding assistant yang jalan 100% offline, gratis, dan data-mu nggak kemana-mana.
Artikel ini akan tunjukkan setup end-to-end yang beneran gue pakai sehari-hari — termasuk gotcha yang bikin frustrasi waktu pertama kali nyoba.
Kenapa Ollama?
Ada beberapa cara jalankan LLM lokal: llama.cpp langsung, LM Studio, jan.ai. Tapi Ollama menang di satu hal: developer experience-nya bersih. Install, pull model, langsung expose REST API di localhost:11434. Titik.
Tidak ada GUI yang bloated. Tidak ada konfigurasi YAML yang panjang. Cukup satu binary.
Ollama juga support banyak model yang memang dioptimasi untuk coding:
- Qwen2.5-Coder — ini yang paling gue rekomendasikan untuk hardware mid-range
- DeepSeek-Coder-V2 — akurasi bagus, tapi lebih berat
- CodeGemma — ringan, cocok RAM 8GB
- Llama3.1 — general purpose, bisa juga untuk coding
Install Ollama di Linux/macOS
Satu command, selesai:
curl -fsSL https://ollama.com/install.sh | sh
Kalau kamu di macOS dan prefer Homebrew:
brew install ollama
Verifikasi:
ollama --version
# ollama version is 0.3.x
Sekarang pull model. Gue pakai qwen2.5-coder:7b karena balance antara kecepatan dan akurasi — jalan lancar di laptop 16GB RAM dengan integrated GPU:
ollama pull qwen2.5-coder:7b
Proses download sekitar 4.7GB. Sambil nunggu, lanjut baca.
Setelah selesai, test cepat lewat CLI:
ollama run qwen2.5-coder:7b "Write a Python function to flatten a nested list"
Kalau responnya muncul dan masuk akal, Ollama-mu beres.
Pastikan Ollama Jalan sebagai Service
Default-nya Ollama jalan sebagai background service setelah install. Tapi kalau tidak, jalankan manual:
# Linux (systemd)
sudo systemctl enable ollama
sudo systemctl start ollama
# Atau manual di foreground (untuk debug)
ollama serve
Test API-nya langsung:
curl http://localhost:11434/api/generate -d '{
"model": "qwen2.5-coder:7b",
"prompt": "Hello, are you working?",
"stream": false
}'
Kalau dapat JSON response dengan field response, berarti API-nya hidup.
Gotcha #1: Kalau kamu di Linux dan dapat error connection refused, cek apakah Ollama bind ke interface yang benar:
export OLLAMA_HOST=0.0.0.0:11434
ollama serve
Tambahkan environment variable itu ke systemd service-mu kalau perlu akses dari container atau mesin lain di jaringan lokal.
Install dan Konfigurasi Continue.dev di VS Code
Continue.dev adalah extension VS Code open-source yang jadi "jembatan" antara editor kamu dan model Ollama. Dia support autocomplete inline, chat sidebar, dan edit kode dengan instruksi natural language.
Install dari VS Code Marketplace:
- Buka VS Code
Ctrl+Shift+X→ cari "Continue"- Install extension dari
Continue - Codestral, Claude, and more
Atau via command line:
code --install-extension Continue.continue
Setelah install, Continue akan buat file config di:
- Linux/macOS:
~/.continue/config.json - Windows:
%USERPROFILE%\.continue\config.json
Buka file itu dan replace isinya dengan config ini:
{
"models": [
{
"title": "Qwen2.5 Coder 7B",
"provider": "ollama",
"model": "qwen2.5-coder:7b",
"apiBase": "http://localhost:11434"
}
],
"tabAutocompleteModel": {
"title": "Qwen2.5 Coder 7B",
"provider": "ollama",
"model": "qwen2.5-coder:7b",
"apiBase": "http://localhost:11434"
},
"embeddingsProvider": {
"provider": "ollama",
"model": "nomic-embed-text",
"apiBase": "http://localhost:11434"
},
"contextProviders": [
{ "name": "code" },
{ "name": "docs" },
{ "name": "diff" },
{ "name": "terminal" },
{ "name": "problems" },
{ "name": "folder" },
{ "name": "codebase" }
],
"slashCommands": [
{ "name": "edit", "description": "Edit selected code" },
{ "name": "comment", "description": "Write comments for the code" },
{ "name": "share", "description": "Export the chat session" },
{ "name": "cmd", "description": "Generate a shell command" }
]
}
Perhatikan bagian embeddingsProvider — kamu perlu pull model embedding juga supaya fitur "codebase search" jalan:
ollama pull nomic-embed-text
Model ini kecil (~274MB) dan dipakai Continue untuk index seluruh codebase-mu secara lokal.
Cara Pakai Continue.dev Sehari-hari
Setelah setup selesai, ini workflow yang paling sering gue pakai:
1. Chat dengan konteks file
Buka sidebar Continue (Ctrl+L), ketik pertanyaan. Kamu bisa mention file atau fungsi spesifik dengan @filename.py atau highlight kode dulu baru tekan Ctrl+L.
2. Inline autocomplete
Cukup ngetik seperti biasa. Continue akan suggest completion yang muncul sebagai ghost text — tekan Tab untuk accept, Esc untuk skip. Mirip Copilot, tapi modelnya jalan di laptop kamu.
3. Edit dengan instruksi
Highlight blok kode, tekan Ctrl+I, ketik instruksi:
Refactor this to use async/await instead of callbacks
Continue akan generate diff yang bisa kamu accept atau reject.
4. Codebase-aware chat
Ketik @codebase di chat untuk tanya sesuatu yang butuh konteks seluruh project:
@codebase Where is the database connection initialized?
Ini yang paling berguna waktu kamu masuk ke codebase baru atau warisan.
Gotcha yang Perlu Kamu Tahu
Gotcha #2: Autocomplete lambat di hardware lama
Kalau laptop kamu RAM-nya 8GB atau CPU-only (tanpa GPU), qwen2.5-coder:7b mungkin terlalu berat untuk autocomplete real-time. Solusinya: pakai model yang lebih kecil khusus untuk tab autocomplete:
ollama pull qwen2.5-coder:1.5b
Lalu update bagian tabAutocompleteModel di config:
"tabAutocompleteModel": {
"title": "Qwen2.5 Coder 1.5B (Fast)",
"provider": "ollama",
"model": "qwen2.5-coder:1.5b",
"apiBase": "http://localhost:11434"
}
Strategi ini — model besar untuk chat, model kecil untuk autocomplete — adalah pattern yang banyak dipakai di setup lokal.
Gotcha #3: Continue nggak mau connect ke Ollama
Cek dulu apakah Ollama jalan:
curl http://localhost:11434/api/tags
Kalau dapat list model, Ollama oke. Kalau Continue masih error, coba restart VS Code. Kadang extension-nya butuh reload setelah konfigurasi diubah.
Gotcha #4: Codebase indexing gagal di project besar
Continue akan index semua file di workspace-mu. Kalau project-mu ada node_modules atau folder generated yang besar, indexing bisa makan waktu lama atau crash. Buat file .continueignore di root project:
node_modules/
.git/
dist/
build/
*.lock
*.log
Format-nya sama seperti .gitignore.
Benchmark Singkat: Ekspektasi yang Realistis
Gue nggak akan kasih angka palsu. Ini pengalaman nyata di MacBook Pro M1 8GB:
- Qwen2.5-Coder 7B, chat response: 3–8 detik untuk response sedang
- Qwen2.5-Coder 1.5B, autocomplete: ~1 detik, cukup untuk tidak mengganggu flow
- Kualitas kode: Untuk Python, TypeScript, Go — bagus. Untuk bahasa esoterik — lumayan
Ini bukan Copilot yang response-nya instan. Tapi untuk privacy, cost, dan kontrol penuh atas model — tradeoff-nya worth it buat gue.
Kalau kamu punya GPU NVIDIA, pasang CUDA dan Ollama akan otomatis pakai GPU — kecepatan bisa 5–10x lebih cepat. Untuk memastikan performa optimal, kamu juga bisa mempertimbangkan best VPS hardening practices kalau kamu plan untuk self-host di server.
Setup Tambahan: Buat Ollama Bisa Diakses dari Docker Container
Kalau kamu development di dalam Docker container (misalnya pakai Dev Containers), kamu perlu Ollama accessible dari dalam container. Caranya:
# Di host, set Ollama listen di semua interface
export OLLAMA_HOST=0.0.0.0:11434
Lalu di config.json Continue yang ada di dalam container, ubah apiBase:
"apiBase": "http://host.docker.internal:11434"
host.docker.internal adalah hostname khusus Docker Desktop untuk akses ke host machine. Di Linux, kamu mungkin perlu pakai IP gateway Docker (172.17.0.1) atau tambahkan --add-host=host.docker.internal:host-gateway di docker run command.
Yang Gue Lakuin Selanjutnya
Setup ini sudah jalan di mesin gue selama beberapa bulan. Beberapa hal yang sedang gue eksplor sebagai next step:
- Coba model DeepSeek-Coder-V2:16b — butuh RAM lebih besar, tapi reviewnya bagus untuk reasoning kode yang kompleks
- Integrasikan dengan Neovim — Continue.dev punya plugin Neovim juga kalau kamu bukan VS Code user
- Self-host Open WebUI — buat interface chat yang lebih lengkap di atas Ollama, bisa dipakai dari browser tanpa buka VS Code. Untuk setup yang robust, kamu perlu memahami WordPress object cache dan caching strategy kalau kamu plan integrate dengan aplikasi web.
Kalau kamu mau coba, langkah minimalnya:
# 1. Install Ollama
curl -fsSL https://ollama.com/install.sh | sh
# 2. Pull model
ollama pull qwen2.5-coder:7b
ollama pull nomic-embed-text
# 3. Install Continue.dev di VS Code
code --install-extension Continue.continue
# 4. Edit ~/.continue/config.json dengan config di atas
Total waktu setup: 15–20 menit, sebagian besar nunggu download. Setelah itu kamu punya AI coding assistant yang nggak pernah kirim kode kamu ke mana-mana.