0% read

Gemma 4 + OpenAI Codex CLI: Cara Install AI Coding Assistant Lokal Gratis dan Privat (2026)

Apr 16, 2026

Gemma 4 + OpenAI Codex CLI: Cara Install AI Coding Assistant Lokal Gratis dan Privat (2026)

Awal April 2026, OpenAI merilis Codex CLI. Pertanyaan pertama yang meledak di Hacker News bukan apakah ini works?, tapi bisa nggak aku arahkan ke model lokal dan berhenti bayar per-token?

Jawaban singkatnya: bisa. Codex CLI siap ngobrol dengan endpoint apa pun yang kompatibel dengan OpenAI, dan Gemma 4 yang dijalankan via Ollama adalah salah satu pengganti paling rapi untuk dipasang di belakangnya. Hasilnya: agen coding di terminal yang gratis, tidak pernah mengirim source code kita ke pihak ketiga, dan tetap jalan di pesawat atau di belakang firewall kantor.

Panduan ini akan menemani kamu dari awal sampai selesai — install Ollama, tarik varian Gemma 4 yang tepat, atur environment variable, lalu coba empat skenario coding nyata. Kalau selama ini kamu menunda pakai Codex karena tagihan API atau review compliance, artikel inilah yang kamu cari.

Apa itu OpenAI Codex CLI?

Codex CLI adalah agen coding dari OpenAI yang hidup di terminal — anggap saja sepupu command-line dari GitHub Copilot, tanpa harus buka editor. Kamu tetap di shell dan ngobrol dengan bahasa natural:

  • Generate kode: codex "buat REST API dengan autentikasi JWT"
  • Jelaskan file: codex explain app/main.py
  • Refactor: codex refactor src/cache.ts --goal "kurangi memori"
  • Perbaiki error: codex fix --error "TypeError: undefined is not a function"

Secara default dia menuju api.openai.com, tapi di bawah capotnya Codex CLI adalah HTTP client OpenAI standar. Artinya apa pun yang bisa bicara protokol chat completions — Ollama, LM Studio, vLLM, server Llama.cpp — bisa dipakai. Itulah kunci tulisan ini.

Kenapa mengganti OpenAI dengan Gemma 4?

Tiga alasan yang benar-benar terasa di lapangan.

Privasi. Source code tidak pernah keluar dari mesin. Tidak ada vendor yang bisa melihat business logic, secret key, atau skema database kamu. Untuk tim yang tunduk pada GDPR, UU PDP, atau kebijakan IP internal, ini bukan fitur tambahan — ini kebutuhan.

Biaya. OpenAI menagih per token, dan Codex cenderung memasukkan seluruh file ke context. Satu sesi refactor untuk repo ukuran sedang bisa diam-diam menghabiskan 5–10 dolar. Gemma 4 di laptop kamu biayanya persis nol — agen boleh dibiarkan loop semalaman tanpa biaya tambahan.

Offline. Kereta, pesawat, on-site client, jaringan tertutup. Kalau kamu sering kerja di tempat dengan internet tidak stabil atau dilarang, model lokal bukan opsi mewah — itu satu-satunya opsi.

Dua tahun lalu skema ini belum layak karena kualitasnya — model lokal belum bisa nulis kode yang benar. Gemma 4 menutup gap itu. Varian 26B MoE dan 31B Dense cukup tajam di instruction following, function calling, dan structured output sehingga kamu lupa sedang offline.

Prasyarat

Sebelum mulai:

  • Ollama terpasang (ollama.com)
  • Gemma 4 sudah diunduh (26B atau 31B — kita pilih di bawah)
  • OpenAI Codex CLI terpasang
  • Node.js 20+
  • Hardware: minimal RAM 16 GB untuk 26B, 24 GB+ untuk 31B

Bingung pilih ukuran mana? Versi singkat: 26B MoE adalah sweet spot untuk laptop karena hanya ~4B parameter aktif per token. Kalau kamu punya desktop dengan RAM lega, 31B Dense jauh lebih pintar untuk task panjang.

Langkah 1: Install Ollama dan Tarik Gemma 4

Ollama mengurus download model, kuantisasi, dan server HTTP lokal dalam satu binary. Minim konfigurasi.

Install Ollama

# macOS
brew install ollama

# Linux
curl -fsSL https://ollama.com/install.sh | sh

# Windows: unduh installer dari ollama.com lalu jalankan

Tarik model

Untuk kebutuhan coding, Gemma 4 26B (MoE) adalah pilihan paling efisien:

ollama pull gemma4:26b-a4b

Kalau punya memori lebih (24 GB+ unified atau GPU 24 GB) dan mau kualitas maksimum:

ollama pull gemma4:31b

Ukuran download sekitar 15–20 GB. Verifikasi:

ollama run gemma4:26b-a4b "Tulis fungsi Python untuk membalik string"

Jawaban terlihat masuk akal? Langkah ini selesai.

Langkah 2: Jalankan Server Ollama

Ollama secara default meng-expose API kompatibel OpenAI di http://localhost:11434/v1. Jalankan di terminal khusus:

ollama serve

Biarkan jendela itu terbuka. Di terminal lain, cek endpoint:

curl http://localhost:11434/v1/models

Kamu harus mendapatkan JSON yang memuat gemma4:26b-a4b. Kalau curl macet atau koneksi ditolak, pastikan port 11434 tidak dipakai proses lain.

Langkah 3: Install OpenAI Codex CLI

Codex CLI didistribusikan lewat npm:

npm install -g @openai/codex-cli
codex --version

Output 1.x.x atau lebih tinggi berarti sukses. Kalau gagal, cek Node.js kamu minimal versi 20 — Codex pakai API fetch yang lebih baru.

Langkah 4: Arahkan Codex CLI ke Gemma 4

Codex CLI menghormati environment variable SDK OpenAI standar. Override tiga variabel berikut dan Codex akan berbicara ke Ollama.

macOS / Linux

Tambahkan ke ~/.zshrc atau ~/.bashrc:

export OPENAI_API_BASE="http://localhost:11434/v1"
export OPENAI_API_KEY="ollama"   # string apa saja asal tidak kosong
export CODEX_MODEL="gemma4:26b-a4b"

Muat ulang: source ~/.zshrc.

Windows (PowerShell)

$env:OPENAI_API_BASE = "http://localhost:11434/v1"
$env:OPENAI_API_KEY  = "ollama"
$env:CODEX_MODEL     = "gemma4:26b-a4b"

Uji cepat

codex "cetak hello world pakai Python"

Output yang diharapkan:

print("Hello, World!")

Kalau muncul Model not found atau Connection refused, lompat ke Troubleshooting.

Langkah 5: Empat Kasus Nyata

Hello World bukan tolok ukur yang adil. Empat tugas di bawah ini mencerminkan pemakaian Codex CLI sehari-hari.

1. Generate endpoint REST

codex "buat endpoint FastAPI yang menerima email dan password, memvalidasi, lalu mengembalikan JWT"

Gemma 4 26B akan menghasilkan kira-kira:

from fastapi import FastAPI, HTTPException
from pydantic import BaseModel, EmailStr
from datetime import datetime, timedelta
import jwt

app = FastAPI()
SECRET_KEY = "your-secret-key"

class UserLogin(BaseModel):
    email: EmailStr
    password: str

@app.post("/login")
def login(user: UserLogin):
    if user.email == "user@example.com" and user.password == "password123":
        token = jwt.encode(
            {"sub": user.email, "exp": datetime.utcnow() + timedelta(hours=1)},
            SECRET_KEY, algorithm="HS256",
        )
        return {"access_token": token, "token_type": "bearer"}
    raise HTTPException(status_code=401, detail="Invalid credentials")

2. Jelaskan kode asing

Simpan sebagai complex.py:

def f(n): return n if n < 2 else f(n-1) + f(n-2)

Lalu:

codex explain complex.py

Gemma 4 akan mengenali ini sebagai fibonacci rekursif naif, menandai kompleksitas O(2^n), dan menyarankan memoization.

3. Refactor untuk performa

codex refactor complex.py --goal "optimize for speed"

Hasil yang diharapkan:

from functools import lru_cache

@lru_cache(maxsize=None)
def f(n):
    return n if n < 2 else f(n-1) + f(n-2)

O(2^n) turun ke O(n) cukup dengan satu dekorator. Jawaban dari buku algoritma.

4. Perbaiki error nyata

codex fix --error "TypeError: 'NoneType' object is not subscriptable" --file app.py

Gemma 4 akan membaca app.py, menemukan baris yang mengindeks return value yang bisa bernilai None, lalu mengirim patch dengan guard yang hilang.

Gemma 4 Lokal vs. OpenAI Cloud: Seberapa Jauh Selisihnya?

DimensiGemma 4 26B (lokal)Gemma 4 31B (lokal)GPT-4 class (cloud)
Kualitas generate kodeSetara GPT-3.5Setara GPT-4Tertinggi
Throughput20–40 t/s (M1/M2)15–30 t/s100+ t/s
Latensi jaringan0 ms0 ms200–500 ms
Biaya per tugasRp 0Rp 0Rp 2.400–4.800
Biaya bulanan (100/minggu)Rp 0Rp 0Rp 900.000–1.800.000
PrivasiLokalLokalPrompt diunggah
OfflineYaYaTidak

Selisih throughput di kertas memang terlihat tajam, tapi tanpa latensi jaringan, waktu yang terasa untuk tugas pendek hampir sama. Cloud unggul telak di loop agen multi-langkah terhadap repo besar — di situ keunggulan 100+ t/s makin menumpuk.

Untuk angka hardware detail, baca Gemma 4 di Mac: performa M1 sampai M4 dan panduan NVIDIA RTX.

Troubleshooting

"Connection refused"

Ollama belum jalan atau port berbeda. Coba curl http://localhost:11434/v1/models. Kalau gagal, restart ollama serve dan pastikan port 11434 tidak bentrok.

"Model not found"

ollama list menampilkan tag persis yang kamu install. CODEX_MODEL harus cocok karakter per karakter (gemma4:26b-a4b, bukan gemma4-26b).

Codex menggantung atau timeout

Kemungkinan besar kamu swapping ke disk karena model tidak muat di RAM. Ganti 31B ke 26B, atau turun ke Q4. Bisa juga naikkan timeout lewat --timeout 120.

Output ngaco

Prompt yang kabur lebih melukai model lokal daripada GPT-4. Jangan tulis "perbaiki dong", tulis "ubah fungsi ini ke async/await dan tambahkan error handling terstruktur".

Lanjutan: Function Calling

Gemma 4 mendukung tool call ala OpenAI, jadi Codex CLI bisa memicu aksi eksternal nyata: pull issues GitHub terbaru, jalankan test suite, query database staging. Definisikan tool sebagai JSON Schema, kirim pakai --tools tools.json, dan Gemma 4 akan memilih tool yang tepat lalu melanjutkan reasoning dari hasilnya. Panduan lengkap ada di Function calling Gemma 4 dalam praktik.

FAQ

Bisa pakai Gemma 4 E2B atau E4B sebagai pengganti 26B? Secara teori bisa, tapi praktiknya tidak. Varian edge hanya sanggup snippet sederhana dan langsung rontok begitu ada konteks nyata. Untuk Codex, pakai 26B atau 31B.

Apakah ini jalan di Windows? Ya. Ollama native di Windows 11 dan Codex CLI adalah aplikasi Node.js. Yang berbeda cuma sintaks $env: di PowerShell untuk environment variable.

Bisa dipakai bareng Cursor, Continue, atau Aider? Bisa — semua tool yang bicara API OpenAI kompatibel. Arahkan base URL ke http://localhost:11434/v1, set nama model, selesai. Kami punya panduan khusus Aider dan Claude Code Router.

Total biayanya berapa? Rp 0. Ollama, Gemma 4, dan Codex CLI semuanya gratis. Hanya listrik yang naik sedikit.

Gemma 4 atau Qwen 3 untuk coding? Gemma 4 lebih unggul di instruction following dan output JSON terstruktur; Qwen 3 kadang lebih cepat di hardware yang sama dan lebih kuat di bahasa China. Bandingkan lengkap di Gemma 4 vs Qwen 3.

Bisa jalan di Raspberry Pi? Hanya varian E2B, itu pun untuk prompt mainan. Untuk Codex butuh laptop dengan RAM 16 GB+.

Kalau 31B masih kurang bagus? Hapus variabel OPENAI_API_BASE dan kamu kembali ke OpenAI cloud. Banyak tim memakai model hibrida: lokal Gemma 4 untuk pekerjaan sehari-hari, GPT-4 cloud untuk satu-dua masalah sulit per minggu.

Artikel Terkait

gemma4 — interact

Stop reading. Start building.

~/gemma4 $ Get hands-on with the models discussed in this guide. No deployment, no friction, 100% free playground.

Launch Playground />
Gemma 4 AI

Gemma 4 AI

Related Guides

Gemma 4 + OpenAI Codex CLI: Cara Install AI Coding Assistant Lokal Gratis dan Privat (2026) | Blog