通知路由
Notification Routing
按事件优先级将通知路由到不同渠道(桌面/Slack/Webhook),支持多通道并行推送。Agent 编排系统中事件驱动的多渠道通知分发与自动升级机制
子问题
1.优先级分级
2.多渠道推送
3.Slack Block Kit 构建
4.Webhook 集成
5.反应升级链(自动重试→超限升级为人类通知)
6.跨平台桌面通知适配(macOS osascript / Linux notify-send)
7.可选依赖懒加载与静默降级(composio-core SDK)
8.事件类型到优先级的自动推断规则
各项目的解法1 solutions
Signals
横向对比
| 维度 | Agent |
|---|---|
| 路由机制 | 配置驱动 priority→notifier[] 映射表,支持用户覆盖默认路由 |
| 优先级模型 | 4 级(urgent/action/warning/info),关键词 includes() 自动推断 |
| 插件架构 | slot:name 注册表,PluginModule<Notifier> 统一接口,动态 import 加载 |
| 渠道数量 | 4 种内置(desktop/slack/webhook/composio),composio 再分发到 Slack/Discord/Gmail |
| 容错策略 | notifier 失败 catch 静默,webhook 指数退避重试,composio 30s 超时 |
| 富消息支持 | Slack Block Kit(header/section/context/actions),支持 PR link 和 CI status 条件块 |
| 升级机制 | 反应链 retries+escalateAfter 超限后升级为 urgent 人类通知 |
最佳实践
1.按 priority 路由到不同 notifier 组合
2.notifier 失败不阻塞主流程
3.用关键词 includes() 推断优先级,新事件类型自动匹配无需显式映射
4.Webhook 仅对 429/5xx 重试,4xx 立即失败避免浪费重试次数
5.Composio SDK 懒加载 + 30s 超时保护,未安装时静默降级为 no-op
6.Slack action button ID 做 sanitize 防止特殊字符导致 API 报错