鉤子執行排序
鉤子執行排序(Hook Order)允許使用者自訂擴充功能的執行優先順序。在 SillyTavern 的擴充功能系統中,多個擴充功能可以註冊同一個事件鉤子(如訊息生成前、訊息生成後等),Hook Order 讓你控制這些鉤子的執行順序。
該功能作為內建擴充功能提供。
為什麼需要排序
擴充功能之間的依賴關係
當多個擴充功能同時監聽同一個事件時,它們的執行順序可能會影響最終結果。例如:
- 一個擴充功能負責翻譯使用者輸入,另一個擴充功能負責內容過濾——翻譯應該在過濾之前執行
- 一個擴充功能修改提示詞格式,另一個擴充功能新增額外上下文——格式化應該在新增上下文之後執行
- 記憶圖需要在多 Agent 編排之前完成記憶檢索
如果沒有明確的執行順序控制,擴充功能之間的互動可能產生不可預期的結果。
第三方擴充功能相容
Hook Order 支援第三方擴充功能的 ID 識別,你可以將第三方擴充功能納入排序管理,確保它們與內建擴充功能之間的執行順序符合預期。
上下移動排序介面
Hook Order 提供直覺的上下移動排序介面:
- 列出所有註冊了鉤子的擴充功能
- 透過上移/下移按鈕調整擴充功能的執行順序
- 排在列表上方的擴充功能優先執行
- 支援按訊息事件類型分別設定排序
設定持久化
排序設定會持久化儲存到設定中。重新啟動應用程式後,擴充功能的執行順序會按照你上次設定的順序恢復,無需重複設定。
相關功能
- 多 Agent 編排 — 編排器的多個 Agent 節點也有執行順序
- 記憶圖 — 記憶檢索的時機受鉤子順序影響