Hướng dẫn 4: Cập nhật & Gỡ cài đặt Hermes
Tutorial 4: Updating & Uninstalling Hermes — easy-to-understand guide based on official docs
Hướng dẫn 4: Cập nhật & Gỡ cài đặt Hermes
Chào mừng bạn quay trở lại với chuỗi hướng dẫn về Hermes Agent! Trong phần này, chúng ta sẽ nói về điều mà mọi người dùng cuối cùng đều cần biết: cách giữ cho Hermes luôn mới và cách nói lời tạm biệt khi đã đến lúc. Đừng lo — việc này đơn giản hơn bạn tưởng rất nhiều.
Cập nhật Hermes: Chỉ Một Lệnh
Cách dễ nhất để cập nhật Hermes là dùng một lệnh duy nhất:
hermes update
Chỉ vậy thôi. Lệnh này làm hết mọi việc nặng nhọc cho bạn. Nó kéo mã mới nhất từ nhánh main, cập nhật các dependency, và thậm chí còn hỏi bạn về các tùy chọn cấu hình mới được thêm vào kể từ lần cập nhật trước. Khá tiện lợi phải không?
Điều Gì Thực Sự Xảy Ra Khi Cập Nhật?
Bạn có thể đang thắc mắc điều gì diễn ra đằng sau hậu trường. Đây là chi tiết:
-
Ảnh chụp trước khi cập nhật — Trước khi bất cứ thứ gì thay đổi, Hermes lưu một ảnh chụp nhẹ các file trạng thái quan trọng của bạn (dữ liệu ghép cặp, cron jobs,
config.yaml,.env, và nhiều thứ khác). Các file lớn hơn 1 GiB sẽ bị bỏ qua để database khổng lồ không làm chậm hệ thống. Ảnh chụp này được tạo cho mọi profile trên bản cài đặt của bạn, mỗi profile được lưu trong thư mụcstate-snapshots/riêng. -
Git pull — Hermes kéo mã mới nhất từ nhánh
mainvà cập nhật các submodule. -
Kiểm tra cú pháp sau pull + tự động rollback — Sau khi pull, Hermes kiểm tra chín file quan trọng mà mọi lệnh cần khi khởi động. Nếu bất kỳ file nào không phân tích được (như dấu merge-conflict còn sót lại), Hermes tự động rollback về phiên bản trước đó để shell của bạn vẫn khởi động được. Bạn chỉ cần chạy lại
hermes updatekhi bản sửa lỗi được đẩy lên upstream. -
Cài đặt dependency — Chạy
uv pip install -e ".[all]"để lấy các dependency mới hoặc đã thay đổi. -
Di chuyển cấu hình — Phát hiện các tùy chọn cấu hình mới và nhắc bạn thiết lập chúng.
-
Tự động khởi động lại gateway — Các gateway đang chạy được làm mới để mã mới có hiệu lực ngay lập tức. Gateway do service quản lý (systemd trên Linux, launchd trên macOS) khởi động lại qua service manager, còn gateway thủ công được khởi động lại tự động.
Bỏ Qua Lời Nhắc Cấu Hình? Không Vấn Đề!
Nếu bạn bỏ qua lời nhắc cấu hình trong lúc cập nhật, bạn có thể bù lại sau:
hermes config check # xem những gì còn thiếu
hermes config migrate # thêm chúng một cách tương tác
Cập Nhật Từ Nhánh Khác
Mặc định, hermes update theo dõi origin/main. Nhưng nếu bạn muốn thử nghiệm bản release candidate hoặc một nhánh tính năng thì sao? Dùng cờ --branch:
hermes update --branch release-candidate
hermes update --check --branch experimental # chỉ xem trước bạn đang tụt lại bao xa
Nếu bản checkout cục bộ của bạn đang ở một nhánh khác, Hermes tự động stash các thay đổi chưa commit, chuyển sang nhánh mục tiêu, và pull. Các nhánh không tồn tại ở local sẽ được tự động theo dõi từ origin/<tên>. Nếu một nhánh không tồn tại ở bất kỳ đâu, lệnh sẽ thất bại sạch sẽ và khôi phục lại các thay đổi đã stash của bạn.
Còn Các Nhánh Đang Đậu Thì Sao?
Nếu checkout của bạn đang ở một nhánh tính năng, hermes update xử lý thông minh:
- Nhánh đã merge hoàn toàn — Hermes báo cho bạn biết nó đã được merge hoàn toàn và chuyển về
main. - Commit chưa merge, cây sạch — Hermes vẫn chuyển sang
mainđể quá trình cập nhật diễn ra (quan trọng cho các caller không tương tác như desktop app hoặc cron jobs). Các commit của bạn không bị đụng đến, và Hermes in ra thông báo to rõ với tên nhánh và cách quay lại nhánh đó.
Nếu bạn cố ý duy trì các bản vá tùy chỉnh trên một nhánh, hãy đặt trong config.yaml:
updates:
parked_branch_strategy: update_in_place
Cách này merge origin/main vào nhánh của bạn thay vì chuyển đi nơi khác. Fast-forward khi có thể; khi phân kỳ, nó tạo một tag an toàn và dừng lại sạch sẽ khi xung đột.
Thay Đổi Cục Bộ Khi Cập Nhật Không Tương Tác
Khi bạn chạy hermes update trong terminal, Hermes stash các thay đổi chưa commit, pull, rồi hỏi bạn có muốn khôi phục chúng không. Nhưng khi cập nhật chạy không có terminal (như từ desktop app), Hermes bỏ qua cập nhật nếu cây đang bẩn — kèm cảnh báo to rõ nêu tên nhánh và mức độ tụt lại bao xa. Không giả vờ rằng cập nhật đã thành công!
Gỡ Cài Đặt Hermes
Khi đã đến lúc chia tay, việc gỡ cài đặt khá đơn giản. Hãy chắc chắn kiểm tra tài liệu cụ thể cho nền tảng của bạn để biết các bước gỡ bỏ chính xác, nhưng nhìn chung bạn sẽ cần xóa binary Hermes và dọn dẹp các thư mục cấu hình mà nó đã tạo.
Tổng Kết
Giữ Hermes luôn được cập nhật thật dễ dàng với hermes update. Các lưới an toàn được tích hợp sẵn — ảnh chụp, tự động rollback, và xử lý nhánh — giúp bạn cập nhật một cách tự tin. Và nếu bạn cần rời đi, việc gỡ cài đặt cũng đơn giản không kém.
Hãy đón chờ hướng dẫn tiếp theo trong chuỗi bài của chúng tôi nhé!
📖 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 › getting-started/updating