Skip to content

钩子执行排序

钩子执行排序(Hook Order)允许用户自定义扩展的执行优先级。在 SillyTavern 的扩展系统中,多个扩展可以注册同一个事件钩子(如消息生成前、消息生成后等),Hook Order 让你控制这些钩子的执行顺序。

该功能作为内置扩展提供。

为什么需要排序

扩展之间的依赖关系

当多个扩展同时监听同一个事件时,它们的执行顺序可能会影响最终结果。例如:

  • 一个扩展负责翻译用户输入,另一个扩展负责内容过滤——翻译应该在过滤之前执行
  • 一个扩展修改提示词格式,另一个扩展添加额外上下文——格式化应该在添加上下文之后执行
  • 记忆图需要在多Agent编排之前完成记忆检索

如果没有明确的执行顺序控制,扩展之间的交互可能产生不可预期的结果。

第三方扩展兼容

Hook Order 支持第三方扩展的 ID 识别,你可以将第三方扩展纳入排序管理,确保它们与内置扩展之间的执行顺序符合预期。

上下移动排序界面

Hook Order 提供直观的上下移动排序界面:

  • 列出所有注册了钩子的扩展
  • 通过上移/下移按钮调整扩展的执行顺序
  • 排在列表上方的扩展优先执行
  • 支持按消息事件类型分别配置排序

配置持久化

排序配置会持久化保存到设置中。重启应用后,扩展的执行顺序会按照你上次配置的顺序恢复,无需重复设置。

相关功能

  • 多Agent编排 — 编排器的多个 Agent 节点也有执行顺序
  • 记忆图 — 记忆检索的时机受钩子顺序影响

Built upon SillyTavern