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

Tại sao bạn nên quan tâm đến Checkpoints

Tutorial 30: Checkpoints & Rollback — easy-to-understand guide based on official docs

Hermes tutorial

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ệpwrite_filepatch
  • Lệnh terminal nguy hiểmrm, 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