掛鉤機制
這是什麼
Hermes 如何在代理生命週期中觸發自訂回呼,讓使用者在關鍵事件注入邏輯。
白話解釋
想像在生產線上的每個關鍵站點都有一個按鈕——在零件進入烤爐之前、在包裝之前、在出貨之前——你可以按下按鈕插入自己的檢查或修改。掛鉤機制正是如此:它們是在 Hermes 代理生命週期中特定點觸發的回呼,讓你可以自訂行為,而無需修改 Hermes 的核心。
為什麼重要
每個人使用 Hermes 的方式都略有不同。掛鉤機制提供了一個可擴展的方式來加入自訂行為——日誌記錄、驗證、通知——而無需修改原始碼。這讓 Hermes 可以針對你的特定需求進行調整,同時保持核心乾淨且可維護。
運作方式
掛鉤是註冊在特定事件上的函數。可用的掛鉤點包括:工具呼叫前(PreToolUse)、工具呼叫後(PostToolUse)、對話開始時(SessionStart)、對話結束時(SessionEnd)等。當事件發生時,Hermes 會依序執行所有為該事件註冊的掛鉤。掛鉤可以修改資料(例如在寫入前修改檔案內容)、阻止操作(如果不滿足某個條件)或觸發副作用(例如發送通知)。
具體範例
你希望在每次代理寫入重要檔案時收到通知。
- 你建立一個 PostToolUse 掛鉤,檢查工具是否為 write_file。
- 當代理寫入檔案時,掛鉤觸發。
- 掛鉤擷取檔案路徑和大小。
- 它透過 Discord webhook 向你發送通知:「代理已更新 /path/to/important-file.md(2.3KB)」。
- 你隨時掌握檔案變更情況,無需主動檢查。
如何連結
本筆記屬於開發系列。最鄰近的概念包括:核准邊界、代理執行環境、事件驅動代理。
來源證據
hooks.py#HookRegistry— 管理掛鉤註冊與執行的核心登錄檔。hooks.py#PreToolUse、hooks.py#PostToolUse— 各種掛鉤點的實作。
工作流程
- 尚無首次工作流程對應;此概念仍透過文章與來源證據存在於筆記庫圖譜中。
相關文章
- 目前暫無文章以此概念名稱或別名達到引用門檻(請參閱提及-挖掘政策)。