Event Trigger 事件触发
核心理念
事件触发系统与 Cron 定时调度 平行,只负责"把事件送到 Session",Agent 根据提示词决定一切:
Rendering diagram…
触发系统不区分"审核 / 通知 / 报告"——Agent 是逻辑层,用户的提示词是配置,触发系统只管投递。
事件源
| 来源 | 典型用途 |
|---|---|
| Webhook | GitHub / GitLab / Gerrit / DOORS 的外部回调 |
| Channel 消息 | 飞书群、企业微信群、邮件新消息 |
| Hook 内部事件 | 其他 Session 的 Agent 生命周期事件 |
| KB / 文档事件 | 知识库与文档生命周期(创建 / 上传 / 解析完成 / 删除…),详见下文 |
| Cron 定时 | 按时间规则触发(独立子系统,与 EventTrigger 并列) |
| Compound 复合触发 | 多源组合条件(如:PR 打开 且 CI 通过) |
工作流程
Rendering diagram…
特性
- MySQL 持久化 — 重启自恢复
- Debounce 去抖 — 避免重复触发
- Conflict Policy — 支持 queue / skip / parallel 并发策略
- Chain Trigger — 一个事件触发链式后续触发
典型使用
知识库事件(KB / 文档生命周期)
知识库或文档发生变化时,平台会发出内部事件,可被 EventTrigger 订阅,用来驱动"文档解析完成 → 自动跑某技能"这类自动化(解析质检、自动打标、变更通知…)。
事件类型(共 9 个)
| 事件名 | 含义 | 触发进程 |
|---|---|---|
KbCreated | 知识库创建 | 主进程 |
KbConfigChanged | 知识库配置变更 | 主进程 |
KbDeleted | 知识库删除 | 主进程 |
KbDocumentUploaded | 文档上传 | 主进程 |
KbDocumentDeleted | 文档删除 | 主进程 |
KbDocumentRenamed | 文档重命名 | 主进程 |
KbDocumentParserChanged | 文档解析器变更 | 主进程 |
KbDocumentParsed | 文档解析完成 | task_executor → 桥接主进程 |
KbDocumentParseFailed | 文档解析失败 | task_executor → 桥接主进程 |
事件携带字段(订阅方用 content_pattern 正则匹配):
op 取值:upload / web_crawl / create_by_file / rm / rename / change_parser / parse_done / parse_fail / create / update。
订阅示例
这些事件是异步、fire-and-forget:经 Redis Stream 桥接到后台消费线程再 dispatch,不会阻塞
/v1/kb/...等用户请求。
相关文档
- Cron 定时调度 — 按时间规律的主动触发
- Hook 钩子 — Agent 生命周期内部事件
- Channel 消息渠道 — 事件入口