Cara Membuat Agen AI seperti OpenClaw Sendiri
Pelajari cara membangun agen AI pribadi seperti OpenClaw, dari shell command dan browser hingga file, serta alasan hardening harus dilakukan sejak awal.
Apa sebenarnya OpenClaw
OpenClaw adalah agen AI pribadi yang di-hosting sendiri. Anda menjalankannya pada server milik sendiri, menghubungkannya ke aplikasi chat yang sudah Anda gunakan, lalu agen ini dapat menjalankan shell command, mengendalikan browser, membaca dan menulis file, serta bertindak berdasarkan pesan yang Anda kirimkan. OpenClaw berlisensi MIT, mengutamakan penggunaan lokal, dan memiliki lebih dari 380,000 GitHub stars per pertengahan 2026. Hal ini menjadikannya salah satu project dengan jumlah stars terbanyak di platform tersebut. Di balik keramaiannya, OpenClaw sebenarnya terdiri atas sekumpulan komponen yang relatif kecil dan terhubung dengan cara yang masuk akal. Artikel ini membahas komponen-komponen tersebut agar Anda memahami cara membangun tool seperti ini dan bagian yang berisiko.
Ada satu peringatan penting sejak awal karena hal ini memengaruhi setiap keputusan desain di bawah. Pada Maret 2026, sembilan security issue OpenClaw diungkap dalam waktu empat hari, termasuk flaw privilege escalation kritis dengan rating 9.9 dari 10 (CVE-2026-32922). Project ini dirancang agar Anda, sebagai operator, melakukan hardening. Agen yang dapat menjalankan command apa pun hanya seaman server tempatnya berjalan dan batasan yang Anda terapkan di sekelilingnya. Ingat hal ini saat membaca.
Daemon gateway: satu proses, tetap privat
Di pusat sistem terdapat satu proses yang berjalan lama, yang biasanya disebut gateway. Gateway adalah control plane. Gateway menerima pesan, menentukan tindakan, menjalankan alat, lalu mengirimkan balasan. Semua komponen lain terhubung ke gateway.
Hal terpenting tentang gateway adalah alamat tempat gateway mendengarkan koneksi. Secara default, OpenClaw mengikat gateway ke alamat loopback, 127.0.0.1, sehingga gateway tidak dapat dijangkau dari Internet kecuali Anda sengaja mengeksposnya. Pertahankan konfigurasi tersebut. Proses inilah yang menjalankan perintah, sehingga gateway yang terekspos dapat memberi siapa pun yang menemukannya akses awal jarak jauh ke server Anda. Jika perlu mengaksesnya dari laptop, gunakan VPN atau tunnel SSH, bukan membuka port. Port yang tidak dapat dijangkau tidak dapat diserang.
Konektor channel: menerima pesan dan mengirim balasan
Personal agent hanya berguna jika Anda dapat berkomunikasi dengannya melalui aplikasi yang sudah Anda gunakan. Itulah fungsi channel connector. Setiap connector terhubung ke satu platform, seperti Telegram, WhatsApp, Slack, atau Discord, menggunakan bot API atau webhook milik platform tersebut.
Strukturnya sama untuk semua connector. Connector mendaftarkan bot ke platform, menerima pesan masuk Anda (dengan melakukan polling ke platform atau menerima webhook yang dikirim platform ke connector), meneruskan pesan tersebut ke gateway, lalu mengirim balasan dari gateway melalui API yang sama. Connector adalah lapisan translasi yang tipis. Connector mengubah "pesan Telegram telah diterima" menjadi "berikut teks untuk agent", lalu melakukan proses sebaliknya. Untuk membuat connector sendiri, Anda terutama perlu membaca dokumentasi bot pada salah satu platform dan memetakan format pesannya ke format gateway.
Siklus otak dan alat
Di dalam gateway terdapat komponen yang membuatnya menjadi agent, bukan chatbot. Komponen itu adalah sebuah loop.
Sebuah pesan masuk. Gateway mengirimkannya ke language model bersama daftar tool yang boleh digunakan oleh model tersebut. Model membaca pesan itu lalu memutuskan: menjawab langsung atau memanggil tool. Jika model memanggil tool, gateway menjalankan tool tersebut, mengambil hasilnya, lalu mengirimkan hasil itu kembali ke model. Model memeriksa hasil tersebut lalu mengambil keputusan lagi. Proses ini berulang sampai model tidak memiliki tindakan lain untuk dilakukan dan menghasilkan balasan akhir.
Loop tersebut adalah inti dari agent. Loop yang sama digunakan baik agent berjalan di aplikasi chat maupun di terminal. Untuk mengetahui cara menghubungkan tool ke loop ini dengan cara yang standar, baca menghubungkan tool melalui Model Context Protocol. Untuk sisi model, menjalankan model itu sendiri pada hardware milik Anda melengkapi bagian lainnya.
Tool merupakan inti, sekaligus sumber bahaya
Tool adalah komponen yang membuat OpenClaw bertenaga. Ada tool untuk menjalankan perintah shell, mengendalikan browser, serta membaca dan menulis file. Jika loop di atas diberi akses ke tool tersebut, loop itu dapat melakukan hampir semua hal yang dapat Anda lakukan melalui keyboard. Kemampuan tersebut merupakan inti produk, sekaligus seluruh risikonya.
Agent yang dapat menjalankan perintah apa pun berdasarkan instruksi dari aplikasi chat memiliki permukaan serangan yang luas. Instruksi berbahaya, serangan prompt injection yang disembunyikan dalam halaman web yang dikunjungi tool browser, atau bug seperti celah keamanan pada Maret 2026 dapat mengubah perintah "baca kalender saya" menjadi "hapus file saya". Karena itu, pembatasan bukan fitur tambahan yang bersifat opsional. Jalankan agent sebagai pengguna khusus tanpa hak istimewa dan tanpa sudo agar kompromi tidak dapat bereskalasi. Lindungi tool berbahaya dengan langkah persetujuan agar agent meminta konfirmasi sebelum melakukan tindakan destruktif. Isolasi eksekusi tool dalam sandbox agar perintah yang tidak terkendali tetap terbatas. Isolasi API key model agar kebocoran tidak memberikan akun Anda kepada penyerang.
Sebelum mengekspos apa pun yang menjalankan perintah shell, lakukan pemeriksaan dasar secara sistematis. Buat checklist untuk server Anda sendiri di sini, lalu ikuti dari atas ke bawah:
Bagian tentang pengguna tanpa hak istimewa dibahas secara mendalam dalam menjalankan service sebagai pengguna tanpa hak istimewa, sedangkan panduan lengkap untuk menyiapkan proyek yang aman tersedia dalam menjalankan OpenClaw dengan aman pada VPS.
Memori sebagai file biasa
Sebagian besar orang mengharapkan memori agent disimpan dalam database. Memori OpenClaw tidak demikian. OpenClaw menyimpan memori sebagai file Markdown biasa di disk, dan pendekatan ini layak ditiru.
File itu sederhana. Tidak ada schema yang perlu dimigrasikan, service yang harus terus berjalan, atau bahasa kueri yang perlu dipelajari. Isinya dapat diperiksa: Anda dapat membuka folder tersebut dan membaca dengan tepat apa yang diyakini agent tentang Anda, memperbaiki catatan yang salah dengan mengedit file, atau menghapus memori dengan menghapus file terkait. File juga portabel karena memindahkan agent ke server baru cukup dilakukan dengan menyalin sebuah direktori. Untuk agent personal dengan satu pengguna, folder berisi file teks sudah memadai dan membuat seluruh sistem mudah dipahami.
Kemampuan: cara portabel untuk menambahkan kemampuan
Di luar alat bawaan, OpenClaw menggunakan format skill portabel agar komunitas dapat memperluas kemampuannya tanpa mengubah inti sistem. Skill adalah paket mandiri yang berisi instruksi dan, kadang-kadang, kode untuk mengajarkan tugas baru kepada agent. Agent memuat skill saat tugas membutuhkannya. Pencarian web biasanya menjadi skill pertama yang ditambahkan. Mengarahkan skill tersebut ke instance SearXNG milik Anda membuat kueri Anda tidak dikirim ke API pencarian komersial. Pendekatan ini juga memperjelas batas kepercayaan skill, karena semua hasil yang dikembalikannya berupa teks yang ditulis oleh pihak lain.
Nilai format seperti ini adalah kemampuannya untuk dibagikan. Seseorang menulis skill untuk pekerjaan tertentu, memublikasikannya, lalu orang lain memasangnya. Jika Anda membuat agent sendiri, menentukan format ekstensi yang kecil dan jelas sejak awal akan mencegah Anda memasukkan setiap kemampuan langsung ke dalam inti sistem di kemudian hari.
Gunakan model pilihan Anda
OpenClaw bersifat agnostik terhadap model. OpenClaw tidak menyertakan model bahasa sendiri. Sebagai gantinya, OpenClaw terhubung ke model yang Anda pilih, baik melalui API yang di-host maupun model yang Anda jalankan sendiri.
Pemisahan ini penting untuk biaya, privasi, dan kendali. API yang di-host memberi Anda akses ke model terkuat tanpa perlu mengelola perangkat keras, dengan biaya per token dan prompt Anda dikirim keluar dari server. Model yang di-host sendiri, yang dijalankan dengan perangkat lunak seperti Ollama, menyimpan setiap pesan di mesin Anda sendiri dan hanya memerlukan biaya perangkat keras serta listrik, tetapi model yang digunakan biasanya lebih kecil atau lebih lambat. Banyak orang menggabungkan keduanya. Jika Anda ingin menjaga agen tetap sepenuhnya privat, meng-host sendiri model pada VPS Anda adalah bagian yang menutup celah terakhir tersebut, dan Hermes Agent adalah agen yang di-host sendiri lainnya yang layak dijadikan pembanding.
Haruskah Anda membangunnya?
Anda dapat membangun semua komponen ini. Komponennya tidak eksotis: sebuah daemon, beberapa konektor chat, loop model dan tool, sebuah folder berisi Markdown, serta format plugin. Memahami komponen tersebut sangat berguna karena hal ini menghilangkan kesan misterius dari setiap agent yang Anda gunakan dan menunjukkan dengan tepat letak risikonya.
Namun, bagi sebagian besar orang, jawaban yang jujur adalah menjalankan sistem yang sebenarnya lalu memperkuat keamanannya, bukan membuat ulang sistem tersebut. OpenClaw sudah menangani connector, loop, dan format skill, serta telah melalui peninjauan keamanan secara nyata. Upaya Anda lebih baik difokuskan pada bagian yang memang menjadi tanggung jawab Anda, yaitu menyiapkan dan memperkuat keamanan server milik Anda sendiri. Jika Anda ingin memulai dengan jalur pembelajaran, pelajari konsep-konsepnya secara bertahap lebih efektif daripada langsung membaca source code agent, karena setiap tahap menghasilkan satu hal yang benar-benar telah Anda bangun. Bangun versi kecil untuk belajar. Jalankan dan amankan versi sebenarnya untuk digunakan.
Dasar-dasar umumnya dibahas dalam membangun agent AI Anda sendiri pada VPS, sedangkan membangun agent dengan Claude menunjukkan gagasan yang sama menggunakan model tertentu sebagai otaknya.
FAQ
Apakah sulit membuat agen seperti OpenClaw?
Bagian-bagian individualnya tidak sulit. Proses gateway, konektor chat, loop model-dan-tools, serta folder berisi file masing-masing mudah dibuat. Bagian tersulitnya adalah menjalankannya dengan aman. Agen yang menjalankan perintah shell dari pesan chat memiliki permukaan serangan yang serius. Konfigurasi sandboxing, izin, dan pengguna nonprivileged yang tepat membutuhkan lebih banyak pekerjaan daripada menghubungkan fitur-fiturnya.
Mengapa OpenClaw menyimpan memori sebagai file Markdown, bukan database?
Karena untuk agen pribadi satu pengguna, file sudah memadai dan jauh lebih sederhana. Anda tidak perlu menjalankan layanan database, memori mudah dibaca dan diperbaiki secara manual, dan memindahkan agen ke server lain cukup dilakukan dengan menyalin sebuah direktori. Database baru diperlukan pada skala yang lebih besar, bukan untuk kasus ini.
Apa bagian paling berbahaya dari agen AI pribadi?
Bagian yang memungkinkannya bertindak: menjalankan perintah shell, mengendalikan browser, dan menulis file. Itulah alasan Anda membangunnya sekaligus alasan agen tersebut dapat merugikan Anda. Peristiwa keamanan OpenClaw pada March 2026, yang mencakup sembilan masalah dalam empat hari termasuk satu masalah kritis dengan peringkat 9.9, merupakan alasan paling jelas untuk menangani lapisan tools dengan hati-hati: jalankan sebagai pengguna nonprivileged, batasi tindakan destruktif, dan gunakan sandbox untuk eksekusi.
Apakah saya memerlukan model bahasa sendiri untuk membuatnya?
Tidak. Agen seperti OpenClaw bersifat model-agnostic, sehingga Anda dapat menghubungkannya ke model pilihan Anda. Model tersebut dapat berupa API ter-host untuk model dengan kemampuan terkuat, atau model yang Anda jalankan sendiri untuk privasi penuh. Self-hosting dengan Ollama menjaga setiap pesan tetap berada di server Anda sendiri, dengan konsekuensi harus menjalankan model yang lebih kecil.