Checkpoints và `/rollback` — Tấm Lưới An Toàn Cho Dự Án Của Bạn
Built-in Plugins — Ready-to-Use Enhancements — easy-to-understand guide based on official docs (updated 2026-08-09)
Checkpoints và /rollback — Tấm Lưới An Toàn Cho Dự Án Của Bạn
Bạn đã bao giờ nhìn một AI agent thực hiện thay đổi và nghĩ: “Khoan đã, mình đâu có ý định làm vậy”? Ai trong chúng ta cũng từng gặp tình huống đó. Đó là lý do Hermes Agent giờ đây có một tấm lưới an toàn tích hợp sẵn: checkpoints. Hãy nghĩ về chúng như các điểm lưu trong game — ảnh chụp nhanh dự án của bạn trước các thao tác rủi ro, sẵn sàng khôi phục chỉ với một lệnh duy nhất.
Checkpoints Là Gì?
Checkpoints là ảnh chụp nhanh tự động của dự án, được tạo trước các thao tác phá hủy. Nếu agent sắp xóa file, ghi đè code, hoặc chạy các lệnh terminal nguy hiểm, nó sẽ lưu lại trạng thái hiện tại trước tiên. Sau đó, bạn có thể quay lại bất kỳ ảnh chụp nào trong số này.
Phần tuyệt nhất? Lịch sử .git thật của dự án bạn không bao giờ bị đụng tới. Hermes sử dụng một kho lưu trữ ẩn dùng chung tại ~/.hermes/checkpoints/store/ — một git repository riêng biệt giúp tổ chức và khử trùng lặp dữ liệu trên mọi dự án.
Bắt Đầu: Kích Hoạt Checkpoints
Checkpoints là tính năng tùy chọn kể từ phiên bản v2. Hầu hết người dùng không bao giờ cần đến chúng, và dung lượng lưu trữ có thể tăng theo thời gian, nên mặc định là tắt.
Kích hoạt cho một phiên làm việc:
hermes chat --checkpoints
Hoặc kích hoạt toàn cục trong ~/.hermes/config.yaml:
checkpoints:
enabled: true
Khi Nào Hermes Tạo Checkpoint?
Hermes tự động chụp ảnh nhanh trước khi:
- Các công cụ file —
write_filevàpatch - Các lệnh terminal phá hủy —
rm,rmdir,cp,install,mv,sed -i,truncate,dd,shred, chuyển hướng đầu ra (>), vàgit reset/clean/checkout
Đừng lo về việc bị spam — agent chỉ tạo tối đa một checkpoint cho mỗi thư mục trong mỗi lượt, nên các phiên làm việc dài vẫn gọn gàng.
Sử Dụng /rollback Trong Phiên Làm Việc
Khi checkpoints được kích hoạt, bạn có các lệnh gạch chéo mạnh mẽ ngay trong khung chat:
| Lệnh | Chức Năng |
|---|---|
/rollback |
Liệt kê tất cả checkpoints kèm thống kê thay đổi |
/rollback <N> |
Khôi phục về checkpoint N, giữ nguyên các chỉnh sửa tay của bạn |
/rollback <N> --all |
Khôi phục toàn bộ — ghi đè cả chỉnh sửa tay của bạn |
/rollback diff <N> |
Xem trước thay đổi giữa checkpoint N và hiện tại |
/rollback <N> <file> |
Khôi phục một file duy nhất từ checkpoint N |
Đây là giao diện khi liệt kê checkpoints:
📸 Checkpoints cho /path/to/project:
1. 4270a8c 2026-03-16 04:36 trước patch (1 file, +1/-0)
2. eaf4c1f 2026-03-16 04:35 trước write_file
3. b3f9d2e 2026-03-16 04:34 trước terminal: sed -i s/old/new/ config.py (1 file, +1/-1)
/rollback <N> khôi phục về checkpoint N (giữ chỉnh sửa tay của bạn)
/rollback <N> --all khôi phục toàn bộ, ghi đè cả chỉnh sửa tay
/rollback diff <N> xem trước thay đổi từ checkpoint N
/rollback <N> <file> khôi phục một file từ checkpoint N
Quản Lý Kho Lưu Trữ Từ Shell
Bên ngoài phiên làm việc, dùng CLI để kiểm tra và quản lý kho checkpoint của bạn:
hermes checkpoints # Hiển thị dung lượng, số dự án, phân tích chi tiết
hermes checkpoints status # Tương tự như trên
hermes checkpoints list # Bí danh cho status
hermes checkpoints prune # Dọn dẹp cưỡng bức: dữ liệu mồ côi, dữ liệu cũ, giới hạn dung lượng
hermes checkpoints clear # Xóa tất cả (có hỏi trước)
hermes checkpoints clear-legacy # Xóa các kho lưu trữ chuyển đổi v1 cũ
Ví dụ đầu ra:
Checkpoint base: /home/you/.hermes/checkpoints
Tổng dung lượng: 142.3 MB
store/ 138.1 MB
legacy-* 4.2 MB
Số dự án: 12
WORKDIR COMMITS LẦN CHẠM CUỐI TRẠNG THÁI
/home/you/code/hermes-agent 20 2h trước live
/home/you/code/experiments/rl-runner 8 1d trước live
/home/you/code/old-prototype 3 9d trước orphan
Tùy Chọn Cấu Hình
Tinh chỉnh checkpoints trong ~/.hermes/config.yaml:
checkpoints:
enabled: false # công tắc chính (mặc định: false)
max_snapshots: 20 # số checkpoint tối đa mỗi dự án
max_total_size_mb: 500 # giới hạn cứng tổng dung lượng lưu trữ
max_file_size_mb: 10 # bỏ qua các file lớn hơn mức này
# Tự động bảo trì (bật mặc định)
auto_prune: true
retention_days: 7
min_interval_hours: 24
Muốn tắt toàn bộ?
checkpoints:
enabled: false
auto_prune: false
Cách Hoạt Động Bên Trong
Khi Hermes phát hiện một công cụ sắp sửa đổi file, nó sẽ:
- Xác định thư mục gốc của dự án cho file đó
- Khởi tạo hoặc tái sử dụng kho lưu trữ ẩn dùng chung
- Stage các thay đổi, xây dựng cây thư mục, và commit vào một ref riêng cho từng dự án (
refs/hermes/<project-hash>)
Các ref này tạo thành lịch sử checkpoint của bạn, sẵn sàng để kiểm tra và khôi phục qua /rollback.
Lời Kết
Checkpoints mang lại cho bạn sự an tâm khi để agent làm việc trên code của mình. Dù bạn đang thử nghiệm, tái cấu trúc, hay chỉ đơn giản muốn một tấm lưới an toàn, /rollback luôn bảo vệ bạn. Kích hoạt nó, quên nó đi, và yên tâm rằng bạn luôn có thể hoàn tác.
Chúc bạn code vui — và hãy nhớ, điểm lưu tồn tại là có lý do!
📖 Tài liệu chính thức
この記事は Hermes Agent のTài liệu chính thứcに基づいています:Tài liệu chính thức › user-guide/features/plugins