SSD Nodes Learn
Panduan Matt ConnorOleh Matt Connor · Diperbarui 2026-07-24

Cara Install OpenCode di VPS

Pelajari cara instalasi OpenCode di VPS menggunakan tmux dan user non-privilese. Amankan API key Anda agar tetap privat saat menjalankan agen AI ini.

Apa itu OpenCode, dan apa yang sedang Anda siapkan

OpenCode adalah agen pengodean AI sumber terbuka yang dibuat untuk terminal. Anda menjalankannya di dalam direktori proyek, lalu ia akan membaca kode, mengusulkan perubahan, menyunting berkas, dan menjalankan perintah, semuanya melalui antarmuka pengguna terminal (TUI). Produk ini memiliki lisensi MIT, terhubung ke lebih dari 75 penyedia model, dan dengan sekitar 165.000 bintang GitHub per pertengahan 2026, ini adalah agen pengodean sumber terbuka dengan bintang terbanyak. Untuk menjalankan OpenCode pada VPS, Anda harus menginstalnya di bawah pengguna non-privilese khusus, menyimpan kunci API model Anda dalam berkas pribadi, dan menjalankannya di dalam tmux agar sesi tetap berjalan saat koneksi terputus. Panduan ini akan melakukan hal tersebut secara berurutan.

Catatan penamaan berikut untuk menghindari kebingungan. Repositori kanonikal adalah anomalyco/opencode, yang dikelola oleh tim Anomaly (sebelumnya dikenal sebagai SST), dan proyek ini sebelumnya berada di sst/opencode. Repositori lama yang tidak terkait bernama opencode-ai/opencode juga ada di GitHub, jadi pastikan Anda membaca dokumentasi proyek yang benar. Situs resminya adalah opencode.ai.

Mengapa menjalankan OpenCode pada VPS

Sesi agen pengodean berlangsung lama. OpenCode dapat menghabiskan waktu berjam-jam untuk melakukan refactor atau menjalankan rangkaian pengujian. Jika dijalankan pada laptop, menutup layar atau terputusnya koneksi Wi-Fi akan menghentikan sesi di tengah tugas. Pada VPS di dalam tmux, agen akan terus bekerja setelah Anda memutuskan koneksi, dan Anda dapat menyambung kembali nanti untuk melihat hasilnya. Pola ini sama dengan menjalankan Claude Code pada VPS dengan tmux, dan ini adalah peningkatan kualitas kerja terbesar saat memindahkan agen dari laptop Anda.

Alasan kedua adalah lokasi. VPS berada dekat dengan kode yang Anda deploy: repositori, alat build, database pengujian, dan sering kali lingkungan staging sudah ada di sana atau di dekatnya. Agen yang mengedit kode dan menjalankan pengujian bekerja paling optimal pada mesin tempat pengujian tersebut dijalankan. Karena server tersebut berada di bawah kendali Anda, Anda dapat memberikan lingkungan yang terisolasi kepada agen, sebagaimana dijelaskan pada bagian berikutnya.

Jika Anda masih memilih alat, menjalankan agen AI pengodean pada VPS membandingkan berbagai pilihan, termasuk Aider dan Goose.

Berikan OpenCode user sendiri

Berikut adalah kondisi dasarnya: sebuah agen pengodean mengedit file dan menjalankan perintah. Itu adalah tugasnya, sekaligus risikonya. OpenCode akan menjalankan proses build, pengujian, dan perintah shell apa pun yang diperlukan oleh tugas tersebut. Penilaian model sudah baik, tetapi tidak sempurna. Akun yang digunakan oleh agen menentukan batas maksimal dampak dari perintah yang salah. Oleh karena itu, jangan jalankan sebagai root, dan jangan jalankan sebagai user yang mengelola server.

Berbeda dengan agen latar belakang, OpenCode bersifat interaktif, sehingga usernya memerlukan shell asli dan direktori home:

sudo useradd --create-home --shell /bin/bash opencode
sudo -iu opencode

Simpan proyek yang ingin Anda kerjakan di bawah /home/opencode, yang dikloning oleh user tersebut. Jangan berikan hak sudo pada akun tersebut. Jika agen menjalankan perintah yang merusak, ia hanya dapat merusak apa yang dimiliki oleh akun ini. Ini adalah alasan yang sama dengan menjalankan layanan sebagai user tanpa hak istimewa. Bekerjalah di dalam repositori git, karena repositori mengubah setiap pengeditan yang salah menjadi git revert alih-alih kehilangan data.

Install OpenCode

Proyek ini mendokumentasikan dua metode instalasi. Skrip instalasi adalah cara tercepat, dan menjalankannya sebagai pengguna opencode akan menyimpan semua data di dalam direktori home pengguna tersebut:

curl -fsSL https://opencode.ai/install | bash

Kebiasaan curl | bash yang umum berlaku di sini sebagaimana di tempat lain: pada server yang penting bagi Anda, unduh skrip terlebih dahulu, baca skrip tersebut, lalu jalankan. Setelah instalasi, buka shell baru agar perubahan PATH yang dilakukan installer dapat diterapkan, kemudian verifikasi biner dengan perintah berikut:

opencode --version

Jika Anda lebih memilih package manager dan Node.js sudah terpasang di sistem, metode npm akan menginstal alat yang sama secara sistem-wide, yang menempatkan biner opencode pada PATH untuk setiap pengguna:

sudo npm install -g opencode-ai

Dalam kedua metode tersebut, verifikasinya sama: opencode --version akan mencetak nomor versi. Jika muncul command not found setelah instalasi skrip, berarti shell saat ini belum membaca PATH yang telah diperbarui, maka silakan log out dan log in kembali sebagai pengguna opencode.

Simpan API key dalam file privat

OpenCode memerlukan kunci untuk penyedia model apa pun yang Anda gunakan. Kunci tersebut dapat menghabiskan saldo Anda, jadi perlakukan kunci tersebut seperti kata sandi. Buatlah file dengan mode 600 yang hanya dapat dibaca oleh user opencode. Simpan kunci di dalam file tersebut alih-alih mengetiknya langsung di perintah agar tidak tersimpan dalam shell history:

install -m 600 /dev/null ~/opencode.env
nano ~/opencode.env

Masukkan variabel penyedia Anda ke dalamnya, misalnya ANTHROPIC_API_KEY=... atau yang setara untuk penyedia Anda, karena OpenCode menggunakan variabel lingkungan standar penyedia. Muat file tersebut ke dalam shell sebelum Anda menjalankan agent:

set -a; source ~/opencode.env; set +a

OpenCode juga menyediakan alternatif interaktif: perintah /connect di dalam TUI akan memandu Anda untuk menambahkan penyedia dan menyimpan kredensial ke ~/.local/share/opencode/auth.json di direktori home user. Jika Anda menggunakan metode ini, pastikan file tersebut bersifat privat dengan chmod 600 ~/.local/share/opencode/auth.json. Kedua metode ini menjaga agar kunci tidak muncul di baris perintah; pilih salah satu dan gunakan secara konsisten.

Jalankan OpenCode di dalam tmux

tmux adalah fitur utama pada pengaturan VPS ini, karena sesi tmux tetap berjalan meskipun koneksi SSH terputus. Jalankan tmux, masuk ke direktori proyek, dan luncurkan agent:

tmux new -s opencode
cd ~/my-project
opencode

TUI akan terbuka dengan prompt di bagian bawah dan nama proyek Anda pada antarmuka. Berikan instruksi dalam bahasa biasa, dan agent akan mulai membaca file serta mengusulkan perubahan. Untuk keluar, gunakan detach dengan menekan Ctrl-b lalu d, dan agent akan tetap bekerja meskipun laptop Anda ditutup. Masuk kembali nanti dengan:

tmux attach -t opencode

Sesi, percakapan, dan tugas yang sedang berjalan akan tetap berada di posisi terakhir. Data ini tetap tersimpan meskipun koneksi terputus, namun akan hilang jika server melakukan reboot. Jika server melakukan reboot, jalankan sesi tmux baru dengan cara yang sama.

Hubungkan ke sebuah model

OpenCode bersifat agnostik terhadap penyedia layanan. OpenCode menggunakan AI SDK dan katalog Models.dev untuk mendukung lebih dari 75 penyedia, sehingga alat yang sama dapat bekerja dengan Anthropic, OpenAI, Google, dan puluhan lainnya, termasuk server lokal. Cara cepat adalah menggunakan perintah /connect di dalam TUI, yang menampilkan daftar penyedia dan mengelola kredensial. Untuk pengaturan yang dapat dikomit dan direproduksi, letakkan opencode.json di root proyek dan atur model sebagai provider/model-id:

{
  "$schema": "https://opencode.ai/config.json",
  "model": "anthropic/claude-sonnet-4-20250514"
}

Model lokal bekerja melalui file yang sama, karena server yang kompatibel dengan OpenAI dapat dideklarasikan sebagai penyedia. Jika Anda menjalankan model dengan Ollama pada VPS yang sama, konfigurasi akan mengarah ke API lokalnya, dan nama model adalah apa pun yang ditampilkan oleh ollama list pada sistem Anda:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama (local)",
      "options": { "baseURL": "http://127.0.0.1:11434/v1" },
      "models": { "your-model-name": { "name": "Local coding model" } }
    }
  }
}

Ada satu kebiasaan bawaan yang perlu diterapkan sejak awal. OpenCode menyertakan dua agen yang dapat Anda ganti menggunakan tombol Tab: Build, agen default dengan akses penuh, dan Plan, yang menonaktifkan kemampuan untuk melakukan perubahan. Mulailah tugas baru di mode Plan, biarkan agen membaca kode dan mengusulkan pendekatan, lalu beralihlah ke mode Build hanya jika Anda menyetujui rencana tersebut. Pada server, tahap awal yang bersifat read-only adalah langkah pencegahan yang efisien.

Cakupan dampak (blast radius)

Agen pengodean bersifat aktif, jadi jelaskan secara lugas apa yang termasuk dan tidak termasuk dalam pengaturan ini. Pengaturan ini mencakup risiko kerusakan file: pengguna opencode hanya memiliki direktori home miliknya sendiri, sehingga pengeditan dan penghapusan berhenti di batas tersebut. Pengaturan ini juga mencakup risiko paparan kredensial: kunci disimpan dalam satu file dengan mode 600 pada satu akun. Pengaturan ini tidak membatasi apa yang dapat dilakukan akun tersebut secara sah; jika direktori proyek berisi kredensial deployment produksi, agen dapat menggunakannya. Jauhkan kredensial tersebut sepenuhnya dari akun agen.

Berbeda dengan agen gateway seperti OpenClaw, OpenCode adalah program terminal interaktif, bukan daemon. Program ini tidak membuka port listening dan tidak memiliki layanan yang berjalan terus-menerus, sehingga tidak ada unit systemd yang perlu dibuat dan tidak ada port yang perlu dibatasi firewall untuk agen itu sendiri. Batasan isolasinya adalah akun pengguna dan direktori proyek, itulah sebabnya bagian pertama panduan ini adalah yang paling penting.

Server tetap memerlukan perawatan standar karena VPS pengodean adalah server publik: gunakan SSH hanya dengan kunci (key-only) dengan login root dinonaktifkan, seperti pada SSH hardening on a VPS, gunakan firewall default-deny, dan lakukan pembaruan rutin. Periksa juga hasil kerja agen. Baca diff sebelum Anda melakukan push, sama seperti Anda membaca pull request dari kontributor baru, karena Anda adalah pihak yang melakukan deployment hasil tersebut.

Terakhir, pastikan alat ini selalu mutakhir. OpenCode sering merilis pembaruan, dan pembaruan tersebut membawa perbaikan penting untuk program yang menjalankan perintah di server Anda. Cara memperbarui sama dengan cara instalasi: jalankan kembali skrip instalasi sebagai pengguna opencode, atau jalankan sudo npm update -g opencode-ai jika Anda menginstal melalui npm, lalu konfirmasi versi baru dengan opencode --version. Melakukan pemeliharaan singkat secara berkala lebih efisien daripada memperbaiki bug yang sebenarnya sudah diperbaiki pada versi yang lebih baru.

FAQ

Bisakah OpenCode menggunakan model lokal alih-alih API berbayar?

Ya. OpenCode menganggap server yang kompatibel dengan OpenAI sebagai penyedia, sehingga model yang dijalankan oleh Ollama pada VPS yang sama dapat digunakan: deklarasikan penyedia di opencode.json dengan baseURL lokal dan nama model yang dilaporkan oleh Ollama. Kendalanya adalah perangkat keras, karena model yang cukup baik untuk pekerjaan coding nyata membutuhkan memori besar, jadi sesuaikan spesifikasi server untuk model tersebut sebelum Anda mengunduhnya.

Bagaimana cara agar OpenCode tetap berjalan setelah laptop saya ditutup?

Jalankan di dalam tmux pada VPS. Mulai agent dalam sesi bernama dengan tmux new -s opencode, lepaskan sesi dengan Ctrl-b lalu d, dan sesi akan tetap berjalan di server setelah koneksi SSH Anda berakhir. Sambungkan kembali kapan saja dengan tmux attach -t opencode dan percakapan serta tugas yang sedang berjalan akan tetap ada. Reboot server akan menghentikan sesi, jadi mulailah sesi baru setelah reboot.

Apakah aman membiarkan OpenCode menjalankan perintah pada VPS saya?

Hal ini dapat dikelola jika Anda membatasinya. Berikan OpenCode pengguna khusus tanpa hak akses sudo, simpan proyeknya di git agar setiap perubahan dapat dibatalkan, simpan API key dalam file dengan mode 600, dan gunakan Plan agent untuk pemeriksaan awal bersifat read-only sebelum Anda mengizinkan Build agent mengubah apa pun. Agent tersebut hanya dapat merusak apa yang dimiliki oleh akunnya sendiri, dan bagian server lainnya tetap tidak terjangkau.

Apa perbedaan antara OpenCode dan Claude Code?

OpenCode adalah open source (MIT) dan tidak terikat pada satu penyedia, dapat terhubung ke lebih dari 75 penyedia model, termasuk model lokal, melalui satu antarmuka. Claude Code adalah agent terminal milik Anthropic, yang dibangun di sekitar model Anthropic. Jika Anda menginginkan satu alat untuk banyak penyedia, atau tumpukan teknologi yang sepenuhnya self-hosted dengan model lokal, OpenCode adalah pilihannya; keduanya berjalan dengan baik pada VPS di dalam tmux dengan pengaturan unprivileged-user yang sama.