Cara Menginstal dan Menggunakan OpenCode: Panduan Lengkap
Cara Menginstal dan Menggunakan OpenCode: Panduan Lengkap
OpenCode adalah agen kode AI open-source yang menghadirkan kekuatan kecerdasan buatan langsung ke terminal Anda. Berbeda dengan alat kode AI tradisional yang berjalan di editor atau browser, OpenCode menyediakan antarmuka berbasis terminal, aplikasi desktop, dan ekstensi IDE—semuanya dirancang untuk meningkatkan produktivitas Anda sebagai pengembang. Panduan lengkap ini akan memandu Anda melalui semua yang perlu Anda ketahui untuk menginstal, mengonfigurasi, dan menggunakan OpenCode secara efektif.
Apa itu OpenCode?
OpenCode adalah asisten pengkodean berbasis AI yang membantu Anda:
- Menulis kode lebih cepat dengan generasi dan penyelesaian kode yang cerdas
- Debug secara efisien dengan menganalisis kesalahan dan memberikan saran perbaikan
- Memahami basis kode melalui kueri bahasa alami
- Menambahkan fitur dengan perencanaan dan implementasi otomatis
- Meninjau kode dengan analisis dan saran berbasis AI
- Mengotomatisasi alur kerja menggunakan agen AI dan alat kustom
OpenCode mendukung berbagai penyedia LLM termasuk Anthropic, OpenAI, Google, dan lainnya, memberi Anda fleksibilitas untuk memilih model yang paling cocok dengan kebutuhan Anda.
Persyaratan Sistem
Prasyarat
Sebelum menginstal OpenCode, pastikan Anda memiliki:
Emulator Terminal Modern (untuk penggunaan TUI):
Node.js (untuk instalasi npm/bun/pnpm/yarn):
- Node.js versi 18 atau lebih tinggi direkomendasikan
API Keys untuk penyedia LLM:
- Kunci API Anthropic (untuk model Claude)
- Kunci API OpenAI (untuk model GPT)
- Atau kunci dari penyedia lain yang didukung
Metode Instalasi
Metode 1: Script Instalasi (Direkomendasikan)
Cara tercepat menginstal OpenCode adalah dengan menggunakan skrip instalasi resmi:
curl -fsSL https://opencode.ai/install | bashMetode ini bekerja di macOS, Linux, dan Windows (dengan Git Bash atau WSL).
Metode 2: Menggunakan Manajer Paket Node.js
Menggunakan npm:
npm install -g opencode-aiMenggunakan Bun:
bun install -g opencode-aiMenggunakan pnpm:
pnpm install -g opencode-aiMenggunakan Yarn:
yarn global add opencode-aiMetode 3: Menggunakan Homebrew (macOS & Linux)
brew install opencodeMetode 4: Menggunakan Paru (Arch Linux)
paru -S opencode-binMetode 5: Instalasi Spesifik Windows
Menggunakan Chocolatey:
choco install opencodeMenggunakan Scoop:
scoop bucket add extras
scoop install extras/opencodeMenggunakan Mise:
mise use -g github:sst/opencodeMetode 6: Docker
Untuk penggunaan dalam container:
docker run -it --rm ghcr.io/sst/opencodeMetode 7: Download Binary
Anda dapat mengunduh binary yang sudah dikompilasi langsung dari halaman GitHub Releases.
Verifikasi Instalasi
Setelah instalasi, verifikasi apakah sudah berhasil:
opencode --versionAnda harus melihat nomor versi yang ditampilkan.
Konfigurasi Awal
Menghubungkan ke OpenCode Zen (Direkomendasikan untuk Pemula)
OpenCode Zen adalah daftar model terkurasi yang telah diuji dan diverifikasi oleh tim OpenCode. Ini adalah cara termudah untuk memulai.
- Mulai OpenCode:
cd /path/to/your/project
opencode- Jalankan perintah connect di TUI:
/connectPilih "opencode" dari daftar penyedia
Kunjungi URL autentikasi: opencode.ai/auth
Masuk dan tambahkan detail penagihan (atau gunakan kredit gratis jika tersedia)
Salin API key Anda dan tempel di terminal saat diminta
Menghubungkan ke Penyedia Lain
Anda juga bisa menghubungkan OpenCode ke penyedia LLM lain:
Menggunakan Perintah /connect:
/connectPilih penyedia yang diinginkan (Anthropic, OpenAI, Google, dll.) dan ikuti alur autentikasi.
Menggunakan Autentikasi CLI:
opencode auth loginIni akan memandu Anda mengonfigurasi API key untuk penyedia apa pun yang tersedia di Models.dev.
Melihat Daftar Penyedia yang Dikonfigurasi:
opencode auth listatau versi singkatnya:
opencode auth lsLogout dari Penyedia:
opencode auth logoutMenyiapkan Konteks Proyek
Setelah mengonfigurasi penyedia, inisialisasi OpenCode untuk proyek Anda:
- Masuk ke direktori proyek:
cd /path/to/your/project- Mulai OpenCode:
opencode- Jalankan perintah init:
/initIni akan menganalisis struktur proyek dan membuat file AGENTS.md di root proyek. File ini membantu OpenCode memahami pola pengkodean, framework, dan arsitektur proyek Anda.
Tip: Commit file AGENTS.md ke Git. Ini membantu menjaga konsistensi di tim Anda dan meningkatkan pemahaman OpenCode tentang proyek Anda seiring waktu.
Menggunakan Terminal User Interface (TUI)
TUI OpenCode memberikan pengalaman interaktif di terminal Anda.
Memulai TUI
Cukup jalankan:
opencodeAtau dengan opsi tambahan:
# Melanjutkan sesi terakhir
opencode --continue
# Melanjutkan sesi tertentu
opencode --session <session-id>
# Memulai dengan prompt
opencode --prompt "Jelaskan basis kode ini"
# Menggunakan model tertentu
opencode --model anthropic/claude-sonnet-4-5
# Menggunakan agen tertentu
opencode --agent planNavigasi Dasar TUI
- Scroll: Gunakan roda mouse atau tombol panah
- Ganti mode: Tekan
Tabuntuk beralih antara mode Plan dan mode Build - Jalankan perintah: Ketik
/untuk mengakses palet perintah - Cari file: Gunakan
@untuk pencarian file fuzzy di proyek Anda - Keluar: Tekan
Ctrl+Catau gunakan/exit
Mengajukan Pertanyaan
Anda dapat bertanya kepada OpenCode tentang basis kode Anda:
Bagaimana cara menangani autentikasi di @packages/functions/src/api/index.tsGunakan simbol @ untuk merujuk file spesifik. OpenCode akan menganalisis file tersebut dan memberikan penjelasan mendetail.
Menambahkan Fitur
OpenCode unggul dalam menambahkan fitur baru melalui alur kerja dua mode:
Langkah 1: Mode Plan
- Beralih ke mode Plan dengan menekan
Tab - Jelaskan apa yang Anda inginkan:
Saat pengguna menghapus catatan, kita ingin memberi tanda sebagai terhapus di basis data.
Kemudian buat layar yang menampilkan semua catatan yang baru dihapus.
Dari layar ini, pengguna dapat mengembalikan catatan atau menghapusnya secara permanen.- Tinjau rencana yang disarankan
- Berikan umpan balik dan iterasi:
Kami ingin merancang layar baru ini menggunakan desain yang pernah saya gunakan sebelumnya.
[Gambar #1] Perhatikan gambar ini dan gunakan sebagai referensi.Tip: Anda dapat drag and drop gambar langsung ke terminal. OpenCode akan memindai dan menganalisisnya.
Langkah 2: Mode Build
- Beralih ke mode Build dengan menekan
Tablagi - Setujui implementasi:
Bagus! Lanjutkan dan buat perubahan tersebut.OpenCode kemudian akan mengimplementasikan fitur tersebut, membuat dan memodifikasi file sesuai kebutuhan.
Membuat Perubahan Langsung
Untuk perubahan sederhana, Anda bisa melewati fase plan:
Kita perlu menambahkan autentikasi ke rute /settings.
Perhatikan cara penanganannya di rute /notes
di @packages/functions/src/notes.ts dan terapkan logika yang sama
di @packages/functions/src/settings.tsMembatalkan dan Mengulang Perubahan
Buat kesalahan? Gunakan perintah undo:
/undoIni akan membatalkan serangkaian perubahan terakhir dan memungkinkan Anda memperbaiki prompt.
Untuk mengulang perubahan yang dibatalkan:
/redoAnda dapat menjalankan /undo berkali-kali untuk membatalkan banyak perubahan.
Perintah CLI
OpenCode menyediakan CLI kuat untuk akses programatik dan otomasi.
Menjalankan Prompt Langsung
Jalankan OpenCode tanpa interaksi:
opencode run "Jelaskan cara kerja closure di JavaScript"Berguna untuk scripting, otomasi, atau jawaban cepat tanpa membuka TUI.
Mengelola Model
Tampilkan semua model yang tersedia:
opencode modelsFilter berdasar penyedia:
opencode models anthropicSegarkan cache model (berguna saat ada model baru):
opencode models --refreshTampilkan info detail model termasuk biaya:
opencode models --verboseMenjalankan Server Headless
Mulai server HTTP untuk akses API:
opencode serveDengan port khusus:
opencode serve --port 3000Berguna untuk mengintegrasikan OpenCode ke aplikasi web atau mendapatkan respons lebih cepat di skrip (hindari startup dingin server MCP).
Menghubungkan ke Server
Di satu terminal, mulai server:
opencode serveDi terminal lain, sambungkan untuk eksekusi lebih cepat:
opencode run --attach http://localhost:4096 "Jelaskan async/await di JavaScript"Mengelola Agen
Buat agen kustom baru:
opencode agent createIni memandu Anda membuat agen dengan prompt sistem dan konfigurasi alat kustom.
Integrasi GitHub
Instal agen GitHub untuk otomasi repositori:
opencode github installIni menyiapkan workflow GitHub Actions untuk review kode otomatis dan penanganan isu.
Upgrade OpenCode
Upgrade ke versi terbaru:
opencode upgradeAtau ke versi spesifik:
opencode upgrade v0.1.48Tentukan metode instalasi jika perlu:
opencode upgrade --method brewKonfigurasi
OpenCode mendukung konfigurasi fleksibel melalui file konfigurasi JSON.
Lokasi Konfigurasi
File konfigurasi digabungkan (tidak diganti), memungkinkan adanya konfigurasi global, khusus proyek, dan kustom.
Konfigurasi Global:
~/.config/opencode/opencode.json- Untuk tema, penyedia, keybind, dan pengaturan umum
Konfigurasi Proyek:
opencode.jsondi root proyek- Untuk penyedia, agen, atau pengaturan spesifik proyek
- Aman untuk di-commit ke Git
Path Konfigurasi Kustom: Atur melalui variabel lingkungan
OPENCODE_CONFIGDirektori Konfigurasi Kustom: Atur melalui variabel lingkungan
OPENCODE_CONFIG_DIR
Contoh Konfigurasi Dasar
Buat file konfigurasi dengan struktur berikut:
{
"$schema": "https://opencode.ai/config.json",
// Pilihan tema
"theme": "opencode",
// Model utama yang digunakan
"model": "anthropic/claude-sonnet-4-5",
// Model lebih kecil untuk tugas ringan
"small_model": "anthropic/claude-haiku-4-5",
// Pengaturan pembaruan otomatis
"autoupdate": true
}Mengonfigurasi Penyedia
Atur API key langsung di konfigurasi:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
},
"openai": {
"options": {
"apiKey": "{env:OPENAI_API_KEY}"
}
}
}
}Menggunakan variabel lingkungan direkomendasikan demi keamanan. Gunakan sintaks {env:NAMA_VARIABEL}.
Menggunakan Referensi File
Anda juga dapat merujuk file untuk data sensitif:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"openai": {
"options": {
"apiKey": "{file:~/.secrets/openai-key}"
}
}
}
}Perintah Kustom
Definisikan perintah kustom untuk tugas berulang:
{
"$schema": "https://opencode.ai/config.json",
"command": {
"test": {
"template": "Jalankan seluruh suite test dengan laporan coverage dan tampilkan kegagalan.\nFokus pada test yang gagal dan berikan saran perbaikan.",
"description": "Jalankan test dengan coverage",
"agent": "build",
"model": "anthropic/claude-haiku-4-5"
},
"component": {
"template": "Buat komponen React baru bernama $ARGUMENTS dengan dukungan TypeScript.\nSertakan typing yang benar dan struktur dasar.",
"description": "Buat komponen baru"
}
}
}Gunakan perintah kustom di TUI dengan mengetik /test atau /component MyComponent.
Agen Kustom
Buat agen khusus:
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"code-reviewer": {
"description": "Meninjau kode untuk praktik terbaik dan potensi masalah",
"model": "anthropic/claude-sonnet-4-5",
"prompt": "Anda adalah peninjau kode. Fokus pada keamanan, performa, dan maintainabilitas.",
"tools": {
"write": false,
"edit": false
}
}
}
}Konfigurasi Izin
Kontrol apa yang boleh dilakukan OpenCode tanpa izin:
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "ask",
"bash": "ask"
}
}Ini mengharuskan persetujuan pengguna untuk operasi edit dan bash.
Formatter Kode
Konfigurasikan formatter untuk memformat kode otomatis:
{
"$schema": "https://opencode.ai/config.json",
"formatter": {
"prettier": {
"disabled": false
},
"custom-prettier": {
"command": ["npx", "prettier", "--write", "$FILE"],
"environment": {
"NODE_ENV": "development"
},
"extensions": [".js", ".ts", ".jsx", ".tsx"]
}
}
}Pengaturan TUI
Sesuaikan antarmuka terminal:
{
"$schema": "https://opencode.ai/config.json",
"tui": {
"scroll_speed": 3,
"scroll_acceleration": {
"enabled": true
}
}
}Fitur Lanjutan
Membagikan Percakapan
Bagikan percakapan Anda dengan tim:
/shareIni membuat tautan yang bisa dibagikan dan menyalinnya ke clipboard Anda. Percakapan tidak dibagikan secara default.
Konfigurasikan perilaku berbagi:
{
"share": "manual" // "manual", "auto", atau "disabled"
}Server MCP
Model Context Protocol (MCP) server memperluas kemampuan OpenCode:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"]
}
}
}Instruksi dan Aturan
Berikan instruksi spesifik proyek:
{
"$schema": "https://opencode.ai/config.json",
"instructions": [
"CONTRIBUTING.md",
"docs/guidelines.md",
".cursor/rules/*.md"
]
}OpenCode akan menggunakan file ini untuk memahami standar dan konvensi pengkodean proyek Anda.
Variabel Lingkungan
Konfigurasi OpenCode menggunakan variabel lingkungan:
# Otomatis membagikan sesi
export OPENCODE_AUTO_SHARE=true
# Path ke konfigurasi kustom
export OPENCODE_CONFIG=/path/to/config.json
# Path ke direktori konfigurasi
export OPENCODE_CONFIG_DIR=/path/to/config-dir
# Nonaktifkan pembaruan otomatis
export OPENCODE_DISABLE_AUTOUPDATE=true
# Nonaktifkan plugin default
export OPENCODE_DISABLE_DEFAULT_PLUGINS=true
# Aktifkan model eksperimental
export OPENCODE_ENABLE_EXPERIMENTAL_MODELS=true
# Aktifkan pencarian web Exa
export OPENCODE_ENABLE_EXA=trueFitur Eksperimental
Aktifkan fitur eksperimental:
export OPENCODE_EXPERIMENTAL=trueFitur eksperimental spesifik:
# Aktifkan penemuan ikon
export OPENCODE_EXPERIMENTAL_ICON_DISCOVERY=true
# Nonaktifkan copy on select di TUI
export OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT=true
# Tentukan panjang output maksimum untuk perintah bash
export OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH=10000
# Tentukan timeout default untuk perintah bash (ms)
export OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS=30000Praktik Terbaik
Prompt yang Efektif
- Jelas dan spesifik: Berikan instruksi yang rinci
- Gunakan konteks: Referensi file dengan
@agar lebih mudah dipahami - Berikan contoh: Tampilkan contoh yang diinginkan
- Pecah tugas kompleks: Kerjakan langkah demi langkah
Bekerja dengan Proyek Besar
- Gunakan
/init: Biarkan OpenCode memahami struktur proyek Anda - Referensi file spesifik: Gunakan
@untuk membatasi konteks - Gunakan mode Plan: Tinjau rencana sebelum implementasi
- Perubahan bertahap: Buat perubahan kecil yang mudah dikelola
Optimasi Biaya
- Gunakan model lebih kecil: Atur
small_modeluntuk tugas ringan - Rencanakan sebelum membangun: Tinjau di mode Plan supaya iterasi berkurang
- Perintah kustom: Definisikan alur kerja efisien untuk tugas umum
- Pantau penggunaan: Cek dashboard penyedia untuk statistik penggunaan
Praktik Keamanan Terbaik
- Jangan commit API key: Gunakan variabel lingkungan
- Gunakan izin: Konfigurasikan
permissionuntuk minta persetujuan operasi sensitif - Tinjau perubahan: Selalu review perubahan yang disarankan OpenCode
- Gunakan kunci terpisah: Buat API key khusus untuk OpenCode dengan batasan sesuai
Pemecahan Masalah
Masalah Instalasi
Masalah: Perintah tidak ditemukan setelah instalasi
Solusi:
- Verifikasi instalasi:
which opencode - Periksa PATH:
echo $PATH - Coba jalankan dengan path lengkap:
~/.local/bin/opencode - Instal ulang menggunakan metode lain
Masalah Autentikasi
Masalah: API key tidak dikenali
Solusi:
- Pastikan key benar:
opencode auth list - Periksa variabel lingkungan:
echo $ANTHROPIC_API_KEY - Autentikasi ulang:
opencode auth login
Masalah Performa
Masalah: Waktu respons lambat
Solusi:
- Gunakan
opencode serveuntuk eksekusi lebih cepat - Berpindah ke model lebih cepat
- Gunakan konteks yang lebih kecil
- Nonaktifkan alat yang tidak digunakan di konfigurasi
Masalah TUI
Masalah: Tampilan terminal bermasalah
Solusi:
- Gunakan emulator terminal modern (WezTerm, Alacritty, dll.)
- Pastikan terminal mendukung warna 24-bit
- Coba tema berbeda
- Nonaktifkan akselerasi scroll jika bermasalah
Masalah Model
Masalah: Model tidak ditemukan
Solusi:
- Segarkan daftar model:
opencode models --refresh - Pastikan penyedia sudah dikonfigurasi:
opencode auth list - Verifikasi format nama model:
provider/model - Pastikan penyedia menyediakan model tersebut
Integrasi OpenCode ke Alur Kerja Anda
Pengembangan Harian
- Pagi hari: Jalankan
/inituntuk sinkronisasi perubahan kode terbaru - Pengerjaan fitur: Gunakan mode Plan untuk desain, lalu mode Build untuk implementasi
- Debugging: Ajukan pertanyaan tentang error dengan referensi file
- Review kode: Gunakan agen code reviewer kustom
- Dokumentasi: Buat dokumen dengan perintah kustom
Kolaborasi Tim
- Bagikan konfigurasi: Commit
opencode.jsondanAGENTS.mdke Git - Bagikan percakapan: Gunakan
/shareuntuk diskusi implementasi - Perintah kustom: Definisikan perintah tim di konfigurasi proyek
- Agen konsisten: Gunakan definisi agen bersama untuk konsistensi
Integrasi CI/CD
- Agen GitHub: Instal untuk review PR otomatis
- Testing: Gunakan perintah test kustom di CI
- Kualitas kode: Atur formatter dan izin
Kesimpulan
OpenCode mewakili paradigma baru dalam pengembangan dengan bantuan AI dengan membawa kemampuan AI kuat langsung ke terminal Anda. Dengan opsi konfigurasi fleksibel, dukungan untuk berbagai penyedia LLM, dan antarmuka TUI intuitif, OpenCode dirancang untuk meningkatkan produktivitas Anda tanpa mengganggu alur kerja yang sudah ada.
Poin Penting:
- Instal dengan script instalasi atau manajer paket favorit
- Konfigurasi API key melalui
/connectatauopencode auth login - Inisialisasi proyek dengan
/inituntuk pemahaman konteks lebih baik - Gunakan mode Plan untuk fitur kompleks, mode Build untuk perubahan langsung
- Sesuaikan dengan file konfigurasi, perintah, dan agen
- Manfaatkan perintah CLI untuk otomasi dan scripting
- Praktikkan keamanan yang baik dengan key dan izin
Langkah Berikutnya:
- Jelajahi dokumentasi OpenCode untuk fitur lanjutan
- Bergabung dengan komunitas Discord OpenCode
- Sesuaikan pengaturan dengan tema dan keybind
- Coba berbagai penyedia LLM dan model
- Integrasikan OpenCode ke alur kerja tim Anda
Siap mempercepat alur kerja pengembangan Anda?
Lihat solusi hosting yang dioptimalkan AI dari LightNode untuk menjalankan aplikasi AI dengan instance GPU khusus dan infrastruktur yang dapat diskalakan.
OpenCode adalah open source dan terus berkembang. Berkontribusi pada proyek, laporkan masalah, atau bagikan pengalaman Anda untuk membantu membuatnya lebih baik bagi semua orang. Selamat coding!