🤖HermesBlog
Hermes Official Tutorials · Parte 48/9/2026

Tutorial 4: Memperbarui & Menghapus Hermes

Tutorial 4: Updating & Uninstalling Hermes — easy-to-understand guide based on official docs

Hermes tutorial

Tutorial 4: Memperbarui & Menghapus Hermes

Selamat datang kembali di seri tutorial Hermes Agent kami! Pada bagian kali ini, kita akan membahas sesuatu yang pada akhirnya perlu diketahui oleh setiap pengguna: cara menjaga Hermes tetap terbaru dan cara mengucapkan selamat tinggal saat waktunya tiba. Tenang saja — ini jauh lebih sederhana dari yang terdengar.

Memperbarui Hermes: Hanya Satu Perintah

Cara termudah untuk memperbarui Hermes adalah dengan satu perintah:

hermes update

Selesai. Perintah ini melakukan semua pekerjaan berat untuk Anda. Perintah ini menarik kode terbaru dari cabang main, memperbarui dependensi Anda, dan bahkan menanyakan opsi konfigurasi baru apa pun yang ditambahkan sejak pembaruan terakhir Anda. Cukup rapi, bukan?

Apa yang Sebenarnya Terjadi Saat Pembaruan?

Anda mungkin bertanya-tanya apa yang terjadi di balik layar. Berikut rinciannya:

  1. Snapshot pra-pembaruan — Sebelum ada perubahan apa pun, Hermes menyimpan snapshot ringan dari file state penting Anda (data pairing, cron jobs, config.yaml, .env, dan lainnya). File di atas 1 GiB dilewati sehingga database besar tidak akan memperlambat proses. Snapshot ini diambil untuk setiap profil di instalasi Anda, masing-masing disimpan di direktori state-snapshots/ miliknya sendiri.

  2. Git pull — Hermes menarik kode terbaru dari cabang main dan memperbarui submodule.

  3. Validasi sintaks pasca-pull + rollback otomatis — Setelah menarik kode, Hermes memeriksa sembilan file kritis yang dibutuhkan setiap perintah saat startup. Jika ada file yang gagal diurai (seperti penanda konflik merge yang nyasar), Hermes secara otomatis melakukan rollback ke versi sebelumnya sehingga shell Anda tetap bisa boot. Anda tinggal menjalankan ulang hermes update setelah perbaikannya masuk ke upstream.

  4. Instalasi dependensi — Menjalankan uv pip install -e ".[all]" untuk mengambil dependensi baru atau yang berubah.

  5. Migrasi konfigurasi — Mendeteksi opsi konfigurasi baru dan meminta Anda untuk mengaturnya.

  6. Restart otomatis gateway — Gateway yang berjalan disegarkan sehingga kode baru langsung berlaku. Gateway yang dikelola layanan (systemd di Linux, launchd di macOS) di-restart melalui service manager, sementara gateway manual diluncurkan ulang secara otomatis.

Melewatkan Prompt Konfigurasi? Tidak Masalah!

Jika Anda melewatkan prompt konfigurasi saat pembaruan, Anda bisa mengejar ketinggalannya nanti:

hermes config check    # lihat apa yang kurang
hermes config migrate  # tambahkan secara interaktif

Memperbarui dari Cabang yang Berbeda

Secara default, hermes update melacak origin/main. Tetapi bagaimana jika Anda ingin menguji kandidat rilis atau cabang fitur? Gunakan flag --branch:

hermes update --branch release-candidate
hermes update --check --branch experimental   # hanya pratinjau seberapa jauh ketinggalan Anda

Jika checkout lokal Anda berada di cabang yang berbeda, Hermes secara otomatis menyimpan (stash) pekerjaan yang belum di-commit, berpindah ke cabang target, dan menarik kode. Cabang yang tidak ada secara lokal akan otomatis dilacak dari origin/<nama>. Jika cabang tidak ada di mana pun, perintah akan gagal dengan bersih dan memulihkan perubahan yang di-stash.

Bagaimana dengan Cabang yang Diparkir?

Jika checkout Anda berada di cabang fitur, hermes update menanganinya dengan cerdas:

  • Cabang yang sudah sepenuhnya di-merge — Hermes memberi tahu Anda bahwa cabang tersebut sudah sepenuhnya di-merge dan kembali ke main.
  • Commit yang belum di-merge, tree bersih — Hermes tetap beralih ke main agar pembaruan berjalan (penting untuk pemanggil non-interaktif seperti aplikasi desktop atau cron jobs). Commit Anda tidak tersentuh, dan Hermes mencetak notifikasi yang jelas dengan nama cabang dan cara kembali ke cabang tersebut.

Jika Anda sengaja memelihara patch khusus di sebuah cabang, atur ini di config.yaml:

updates:
  parked_branch_strategy: update_in_place

Ini akan me-merge origin/main ke dalam cabang Anda alih-alih berpindah menjauh. Fast-forward jika memungkinkan; jika terjadi divergensi, ini membuat tag pengaman dan berhenti dengan bersih saat konflik.

Perubahan Lokal Selama Pembaruan Non-Interaktif

Saat Anda menjalankan hermes update di terminal, Hermes menyimpan (stash) perubahan yang belum di-commit, menarik kode, lalu menanyakan apakah akan memulihkannya. Tetapi ketika pembaruan berjalan tanpa terminal (seperti dari aplikasi desktop), Hermes melewati pembaruan jika tree kotor — dengan peringatan yang jelas menyebutkan nama cabang dan seberapa jauh ketinggalannya. Tidak ada pura-pura pembaruan berhasil!

Menghapus Hermes

Saat tiba waktunya untuk berpisah, menghapus Hermes cukup mudah. Pastikan untuk memeriksa dokumentasi platform spesifik Anda untuk langkah-langkah penghapusan yang tepat, tetapi secara umum Anda perlu menghapus biner Hermes dan membersihkan direktori konfigurasi apa pun yang dibuatnya.

Penutup

Menjaga Hermes tetap terbaru sangat mudah dengan hermes update. Jaring pengaman bawaan — snapshot, rollback otomatis, dan penanganan cabang — berarti Anda bisa memperbarui dengan percaya diri. Dan jika Anda perlu berhenti, menghapusnya sama sederhananya.

Nantikan tutorial berikutnya di seri kami!

📖 Dokumentasi resmi

この記事は Hermes Agent のDokumentasi resmiに基づいています:Dokumentasi resmi › getting-started/updating