---
title: AI Agent
description: Biarkan pelanggan mengelola VM Linux mereka dalam bahasa umum — cara Agent terhubung via SSH, apa yang dapat dijalankan sendiri, dan persiapannya.
url: https://nexcmp.com/id/docs/ai/ai-agent/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# AI Agent {#ai-agent}

> **Di mana letaknya di admin:** System › Settings › AI provider (`/settings/ai`) — sakelar modul dan provider; System › Admin › License & updates (`/license`) — sakelar modul. **Di mana letaknya di portal:** AI Agent (`/ai/agent`) dan halaman `/chat/agent`, atau mode **Agent** di dalam chat.

## Fungsi {#what-it-does}

AI Agent terhubung ke VM Linux milik pelanggan via SSH dan menjalankan tugas yang dideskripsikan dalam bahasa alami: "check system health", "install Docker", "find recent errors", "free up disk space". Agent menampilkan setiap perintah yang diusulkan beserta outputnya. Perintah baca-saja dapat berjalan secara otomatis; apa pun yang mengubah server memerlukan konfirmasi pelanggan yang menekan tombol **Run**.

## Persyaratan {#requirements}

| Item | Persyaratan |
|---|---|
| Modul dan penyedia AI | Modul **AI** aktif dan [AI provider](https://nexcmp.com/id/docs/ai/ai-providers/) berfungsi. Agen juga memerlukan model yang mendukung tool calling. |
| `openssh-client` di server panel | Agent menjalankan perintah dengan program `ssh` milik panel sendiri (`/usr/bin/ssh`). Penginstal memasang `openssh-client`; periksa dengan `ssh -V`. Tanpanya, Agent melaporkan "ssh client is not installed on the panel server". |
| Tidak ada gateway SSH terpisah | Dalam instalasi default, SSH bawaan digunakan dan terminal web `ssh-proxy` **tidak** diperlukan. Hanya ketika fitur opsional *web SSH* (`feature_ssh_web`) diaktifkan dan layanan `ssh-proxy` dipasang, Agent akan melewati `ssh-proxy`. |
| Jaringan | Server panel harus dapat mencapai IP VM pada port SSH-nya (default 22). Periksa firewall dan grup keamanan antara panel dan jaringan tamu. |
| VM | Dimiliki pelanggan, **berjalan**, tidak terkunci, **Linux** (VM Windows ditolak), dengan alamat IP publik atau yang dapat dijangkau. |
| Kredensial SSH | Nama pengguna dan sandi login VM yang disimpan oleh NexCMP (disimpan saat VM dibuat atau sandinya disetel ulang, dalam keadaan terenkripsi), atau kunci operasi panel jika terpasang. Jika keduanya tidak ada, Agent menyatakan tidak dapat masuk. |

## Siapkan infrastruktur {#prepare-the-infrastructure}

1. Periksa klien SSH di server panel:

   ```bash
   ssh -V
   sudo apt-get install -y openssh-client   # only if missing
   ```

2. Pastikan server panel dapat membuka SSH ke VM tamu:

   ```bash
   nc -vz 198.51.100.10 22
   ```

   Ganti alamat tersebut dengan IP VM uji. Jika gagal, perbaiki perutean atau firewall terlebih dahulu.
3. Pastikan tamu mengizinkan login kata sandi untuk pengguna yang disimpan NexCMP (beberapa image cloud menonaktifkannya), atau kunci operasi panel telah dipasang di tamu.

## Hubungkan di NexCMP {#connect-in-nexcmp}

1. Lengkapi [AI provider](https://nexcmp.com/id/docs/ai/ai-providers/): modul aktif, penyedia tersimpan, **Test connection** berwarna hijau.
2. Tidak ada hal lain yang dikonfigurasi di sisi admin. Tombol modul membuat entri **AI Agent** muncul di portal pelanggan.
3. Sebagai pelanggan: buka **AI Agent**, pilih server yang berjalan dan klik **Choose server**. Halaman ini pertama-tama menguji SSH dengan perintah aman tetap (tanpa panggilan AI) dan menampilkan *SSH connected* atau alasan kegagalannya.
4. Ketik tugas atau pilih mulai cepat (*Check system health*, *Install Docker*, *Install Nginx*, *Find recent errors*, *Security check*, *Free up disk space*).



## Cara perintah dijalankan {#how-it-runs-commands}

- **Dari mana:** server panel, dengan sistem klien `ssh`, satu perintah non-interaktif pada satu waktu. Targetnya selalu IP VM **dari database**, bukan dari permintaan; hanya VM milik pemilik sendiri yang berjalan dan tidak terkunci yang dapat diakses.
- **Autentikasi:** kata sandi yang disimpan diteruskan melalui pembantu `SSH_ASKPASS` satu kali di lingkungan proses — kata sandi tidak ditulis ke disk atau dimasukkan ke baris perintah. Kunci host tidak disematkan (VM diinstal ulang dengan kunci baru). Output per perintah dibatasi hingga 200 KB dan setiap perintah memiliki batas waktu (60 detik).
- **Perulangan agen:** AI mengusulkan perintah dan membaca output; satu giliran berakhir setelah paling banyak **10 langkah**.
- **Mode:**

  | Mode | Behaviour |
  |---|---|
  | **Confirm** | Setiap perintah menunggu **Run**. |
  | **Auto** | Hanya perintah yang lolos dari daftar izin baca-saja yang ketat yang berjalan sendiri (misalnya `df -h`, `ps`, `journalctl`). Segala hal lainnya, dan apa pun yang tidak dapat dianalisis oleh parser dengan pasti (variabel, substitusi perintah, pengalihan ke file), menunggu **Run**. |

- **Label risiko:** perintah yang menimpa atau menghapus file, menulis ke disk, mengubah akun atau SSH keys, mengirim data ke server luar, membuka koneksi jaringan mentah, menjalankan kode yang dikaburkan, mengunduh dan menjalankan skrip, mematikan atau memulai ulang mesin, atau menjangkau server lain selalu menampilkan **Needs confirmation**, bahkan dalam mode Auto.
- **Output tidak tepercaya:** output perintah ditampilkan ke model sebagai data tidak tepercaya; instruksi di dalamnya tidak diikuti.

## Verifikasi {#verify}

1. Pilih VM pengujian yang sedang berjalan. Halaman akan menampilkan *SSH connected*.
2. Ajukan pertanyaan "Check CPU, RAM and disk". Dalam mode Auto, perintah baca-saja akan berjalan dan jawabannya merangkumnya.
3. Ajukan pertanyaan "Install Nginx". Perintah instalasi akan muncul dengan tombol **Run** dan **Skip**; tidak ada yang berjalan hingga Anda menekan **Run**.
4. Penghitung di bagian atas menunjukkan jumlah panggilan AI yang digunakan hari ini (misalnya `3/300`).

## Batas & catatan {#limits-notes}

- **Batas harian:** 300 panggilan AI per pelanggan per hari (UTC); direset pada pukul 00:00 UTC. Ketika habis, Agen akan menjawab "Daily AI quota reached".
- **Konkurensi:** paling banyak 2 Agen berjalan per pelanggan pada waktu yang sama; satu sesi menjalankan satu giliran dalam satu waktu.
- **Sesi:** hingga 100 pesan per sesi, 4,000 karakter per pesan. Satu sesi terkait dengan satu VM; jika VM dihapus atau ditransfer, sesi lama menjadi read-only.
- **VM terkunci atau berhenti, atau Windows:** VM ditampilkan sebagai *Locked*, *Stopped*, *Windows* atau *No address* dan tidak dapat dipilih.
- **Peniruan identitas:** seorang administrator yang meniru identitas pelanggan tidak dapat menggunakan fitur kredensial Agen (lihat [Log in as a customer](https://nexcmp.com/id/docs/customers/login-as/)).
- **Tanggung jawab:** Agen dapat membuat kesalahan. Portal memberi tahu pelanggan untuk meninjau perintah sebelum menjalankannya. Beritahu pelanggan dalam ketentuan Anda bahwa mereka bertanggung jawab atas perintah yang mereka setujui.
- Mematikan modul AI akan menghapus entri Agen dan rute akan merespons dengan 404 `module_disabled`.

## Pemecahan Masalah {#troubleshooting}

| Gejala | Penyebab | Solusi |
|---|---|---|
| "ssh client tidak terinstal di server panel (apt install openssh-client)" | Tidak ada biner `ssh` | `sudo apt-get install -y openssh-client`. |
| "Agent tidak dapat masuk" / `ssh: no saved credentials for this VM` | Tidak ada kata sandi yang disimpan dan tidak ada kunci operasi | Setel ulang kata sandi VM di portal agar disimpan kembali, atau instal kunci operasi. |
| "Server tidak merespons tepat waktu" | Firewall, SSH tidak mendengarkan, VM sibuk | Uji `nc -vz <ip> 22` dari server panel; mulai `sshd` di dalam VM. |
| "Tidak dapat menjangkau SSH di server ini" | Routing atau security group | Izinkan server panel untuk mencapai VM pada port 22. |
| "VM tidak berjalan" / "Forbidden" | VM berhenti, terkunci, dihapus, atau bukan milik pelanggan | Nyalakan, buka kunci, atau pilih yang lain. |
| "Tidak tersedia: N (dihentikan, dikunci, atau Windows)" | Alasan yang tercantum di atas | VM harus ber-OS Linux dan sedang berjalan. |
| "Gateway SSH sementara tidak tersedia" | Fitur Web SSH diaktifkan tetapi `ssh-proxy` sedang mati | Nyalakan `ssh-proxy`, atau matikan fitur web SSH untuk menggunakan SSH bawaan. |
| "AI merespons terlalu lambat (lebih dari 90 detik)" | Provider lambat | Gunakan model yang lebih cepat atau **Reasoning effort** yang lebih rendah. |
| "Kuota AI harian telah tercapai" | 300 panggilan digunakan | Tunggu hingga 00:00 UTC. |
| "Sesi ini masih berjalan" | Putaran lain sedang berlangsung | Tunggu atau tekan **Stop**. |


