触发器
触发器定义了工作流何时被执行。Kirara AI 支持多种类型的触发器,可以根据不同场景进行配置。
触发器类型
消息触发器
最基本的触发器类型,根据消息内容触发工作流。
yaml
triggers:
- type: message
pattern: "你好" # 完全匹配
匹配模式
- 完全匹配:消息内容完全相同
- 正则匹配:使用正则表达式匹配
- 前缀匹配:消息以特定内容开头
- 关键词匹配:消息包含特定关键词
- 语义匹配:根据语义相似度匹配
[图片:消息触发器配置界面]
事件触发器
响应特定的系统事件或平台事件。
yaml
triggers:
- type: event
event: member_join # 新成员加入
常见事件
- 成员加入/退出
- 消息撤回
- 好友申请
- 群邀请
- 系统启动/关闭
[图片:事件触发器配置界面]
定时触发器
按照预定的时间计划执行工作流。
yaml
triggers:
- type: schedule
cron: "0 9 * * *" # 每天早上 9 点
时间表达式
- Cron 表达式
- 间隔时间
- 固定时间点
- 自定义时间表
[图片:定时触发器配置界面]
条件触发器
根据特定条件的组合触发工作流。
yaml
triggers:
- type: condition
conditions:
- type: user_role
value: admin
- type: chat_type
value: group
条件类型
- 用户角色/权限
- 会话类型
- 时间范围
- 平台类型
- 自定义条件
[图片:条件触发器配置界面]
触发器组合
你可以组合多个触发器来创建更复杂的触发条件:
yaml
triggers:
- type: message
pattern: "天气"
- type: condition
conditions:
- type: chat_type
value: group
- type: schedule
cron: "0 8 * * *"
触发器优先级
当多个触发器同时满足条件时,系统会按照以下规则处理:
- 优先级高的触发器先执行
- 同优先级的触发器按定义顺序执行
- 可以设置触发器是否独占执行
最佳实践
选择合适的触发器
- 简单命令使用消息触发器
- 定期任务使用定时触发器
- 复杂场景使用条件触发器
优化触发条件
- 避免过于宽泛的匹配
- 合理使用正则表达式
- 注意条件的组合逻辑
性能考虑
- 减少复杂正则表达式
- 避免过多的条件判断
- 合理设置触发频率
调试技巧
- 使用日志记录触发情况
- 测试各种边界条件
- 验证触发器组合