Chuyển tới nội dung chính

Plugin tích hợp sẵn

Hermes đi kèm một bộ nhỏ các plugin được đóng gói trong repository. Chúng nằm trong <repo>/plugins/<name>/ và tải tự động cùng các plugin do người dùng cài đặt trong ~/.hermes/plugins/. Chúng dùng cùng bề mặt plugin như plugin bên thứ ba — hooks, tools, slash commands — chỉ được bảo trì in-tree.

Xem trang Plugins cho hệ thống plugin chung, và Xây dựng Plugin Hermes để viết plugin riêng.

Cơ chế khám phá

PluginManager quét bốn nguồn, theo thứ tự:

  1. Đóng gói sẵn<repo>/plugins/<name>/ (nội dung trang này)
  2. Người dùng~/.hermes/plugins/<name>/
  3. Dự án./.hermes/plugins/<name>/ (yêu cầu HERMES_ENABLE_PROJECT_PLUGINS=1)
  4. Pip entry pointshermes_agent.plugins

Khi trùng tên, nguồn sau thắng — plugin người dùng tên disk-cleanup sẽ thay thế plugin đóng gói sẵn.

plugins/memory/plugins/context_engine/ được cố ý loại trừ khỏi quét đóng gói. Các thư mục đó dùng đường dẫn khám phá riêng vì memory providers và context engines là single-select providers được cấu hình qua hermes memory setup / context.engine trong config.

Plugin đóng gói là opt-in

Plugin đóng gói mặc định tắt. Discovery tìm thấy chúng (xuất hiện trong hermes plugins list và UI hermes plugins), nhưng không tải cho đến khi bạn bật rõ ràng:

hermes plugins enable disk-cleanup

Hoặc qua ~/.hermes/config.yaml:

plugins:
enabled:
- disk-cleanup

Đây là cơ chế giống plugin người dùng cài đặt. Plugin đóng gói không bao giờ tự động bật — không khi cài mới, không khi nâng cấp Hermes.

Để tắt lại:

hermes plugins disable disk-cleanup
# hoặc: xóa khỏi plugins.enabled trong config.yaml

disk-cleanup

Tự động theo dõi và xóa file tạm được tạo trong phiên — test scripts, temp outputs, cron logs, stale chrome profiles — mà không cần agent nhớ gọi tool.

Cách hoạt động:

HookHành vi
post_tool_callKhi write_file / terminal / patch tạo file khớp test_*, tmp_*, hoặc *.test.* trong HERMES_HOME hoặc /tmp/hermes-*, theo dõi im lặng là test / temp / cron-output.
on_session_endNếu có file test được theo dõi trong turn, chạy cleanup quick an toàn và log tóm tắt một dòng.

Quy tắc xóa:

Danh mụcNgưỡngXác nhận
testmỗi session endKhông
temp>7 ngày từ khi theo dõiKhông
cron-output>14 ngày từ khi theo dõiKhông
Thư mục rỗng trong HERMES_HOMEluônKhông
research>30 ngày, ngoài 10 mới nhấtLuôn (chỉ deep)
chrome-profile>14 ngày từ khi theo dõiLuôn (chỉ deep)
File >500 MBkhông tự độngLuôn (chỉ deep)

Slash command/disk-cleanup có sẵn trong cả CLI và gateway sessions:

/disk-cleanup status                     # phân tích + top-10 lớn nhất
/disk-cleanup dry-run # xem trước không xóa
/disk-cleanup quick # chạy cleanup an toàn ngay
/disk-cleanup deep # quick + liệt kê mục cần xác nhận
/disk-cleanup track <path> <category> # theo dõi thủ công
/disk-cleanup forget <path> # ngừng theo dõi (không xóa)

State — mọi thứ nằm trong $HERMES_HOME/disk-cleanup/:

FileNội dung
tracked.jsonPaths được theo dõi với category, size, và timestamp
tracked.json.bakBackup atomic-write
cleanup.logAudit trail append-only của mọi track / skip / reject / delete

An toàn — cleanup chỉ chạm paths trong HERMES_HOME hoặc /tmp/hermes-*. Windows mounts (/mnt/c/...) bị từ chối. Thư mục state cấp cao (logs/, memories/, sessions/, cron/, cache/, skills/, plugins/, disk-cleanup/) không bao giờ bị xóa ngay cả khi rỗng.

Bật: hermes plugins enable disk-cleanup

Tắt: hermes plugins disable disk-cleanup

Viết plugin đóng gói riêng

Plugin đóng gói được viết giống plugin Hermes thông thường — xem Xây dựng Plugin Hermes. Khác biệt duy nhất:

  • Thư mục nằm trong <repo>/plugins/<name>/ thay vì ~/.hermes/plugins/<name>/
  • Nguồn manifest được báo cáo là bundled trong hermes plugins list
  • Plugin người dùng cùng tên ghi đè phiên bản đóng gói

Plugin phù hợp để đóng gói khi:

  • Không có dependencies tùy chọn (hoặc đã là deps của pip install .[all])
  • Hành vi có lợi cho hầu hết người dùng và là opt-out thay vì opt-in
  • Logic gắn vào lifecycle hooks mà agent không cần nhớ gọi
  • Bổ sung khả năng cốt lõi mà không mở rộng bề mặt tool cho model

Ví dụ ngược — nên giữ là plugin cài đặt riêng: tích hợp bên thứ ba với API keys, workflow ngách, dependency trees lớn, bất cứ gì thay đổi đáng kể hành vi agent mặc định.