Tại sao bạn nên quan tâm đến Checkpoints
Tutorial 30: Checkpoints & Rollback — easy-to-understand guide based on official docs
Tại sao bạn nên quan tâm đến Checkpoints
Hãy tưởng tượng bạn nhờ Hermes refactor một đoạn code lớn, và giữa chừng, bạn nhận ra cách tiếp cận mới là một thảm họa. Không có checkpoints, bạn sẽ mắc kẹt trong việc tự tay hoàn tác các thay đổi hoặc lục lọi trong lịch sử git. Với checkpoints, bạn chỉ cần gõ /rollback và chọn một điểm khôi phục. Nó giống như một cỗ máy thời gian cho dự án của bạn.
Phần tuyệt nhất? Checkpoints hoàn toàn tùy chọn. Chúng bị tắt mặc định trong v2, vì vậy nếu bạn không bao giờ dùng chúng, bạn sẽ không bao giờ nhận ra chúng tồn tại. Nhưng khi bạn cần, chúng là một vị cứu tinh.
Bật Checkpoints
Bạn có hai cách để bật lưới an toàn này:
Theo phiên (chỉ riêng cuộc trò chuyện này):
hermes chat --checkpoints
Toàn cục (tất cả các phiên) — sửa ~/.hermes/config.yaml:
checkpoints:
enabled: true
Điều gì kích hoạt Checkpoint?
Hermes tự động chụp ảnh nhanh dự án của bạn trước bất kỳ thao tác phá hủy nào, bao gồm:
- Công cụ tệp —
write_filevàpatch - Lệnh terminal nguy hiểm —
rm,rmdir,cp,mv,sed -i,truncate,dd,shred, chuyển hướng đầu ra (>), vàgit reset/clean/checkout
Để tránh spam, Hermes tạo tối đa một checkpoint cho mỗi thư mục trong mỗi lượt. Vì vậy, một phiên dài sẽ không làm đầy ổ đĩa của bạn với hàng trăm ảnh chụp nhanh.
Phép thuật đằng sau hậu trường
Đây là phần thông minh: Hermes sử dụng một kho git ẩn dùng chung duy nhất được lưu tại ~/.hermes/checkpoints/store/. Thư mục .git thực sự của dự án của bạn không bao giờ bị đụng tới. Mọi dự án chia sẻ một kho lưu trữ này, và hệ thống định địa chỉ nội dung của git tự động khử trùng lặp các tệp trên các dự án. Vì vậy, nếu hai dự án có các tệp tương tự, chúng chỉ được lưu trữ một lần.
Sử dụng /rollback Trong Phiên
Khi checkpoints được bật, bạn có thể sử dụng các lệnh gạch chéo này trong cuộc trò chuyện:
| Lệnh | Chức năng |
|---|---|
/rollback |
Liệt kê tất cả các checkpoint 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 (cũng hoàn tác lượt trò chuyện cuối) |
/rollback <N> --all |
Khôi phục hoàn toàn — ghi đè cả các chỉnh sửa tay của bạn |
/rollback diff <N> |
Xem trước sự khác biệt giữa checkpoint N và trạng thái hiện tại |
/rollback <N> <file> |
Chỉ khôi phục một tệp từ checkpoint N |
Khi bạn gõ /rollback, bạn sẽ thấy một cái gì đó như:
📸 Checkpoints cho /path/to/project:
1. 4270a8c 2026-03-16 04:36 trước patch (1 tệp, +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 tệp, +1/-1)
Quản lý Kho Lưu Trữ từ Shell
Bên ngoài phiên làm việc, bạn có thể kiểm tra và dọn dẹp kho checkpoint:
hermes checkpoints # Hiển thị tổng dung lượng, số dự án, phân tích chi tiết
hermes checkpoints status # Giống như trên
hermes checkpoints list # Bí danh cho status
hermes checkpoints prune # Dọn dẹp cưỡng bức: xóa mồ côi, dọn rác, áp dụng giới hạn dung lượng
hermes checkpoints clear # Xóa toàn bộ kho checkpoint (hỏi trước)
hermes checkpoints clear-legacy # Chỉ xóa các kho lưu trữ di cư v1
Tinh chỉnh Cấu hình
Bạn có thể kiểm soát mọi thứ 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 cho mỗi dự án
max_total_size_mb: 500 # giới hạn cứng về tổng dung lượng kho
max_file_size_mb: 10 # bỏ qua các tệp lớn hơn mức này
auto_prune: true # tự động dọn dẹp các mục cũ khi khởi động
retention_days: 7 # giữ các mục được truy cập trong số ngày này
min_interval_hours: 24 # dọn dẹp tối đa một lần trong khoảng thời gian này
Một chi tiết thông minh: auto-prune không bao giờ xóa các mục mồ côi (các dự án có thư mục làm việc không còn tồn tại). Điều đó bởi vì một thư mục bị thiếu có thể chỉ đơn giản là một ổ đĩa ngoài chưa được gắn hoặc VPN chưa kết nối. Việc dọn dẹp mồ côi chỉ xảy ra thông qua lệnh tường minh hermes checkpoints prune, lệnh này yêu cầu xác nhận trước.
Khi nào bạn nên bật nó?
Nếu bạn đang làm công việc thử nghiệm, refactor lớn, hoặc đang học Hermes, hãy bật checkpoints. Chi phí lưu trữ khá khiêm tốn (nhờ khử trùng lặp), và sự yên tâm là rất lớn. Nếu bạn chỉ làm các tác vụ đơn giản, an toàn, hãy tắt nó đi và tiết kiệm dung lượng ổ đĩa.
Checkpoints là một trong những tính năng mà bạn sẽ quên đi — cho đến thời điểm bạn cần chúng một cách tuyệt vọng. Và khi thời điểm đó đến, bạn sẽ mừng vì chúng ở đó.
📖 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/checkpoints-and-rollback