钩子执行排序
钩子执行排序(Hook Order)允许用户自定义扩展的执行优先级。在 SillyTavern 的扩展系统中,多个扩展可以注册同一个事件钩子(如消息生成前、消息生成后等),Hook Order 让你控制这些钩子的执行顺序。
该功能作为内置扩展提供。
为什么需要排序
扩展之间的依赖关系
当多个扩展同时监听同一个事件时,它们的执行顺序可能会影响最终结果。例如:
- 一个扩展负责翻译用户输入,另一个扩展负责内容过滤——翻译应该在过滤之前执行
- 一个扩展修改提示词格式,另一个扩展添加额外上下文——格式化应该在添加上下文之后执行
- 记忆图需要在多Agent编排之前完成记忆检索
如果没有明确的执行顺序控制,扩展之间的交互可能产生不可预期的结果。
第三方扩展兼容
Hook Order 支持第三方扩展的 ID 识别,你可以将第三方扩展纳入排序管理,确保它们与内置扩展之间的执行顺序符合预期。
上下移动排序界面
Hook Order 提供直观的上下移动排序界面:
- 列出所有注册了钩子的扩展
- 通过上移/下移按钮调整扩展的执行顺序
- 排在列表上方的扩展优先执行
- 支持按消息事件类型分别配置排序
配置持久化
排序配置会持久化保存到设置中。重启应用后,扩展的执行顺序会按照你上次配置的顺序恢复,无需重复设置。