Blog

Cara menjaga Hermes Agent tetap berjalan di server sepanjang waktu

Markdown

Cara menjaga Hermes Agent tetap berjalan di server 24/7: instalasi di VPS tanpa browser, menjalankan gateway sebagai layanan sistem, memulainya otomatis setelah reboot, linger, dan Docker.

Baca artikel lengkap

Setelah menginstal Hermes Agent di laptop, muncul pertanyaan: siapa yang akan menjawab di Telegram dan menyusun rangkuman pagi saat laptop ditutup? Di meja kerja, agen hanya aktif selama komputer menyala. Agar bot selalu online dan tugas terjadwal berjalan sendiri, Anda perlu memindahkan agen ke server.

Berikut cara menginstal Hermes di server Linux biasa, mengubah gateway menjadi layanan yang terus berjalan dan dimulai otomatis setelah reboot, serta membatasi akses agar orang asing tidak bisa masuk ke terminal. Panduan ini merujuk pada dokumentasi resmi.

Jika Anda belum menginstal Hermes sama sekali, mulailah dari panduan terpisah tentang apa itu agen ini dan cara menginstalnya. Panduan ini mengasumsikan Anda sudah menjalankannya di komputer sendiri dan hanya membahas pemindahannya ke server.

Informasi tentang penggunaan Ailoot tersedia di dokumentasi.

Mengapa memindahkan Hermes Agent dari laptop ke server?

Poin utama

Komputer pribadi berfungsi selama Anda berada di dekatnya dan komputer itu menyala. Untuk beroperasi sepanjang waktu, Anda memerlukan server: bot Telegram merespons saat komputer Anda mati, dan tugas terjadwal berjalan sendiri. Anda hanya memerlukan server untuk itu; laptop cukup untuk pekerjaan biasa dengan agen.

Di laptop, Hermes hanya berfungsi saat penutupnya terbuka dan Anda berada di dekatnya. Tutup laptop, dan bot akan diam; rangkuman pagi tidak akan datang. Ini tidak cocok untuk tugas seperti “menjawab orang di messenger dan mengurus berbagai hal sesuai jadwal.”

Di sinilah server berbeda: server tidak pernah tidur dan tidak bergantung pada hal lain. Anda menginstal Hermes yang sama di sana, lalu Hermes berjalan tanpa Anda: menjawab di Telegram pukul tiga pagi, mengumpulkan berita tentang topik Anda setiap pagi, dan menjaga sesi tetap tersedia di antara waktu berjalan.

Pemindahan ini masuk akal jika agen memiliki tugas berkelanjutan: bot untuk Anda atau tim, rangkuman pagi, balasan otomatis, atau pekerjaan rutin dengan dokumen. Jika Anda hanya mencoba Hermes untuk proyek tertentu sambil berada di dekat komputer, Anda belum memerlukan server; itu hanya langkah tambahan.

Apa yang perlu disiapkan sebelum menginstal Hermes di VPS?

Poin utama

Anda memerlukan server Linux dengan akses SSH (tim resmi menguji pada instalasi Ubuntu yang baru), model yang sudah dipilih, serta pemahaman bahwa agen biasanya tidak memerlukan browser di server. Untuk operasi tanpa pengawasan, cara paling praktis untuk mengakses model adalah melalui Nous Portal: autentikasi OAuth diperbarui otomatis, sehingga token kedaluwarsa tidak akan menghentikan layanan semalaman.

Siapkan tiga hal sebelum menginstal.

Server. VPS Linux biasa sudah cukup. Dukungan tingkat pertama dalam dokumentasi mencakup Linux dan WSL2, dan pengujian dilakukan pada Ubuntu terbaru. Jika sistem memiliki glibc, systemd, dan tata letak direktori yang lazim, Hermes akan terinstal dengan baik. Ini penting di server karena semua langkah mulai otomatis di bawah mengandalkan systemd, yang tersedia bawaan di Ubuntu dan Debian.

Akses SSH. Anda tersambung ke server melalui terminal lewat SSH; Anda tidak akan menggunakan mouse di sana. Semua perintah di bawah dijalankan dalam sesi SSH ini. Jika Anda melakukan vibe-coding dan belum nyaman menggunakan terminal, jangan khawatir: hanya ada beberapa perintah, dan Anda bisa menyalin masing-masing secara utuh.

Model yang dipilih. Agen tidak berpikir sendiri; agen memanggil model. Untuk server yang bekerja tanpa Anda, akses ke model harus tidak kedaluwarsa. Pilihan paling sederhana adalah langganan Nous Portal melalui hermes setup --portal: autentikasi menggunakan OAuth, dan token diperbarui otomatis. Kunci API Anda sendiri juga bisa digunakan, tetapi pastikan saldo akun mencukupi—agen headless dengan saldo kosong hanya akan diam. Model harus memiliki jendela konteks minimal 64.000 token, atau Hermes akan menolak untuk memulainya. Semua model cloud dalam daftar memenuhi persyaratan ini.

Catatan

Dokumentasi resmi tidak memberikan angka pasti untuk memilih VPS atau sumber daya minimum, jadi tidak ada angka pasti yang dicantumkan di sini. Berdasarkan pengalaman yang dijelaskan, mesin sederhana cukup untuk gateway dengan bot dan jadwal karena komputasi berat berlangsung di sisi model. Beban server itu sendiri sangat kecil. Otomatisasi browser adalah bagian yang paling berat, tetapi biasanya tidak diperlukan di server (lebih lanjut sebentar lagi).

Bagaimana cara menginstal Hermes Agent di server dengan satu perintah?

Poin utama

Sambungkan ke server lewat SSH dan jalankan installer dengan flag untuk melewati browser di server: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --skip-browser. Lalu mulai ulang shell terminal dan pilih model dengan hermes setup --portal. Periksa instalasi dengan hermes doctor.

Menginstal di server hampir sama dengan di laptop, dengan satu perbedaan: agen biasanya tidak memerlukan browser di sana. Otomatisasi browser juga memasang Chromium yang berukuran besar. Karena itu, gunakan flag --skip-browser.

  1. Sambungkan ke server lewat SSH

    ssh root@your-server-address
    

    Jalankan semua perintah berikut dalam sesi ini, langsung di server.

  2. Jalankan installer tanpa browser

    curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --skip-browser
    

    Skrip mengunduh lingkungan yang diperlukan dan menginstal perintah hermes. Flag --skip-browser melewati instalasi otomatisasi browser; pada server tanpa antarmuka grafis, browser hanya akan menghabiskan ruang. Jika kelak memerlukan browser, Anda bisa menginstalnya secara terpisah.

  3. Mulai ulang shell dan pilih model

    source ~/.bashrc
    hermes setup --portal
    

    Baris pertama memuat PATH yang baru agar perintah hermes dapat ditemukan. Baris kedua membuka proses autentikasi Nous Portal: konfirmasikan autentikasi, lalu agen akan memperoleh model dan layanan tanpa memerlukan kunci terpisah untuk masing-masing layanan.

  4. Periksa instalasi

    hermes doctor
    

    Perintah ini menampilkan apa yang sudah terinstal, apa yang masih belum ada, dan cara memperbaikinya. Tanda hijau berarti semuanya sudah siap.

Sebelum menambahkan bot dan jadwal, pastikan satu percakapan berjalan dengan baik langsung di server: jalankan hermes dan berikan tugas sederhana yang jawabannya bisa diverifikasi. Dokumentasi secara eksplisit menyarankan agar tidak menambahkan banyak fitur sebelum percakapan biasa berfungsi—saran yang masuk akal.

Bagaimana cara menjaga Hermes tetap berjalan sepanjang waktu?

Poin utama

Pertama, atur gateway dengan hermes gateway setup dan hubungkan Telegram. Lalu ubah gateway menjadi layanan dengan satu perintah: hermes gateway install memasang layanan pengguna, sedangkan sudo hermes gateway install --system memasang layanan sistem yang dimulai saat server boot. Untuk layanan pengguna, gunakan hermes gateway start, stop, dan status. Untuk layanan sistem VPS, pertahankan cakupan --system yang eksplisit dan hak akses yang diperlukan dalam setiap pemeriksaan serta perubahan layanan.

Gateway adalah satu proses Hermes di latar belakang yang menjaga koneksi ke semua messenger, mengelola sesi, dan menjalankan tugas terjadwal. Semua operasi sepanjang waktu berpusat padanya. Tujuannya adalah membuat proses ini berjalan sendiri dan tetap aktif.

Pertama, atur gateway dan hubungkan messenger:

hermes gateway setup

Wizard pengaturan memandu Anda memilih platform dan membantu memasukkan token bot serta daftar akses. Langkah menghubungkan Telegram (membuat bot dengan BotFather, mencari ID Anda, dan memasukkan token) dibahas dalam panduan instalasi utama; saya tidak akan mengulanginya di sini.

Berikutnya, ada jebakan yang paling sering terlupakan. Jika Anda hanya menjalankan hermes gateway, proses itu hanya akan hidup selama sesi SSH tetap terbuka. Tutup terminal, dan gateway akan berhenti. Agar terus berjalan, Anda perlu menempatkannya di bawah kendali sistem. Ada satu perintah untuk itu:

hermes gateway install

Perintah ini memasang gateway sebagai layanan: di Linux berupa layanan systemd pengguna; di macOS melalui launchd. Sistem memantau proses dan menjalankannya kembali jika proses mengalami crash.

Di server, opsi kedua lebih sering diperlukan: layanan sistem yang dimulai saat mesin boot, sebelum pengguna masuk:

sudo hermes gateway install --system

Inilah yang Anda perlukan untuk VPS: server melakukan reboot, layanan berjalan sendiri, dan bot kembali online. Kelola dengan perintah sederhana berikut:

hermes gateway start     # start
hermes gateway stop      # stop
hermes gateway status    # check status

Untuk layanan sistem, tambahkan sudo dan flag --system pada perintah ini. Tanpa keduanya, perintah akan menyasar layanan pengguna, bukan layanan yang dimulai saat boot:

sudo hermes gateway start --system
sudo hermes gateway stop --system
sudo hermes gateway status --system

Mengapa linger diperlukan, dan apa yang bermasalah tanpanya?

Poin utama

Jika Anda memasang gateway sebagai layanan pengguna (tanpa --system), systemd menghentikannya begitu Anda keluar dari SSH dan tidak memulainya saat boot. Perbaiki dengan satu perintah: sudo loginctl enable-linger username. Setelah itu, layanan berjalan secara terpisah dari proses login dan logout Anda.

Inilah kendala yang paling umum: Anda sudah memasang layanan, tetapi bot tetap diam pada malam hari. Penyebabnya adalah cara kerja layanan pengguna Linux.

Layanan systemd pengguna secara bawaan terikat pada sesi Anda. Anda tersambung lewat SSH, lalu pengelola pengguna dimulai; layanan pun berjalan. Anda keluar, dan sistem menganggap pengguna tidak aktif, sehingga sistem mematikan layanan pengguna tersebut bersama gateway Anda. Untuk server yang Anda masuki dan tinggalkan, ini berarti kegagalan: bot hanya online saat Anda berada di SSH.

Anda bisa memperbaikinya dengan mode linger, yang membuat sistem tetap menjalankan pengelola pengguna meskipun pengguna tersebut tidak sedang masuk:

sudo loginctl enable-linger username

Setelah perintah ini, layanan pengguna berjalan sendiri dan dimulai saat server boot, tanpa menunggu Anda masuk. Tanpa linger, perilaku awal kembali terjadi: gateway berhenti saat Anda keluar dari SSH dan tidak dimulai saat boot. Dokumentasi menyatakan hal ini secara eksplisit.

Perhatian

Ini tidak berlaku untuk layanan sistem (yang dipasang dengan sudo hermes gateway install --system): layanan itu sudah berjalan pada tingkat mesin dan dimulai saat boot. Linger hanya diperlukan untuk layanan pengguna. Pilih salah satu: layanan sistem, atau layanan pengguna ditambah linger.

Bagaimana cara menjalankan Hermes di server dengan Docker dan restart otomatis?

Poin utama

Jika Anda memilih Docker, Hermes dapat tetap berjalan sebagai gateway persisten di dalam container: docker run -d --name hermes --restart unless-stopped -v ~/.hermes:/opt/data -p 8642:8642 nousresearch/hermes-agent gateway run. Flag --restart unless-stopped menghidupkan kembali container setelah reboot, dan di dalam image proses gateway juga dimulai ulang jika mengalami crash.

Docker adalah cara lain yang berfungsi untuk menjaga agen tetap aktif di server, terutama jika Anda sudah terbiasa dengan container atau ingin mengisolasi agen dari sistem utama. Konfigurasikan sekali dengan docker run ... setup, lalu mulai container di latar belakang:

docker run -d \
  --name hermes \
  --restart unless-stopped \
  -v ~/.hermes:/opt/data \
  -p 8642:8642 \
  nousresearch/hermes-agent gateway run

Berikut fungsi baris-baris yang mendukung operasi sepanjang waktu:

  • -d — container berjalan di latar belakang dan tidak menahan terminal tetap terbuka.
  • --restart unless-stopped — Docker menghidupkan kembali container setelah server reboot atau terjadi crash. Container tidak dimulai ulang hanya jika Anda menghentikannya secara manual.
  • -v ~/.hermes:/opt/data — pengaturan, kunci, sesi, dan memori tersimpan di server di luar container, sehingga tetap ada saat container dibuat ulang.

Image menambahkan satu lapis perlindungan lagi: proses gateway berjalan di bawah pengawas s6. Jika gateway mengalami crash, proses itu dimulai ulang dalam beberapa detik tanpa kehilangan container. Ini memberi perlindungan ganda: Docker menjaga container tetap berjalan dari luar, sementara s6 memantau proses di dalamnya.

Ingat satu perbedaan pendekatan Docker: instalasi ini tidak diperbarui dengan perintah hermes update. Untuk memperbarui di Docker, ganti image dengan yang baru—unduh versi terbaru lalu buat ulang container.

Bagaimana cara memeriksa bahwa semuanya berfungsi dan akan tetap berjalan setelah reboot?

Poin utama

Periksa status layanan dengan systemctl dan pantau log langsung. Lalu lakukan pengujian utama server: reboot mesin dan pastikan bot kembali online sendiri. Sesi dan respons Hermes bertahan setelah restart; respons yang belum selesai akan dikirim setelah pemulihan.

Untuk layanan pengguna, periksa status dan log seperti ini:

hermes gateway status
journalctl --user -u hermes-gateway -f

Untuk layanan sistem yang disarankan bagi VPS, gunakan cakupan sistem:

sudo hermes gateway status --system
sudo journalctl -u hermes-gateway -f

Perintah pertama memeriksa layanan yang dipilih; perintah kedua mengikuti log pada cakupan tersebut. Nama unit ini berlaku untuk instalasi default ~/.hermes. Hermes home lain dapat memakai nama unit dengan akhiran: periksa keluaran status dan gunakan unit yang tepat itu. Jangan memantau unit pengguna saat menguji instalasi sistem. Log Hermes berada di ~/.hermes/logs/, dan rahasia otomatis disamarkan dari log, jadi aman untuk dikirim ke dukungan.

Sekarang reboot server dan pastikan agen kembali berjalan sendiri. Inilah pengujian utama server, dan biasanya pengujian inilah yang dilupakan orang:

sudo reboot

Setelah server dapat dijangkau lagi, sambungkan kembali lewat SSH. Untuk instalasi sistem, periksa sudo hermes gateway status --system dan jurnal sistemnya; untuk instalasi pengguna dengan linger, periksa hermes gateway status dan jurnal penggunanya. Lalu kirim pesan kepada bot di Telegram. Jika bot menjawab tanpa campur tangan Anda, mulai otomatis sudah dikonfigurasi dengan benar. Itulah tujuan semua ini.

Anda tidak perlu khawatir kehilangan percakapan. Hermes menyimpan sesi ke disk, dan sesi itu tetap ada setelah gateway dimulai ulang. Selain itu, jika gateway mengalami crash tepat saat mengirim respons, gateway akan mengirimkan respons tersebut setelah pemulihan alih-alih menjalankan tugas lagi. Ini penting bagi bot yang aktif sepanjang waktu: restart tak terduga tidak akan memutus percakapan.

Bagaimana cara mengamankan agen dengan akses terminal di server?

Poin utama

Tiga perlindungan utama: akses bot tertutup secara bawaan (bot hanya merespons orang yang ada dalam daftar), agen meminta konfirmasi sebelum menjalankan perintah berbahaya, dan untuk isolasi penuh, jalankan agen di server dalam sandbox Docker. Sebaiknya jangan mengaktifkan mode tanpa konfirmasi (YOLO) di server.

Agen di server adalah program dengan akses terminal yang berjalan tanpa pengawasan Anda. Periksa tiga pengaturan ini terlebih dahulu.

Akses bot tertutup. Secara bawaan, gateway hanya merespons orang yang ada dalam daftar akses atau yang telah menyelesaikan penautan berbasis kode melalui pesan langsung. Perilaku ini tepat untuk bot dengan akses terminal: orang sembarang yang mengirim pesan kepada bot tidak dapat melakukan apa pun. Daftar diatur menggunakan ID numerik, misalnya untuk Telegram:

TELEGRAM_ALLOWED_USERS=123456789,987654321

Konfirmasi untuk perintah berbahaya. Sebelum melakukan sesuatu yang merusak, agen meminta izin Anda. Ada mode YOLO yang menonaktifkan konfirmasi; sebaiknya jangan aktifkan di server yang berjalan tanpa Anda. Konfirmasi memang dimaksudkan untuk mencegah hal yang tak bisa dipulihkan terjadi tanpa sepengetahuan Anda.

Sandbox untuk isolasi penuh. Jika Anda ingin agen secara fisik tidak dapat melihat sistem utama server, jalankan perintahnya di dalam container Docker:

hermes config set terminal.backend docker

Dengan begitu, semua yang dilakukan agen di terminal berlangsung di dalam sandbox terisolasi dan tidak dapat menjangkau server aktif. Ini perlindungan yang masuk akal saat Anda memberi agen kebebasan untuk bertindak sendiri.

Apa yang perlu dilakukan jika bot diam atau gateway mengalami crash?

Poin utama

Pertama, periksa status layanan dan log; penyebabnya paling sering adalah token bot, daftar akses, atau model. Jika seluruh proses benar-benar macet, layanan systemd memiliki timer pengawas yang memulai ulang gateway jika tidak lagi menunjukkan tanda-tanda aktif.

Saat bot berhenti merespons, ikuti urutan ini. Pertama, periksa cakupan yang Anda pasang: sudo hermes gateway status --system dan jurnal sistem untuk layanan sistem, atau hermes gateway status dan jurnal pengguna untuk layanan pengguna. Jika gateway berjalan tetapi pesan tidak diterima, hampir selalu penyebabnya adalah konfigurasi platform: token bot salah atau orang tersebut tidak ada dalam daftar akses. Jalankan hermes gateway setup lagi pada Hermes home yang sama, lalu periksa layanan yang dipilih dengan hermes gateway status --system untuk sistem atau hermes gateway status untuk pengguna. Setup yang berhasil bukan bukti bahwa gateway yang tepat sedang berjalan.

Jika model memberikan respons kosong atau aneh, periksa dengan hermes model dan konfirmasikan penyedia serta proses autentikasinya. Urutan pemulihan umum untuk kembali berfungsi dari keadaan “semuanya rusak” adalah: hermes doctor, hermes model, hermes setup, diikuti hermes gateway status --system untuk instalasi sistem atau hermes gateway status untuk instalasi pengguna.

Satu hal lagi untuk kasus langka tetapi menyebalkan ketika seluruh proses macet tanpa benar-benar mengalami crash. Layanan systemd memiliki timer pengawas: tambahkan baris ini ke ~/.hermes/config.yaml dan instal ulang layanan.

gateway:
  systemd_watchdog_seconds: 120
# Untuk layanan sistem VPS (Hermes home sama dengan instalasi awal):
sudo hermes gateway install --system --force
sudo hermes gateway status --system

Untuk layanan pengguna, regenerasi hanya cakupan itu dengan hermes gateway install --force dan periksa hermes gateway status. Pilih satu cakupan; jangan pasang keduanya untuk memperbaiki satu gateway.

Setelah itu, gateway secara berkala memberi sinyal kepada sistem, “Saya masih aktif,” dan jika sinyal berhenti, systemd akan memulai ulang proses secara otomatis. Fitur ini hanya berfungsi di Linux dengan systemd, dan hanya untuk proses yang macet. Timer pengawas tidak memengaruhi gangguan jaringan biasa antara server dan messenger.

Apa lagi yang sering ditanyakan orang tentang Hermes Agent di server?

Poin utama

Jawaban singkat untuk pertanyaan umum: apakah VPS memang diperlukan, apakah Anda bisa menjalankan beberapa bot di satu mesin, apakah server memerlukan antarmuka grafis, dan apa yang terjadi pada tugas terjadwal saat agen berada di server.

Pertanyaan yang sering diajukan

Apakah saya harus menggunakan VPS, atau komputer sendiri juga cukup?

Untuk operasi sepanjang waktu, Anda memerlukan mesin yang selalu menyala. Komputer sendiri hanya bisa digunakan jika Anda bersedia tidak pernah mematikannya. VPS lebih praktis: VPS selalu menyala dan tidak bergantung pada apakah Anda sedang bekerja atau tidur. Server Linux biasa sudah cukup—dukungan tingkat pertama dalam dokumentasi mencakup Linux, dan pengujian dilakukan pada instalasi Ubuntu yang baru.

Bisakah saya menjalankan beberapa bot di satu server?

Ya. Hermes memiliki profil, dan setiap profil memiliki layanannya sendiri. Perintah seperti <profile> gateway install membuat layanan terpisah bernama hermes-gateway-<profile>, dan layanan-layanan itu bekerja secara terpisah. Setiap profil memiliki pengaturan, token bot, dan memorinya sendiri.

Apakah server memerlukan monitor dan grafis?

Tidak. Server berjalan tanpa layar, dan Anda mengelolanya melalui SSH dari terminal. Otomatisasi browser biasanya tidak diperlukan untuk agen di server seperti ini, jadi jalankan installer dengan flag --skip-browser; langkah itu menghilangkan satu-satunya komponen berat yang memerlukan grafis.

Apakah tugas terjadwal tetap berjalan saat saya sedang tidak ada?

Ya, itulah tujuan memindahkannya ke server. Gateway yang sama menjalankan tugas terjadwal: gateway memeriksa jadwal sekali per menit dan menjalankan tugas saat waktunya tiba, lalu mengirimkan hasilnya ke obrolan yang sama. Karena gateway berjalan sepanjang waktu sebagai layanan, jadwal berjalan sendiri tanpa campur tangan Anda.

Apakah bot tetap berjalan setelah pembaruan dan reboot server?

Ya. Pengaturan, sesi, dan memori disimpan di folder ~/.hermes dan tidak hilang. Setelah reboot, layanan sistem (atau Docker dengan --restart unless-stopped) memulai gateway sendiri. Respons yang belum selesai akan dikirim setelah restart dan tidak ada yang hilang—meskipun jika respons sudah setengah terkirim saat crash terjadi, respons itu mungkin datang lagi dengan pemberitahuan kemungkinan duplikat.

Kenali Ailoot.

Rincian selengkapnya

Pertanyaan tentang Cara menjaga Hermes Agent tetap berjalan di server sepanjang waktu

Mengapa gateway terlihat berhenti setelah dipasang sebagai layanan sistem?

Pemeriksaan tanpa cakupan eksplisit dapat menyasar layanan berbeda. Gunakan hermes gateway status --system untuk instalasi sistem dan jurnal sistemnya; gunakan status tanpa flag serta jurnal pengguna hanya untuk layanan pengguna. Pertahankan Hermes home yang sama sepanjang proses.

Apakah layanan sistem VPS memerlukan loginctl linger?

Tidak. Linger digunakan untuk layanan systemd pengguna yang harus bertahan setelah logout dan dimulai saat boot. Layanan sistem sudah dimulai saat mesin boot; pilih satu cakupan instalasi dan ulangi pemeriksaan status serta respons bot setelah reboot.

Semua artikel