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)
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 file —
write_filedanpatch - Perintah terminal destruktif —
rm,rmdir,cp,install,mv,sed -i,truncate,dd,shred, pengalihan output (>), dangit 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:
- Menentukan akar proyek untuk file tersebut
- Menginisialisasi atau menggunakan kembali penyimpanan bayangan bersama
- 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