调度规则配置
调度规则决定了 Kirara AI 如何处理接收到的消息,简单来说,就是告诉 Kirara AI 收到什么消息后,应该做什么。
规则组成
每条调度规则由以下几个关键部分组成:
- 触发条件:什么情况下这条规则会生效?例如,消息以特定文字开头、包含某些关键词等等。
- 目标工作流:规则生效后,Kirara AI 会执行哪个工作流?工作流可以理解为一系列预设好的操作流程。
- 优先级:当多条规则同时满足条件时,哪条规则先执行?
- 启用状态:这条规则是否生效?可以随时启用或禁用。
添加规则
- 在 WebUI 的调度规则页面中,点击 "添加规则"。
- 设置规则的基本信息:
- 规则名称:给规则起一个易于识别的名字。
- 优先级:数字越小,优先级越高。
- 启用状态:默认启用。
配置触发条件
触发条件是调度规则的核心,它决定了什么情况下规则会被触发。你可以设置多个触发条件,这些条件之间可以组合使用。
触发条件类型
目前支持以下几种触发条件类型:
- 以……开头:消息内容以特定文字开头。
- 正则表达式:使用正则表达式匹配消息内容。
- 包含……词:消息内容包含某些关键词。
- 以……概率:以一定的概率随机触发。
- 发送者为……:指定消息的发送者 ID 和群组 ID(可选)。
- 发送者不为……:排除特定消息发送者 ID 和群组 ID(可选)。
- 任意输入:任何消息都会触发。
组合触发条件
你可以组合多个触发条件,以实现更复杂的匹配逻辑。
- 条件组:每个条件组包含多个条件,条件组内的条件可以是"或"关系,也可以是"且"关系。
- 或:只要满足其中一个条件,条件组就匹配。
- 且:必须满足所有条件,条件组才匹配。
- 多个条件组:多个条件组之间是"且"关系,即必须所有条件组都匹配,整个规则才会被触发。
举个例子:
假设你想创建一个规则,当消息以 "/help" 开头,并且发送者是管理员时,触发一个帮助工作流。
- 创建一个条件组,包含两个条件:
- 条件 1:以 "/help" 开头
- 条件 2:发送者为管理员
- 将条件组内的关系设置为"且"。
- 设置规则的目标工作流为 "帮助工作流"。
这样,只有当消息以 "/help" 开头,并且发送者是管理员时,才会触发 "帮助工作流"。
规则优先级
规则优先级决定了多个规则同时匹配时的处理顺序:
- 数字越大优先级越高,0 的优先级最低。
- 同优先级规则的执行顺序是未定义的。
规则示例
待补充,可以先参考项目自带的规则。
最佳实践
优先级设置
- 特权命令设置最高优先级。
- 特定功能设置中等优先级。
- 通用对话设置最低优先级。
条件组合
- 合理使用多个条件组合。
- 避免过于复杂的条件。
- 注意条件的逻辑关系。
规则管理
- 定期清理无用规则。
- 保持规则列表整洁。
- 为规则添加清晰的描述。