Skip to content

触发器

触发器定义了工作流何时被执行。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 * * *"

触发器优先级

当多个触发器同时满足条件时,系统会按照以下规则处理:

  1. 优先级高的触发器先执行
  2. 同优先级的触发器按定义顺序执行
  3. 可以设置触发器是否独占执行

最佳实践

  1. 选择合适的触发器

    • 简单命令使用消息触发器
    • 定期任务使用定时触发器
    • 复杂场景使用条件触发器
  2. 优化触发条件

    • 避免过于宽泛的匹配
    • 合理使用正则表达式
    • 注意条件的组合逻辑
  3. 性能考虑

    • 减少复杂正则表达式
    • 避免过多的条件判断
    • 合理设置触发频率
  4. 调试技巧

    • 使用日志记录触发情况
    • 测试各种边界条件
    • 验证触发器组合