🤖HermesBlog
Hermes Feature Guides · Parte 108/9/2026

Checkpoint dan `/rollback` — Jaring Pengaman Proyek Anda

Built-in Plugins — Ready-to-Use Enhancements — easy-to-understand guide based on official docs (updated 2026-08-09)

hermes-feature-10-builtin-plugins

Checkpoint dan /rollback — Jaring Pengaman Proyek Anda

Pernah melihat agen AI melakukan perubahan dan berpikir, “Tunggu, aku tidak bermaksud melakukan itu”? Kita semua pernah mengalaminya. Karena itulah Hermes Agent kini dilengkapi jaring pengaman bawaan: checkpoint. Anggap saja seperti titik simpan di video game — cuplikan proyek Anda yang diambil sebelum operasi berisiko, siap dipulihkan dengan satu perintah.

Apa Itu Checkpoint?

Checkpoint adalah cuplikan otomatis proyek Anda yang diambil sebelum operasi destruktif. Jika agen hendak menghapus file, menimpa kode, atau menjalankan perintah terminal berisiko, ia terlebih dahulu menyimpan kondisi saat ini. Nanti, Anda bisa memutar balik ke salah satu cuplikan tersebut.

Bagian terbaiknya? Riwayat .git proyek asli Anda tidak akan pernah tersentuh. Hermes menggunakan penyimpanan bayangan bersama di ~/.hermes/checkpoints/store/ — repositori git terpisah yang menjaga semuanya tetap terorganisir dan terdeduplikasi antar proyek.

Memulai: Aktifkan Checkpoint

Checkpoint bersifat opsional sejak v2. Kebanyakan pengguna tidak pernah membutuhkannya, dan penyimpanan bisa bertambah seiring waktu, jadi default-nya nonaktif.

Aktifkan untuk satu sesi:

hermes chat --checkpoints

Atau aktifkan secara global di ~/.hermes/config.yaml:

checkpoints:
  enabled: true

Kapan Hermes Mengambil Checkpoint?

Hermes secara otomatis mengambil cuplikan sebelum:

  • Alat filewrite_file dan patch
  • Perintah terminal destruktifrm, rmdir, cp, install, mv, sed -i, truncate, dd, shred, pengalihan output (>), dan git reset/clean/checkout

Jangan khawatir soal spam — agen membuat maksimal satu checkpoint per direktori per giliran, jadi sesi panjang tetap bersih.

Menggunakan /rollback Dalam Sesi

Setelah checkpoint diaktifkan, Anda mendapatkan perintah slash yang powerful langsung di chat:

Perintah Fungsinya
/rollback Menampilkan semua checkpoint dengan statistik perubahan
/rollback <N> Memulihkan ke checkpoint N, tetap menyimpan edit manual Anda
/rollback <N> --all Pemulihan penuh — menimpa edit manual Anda juga
/rollback diff <N> Pratinjau perubahan antara checkpoint N dan sekarang
/rollback <N> <file> Memulihkan satu file dari checkpoint N

Berikut tampilan daftar checkpoint:

📸 Checkpoint untuk /path/to/project:

  1. 4270a8c  2026-03-16 04:36  sebelum patch  (1 file, +1/-0)
  2. eaf4c1f  2026-03-16 04:35  sebelum write_file
  3. b3f9d2e  2026-03-16 04:34  sebelum terminal: sed -i s/old/new/ config.py  (1 file, +1/-1)

  /rollback <N>             pulihkan ke checkpoint N (menyimpan edit manual Anda)
  /rollback <N> --all       pemulihan penuh, menimpa edit manual Anda juga
  /rollback diff <N>        pratinjau perubahan sejak checkpoint N
  /rollback <N> <file>      pulihkan satu file dari checkpoint N

Mengelola Penyimpanan dari Shell

Di luar sesi, gunakan CLI untuk memeriksa dan mengelola penyimpanan checkpoint Anda:

hermes checkpoints              # Tampilkan ukuran, jumlah proyek, rincian
hermes checkpoints status       # Sama seperti di atas
hermes checkpoints list         # Alias untuk status
hermes checkpoints prune        # Bersihkan paksa: yatim, data basi, batas ukuran
hermes checkpoints clear        # Hapus semuanya (meminta konfirmasi dulu)
hermes checkpoints clear-legacy # Hapus arsip migrasi v1 lama

Contoh keluaran:

Basis checkpoint: /home/you/.hermes/checkpoints
Total ukuran:     142.3 MB
  store/         138.1 MB
  legacy-*       4.2 MB
Proyek:        12

  WORKDIR                                                       COMMITS    SENTUHAN TERAKHIR  STATUS
  /home/you/code/hermes-agent                                        20       2 jam lalu  aktif
  /home/you/code/experiments/rl-runner                                8       1 hari lalu  aktif
  /home/you/code/old-prototype                                        3       9 hari lalu  yatim

Opsi Konfigurasi

Sesuaikan checkpoint di ~/.hermes/config.yaml:

checkpoints:
  enabled: false              # saklar utama (default: false)
  max_snapshots: 20           # maksimum checkpoint per proyek
  max_total_size_mb: 500      # batas keras total ukuran penyimpanan
  max_file_size_mb: 10        # lewati file yang lebih besar dari ini

  # Pemeliharaan otomatis (aktif secara default)
  auto_prune: true
  retention_days: 7
  min_interval_hours: 24

Ingin menonaktifkan semuanya?

checkpoints:
  enabled: false
  auto_prune: false

Cara Kerjanya di Balik Layar

Ketika Hermes mendeteksi alat yang akan memodifikasi file, ia:

  1. Menentukan akar proyek untuk file tersebut
  2. Menginisialisasi atau menggunakan kembali penyimpanan bayangan bersama
  3. Menyiapkan perubahan, membangun pohon, dan melakukan commit ke ref per-proyek (refs/hermes/<project-hash>)

Ref ini membentuk riwayat checkpoint Anda, siap untuk diperiksa dan dipulihkan melalui /rollback.

Penutup

Checkpoint memberi Anda ketenangan pikiran saat membiarkan agen bekerja pada kode Anda. Baik Anda sedang bereksperimen, refactoring, atau sekadar ingin jaring pengaman, /rollback siap membantu. Aktifkan, lupakan, dan beristirahatlah dengan tenang karena tahu Anda selalu bisa membatalkan.

Selamat coding — dan ingat, titik simpan ada untuk alasan tertentu!

📖 Dokumentasi resmi

この記事は Hermes Agent のDokumentasi resmiに基づいています:Dokumentasi resmi › user-guide/features/plugins