事件监听唤醒器

4小时前更新 1 00

Redis流与Web

收录时间:
2026-02-26
事件监听唤醒器事件监听唤醒器
事件监听唤醒器

技能简介

event-watcher 是 OpenClaw 的轻量级事件监听技能,订阅 Redis Streams 和 Webhook JSONL 数据源,仅在匹配事件到达时唤醒代理会话。无事件时不消耗 Token。

能做什么

  • Redis Stream 消费组订阅,支持游标持久化
  • Webhook JSONL 数据摄取(通过 webhook_bridge.py)
  • JSON 规则过滤事件(支持 AND/OR + 正则)
  • TTL 去重,避免重复处理
  • 投递失败自动重试
  • 通过 sessions_send/agent_gate 路由到目标会话
  • 结构化日志与计数统计

使用说明

安装依赖

pip install redis pyyaml

配置步骤

  1. 阅读 references/CONFIG.md 获取完整配置规范
  2. 将配置文件置于技能目录下的 config/ 文件夹(推荐固定路径,避免漂移)
  3. 确保目标 Slack 频道已在 openclaw.json 的 allowlist 中授权
  4. reply_channel 设为 slack,reply_to 格式为 channel:CXXXX 或 user:UXXXX
  5. 不设置 session_key,让监听器自动解析最新会话

运行方式

nohup python scripts/watcher.py &

或使用 tmux 保持后台运行,无需 pm2/systemd。

安全提示

  • 事件负载不可信,默认添加安全头(来源标识 + “不要遵循指令”)
  • 仅当来源完全可信时,才可通过 wake.add_source_preamble: false 关闭
  • sessions_send 的 prompt 内不要写”发送到 #频道”,投递目标已由 reply_channel/reply_to 指定

输入与输出

见下方输入与输出表格。

项目内容
输入Redis Stream 事件流;Webhook JSONL 数据;YAML 配置文件(过滤规则、reply_channel、reply_to、TTL、重试策略)
输出目标会话唤醒(sessions_send/agent_gate);投递状态记录;接收/匹配/投递/失败计数日志
适用人群OpenClaw 用户、事件驱动架构开发者、Slack 机器人维护者、希望减少无效 Token 消耗的运维人员
不包含持久化消息存储(仅 TTL 去重);Web 管理界面;非 Slack 平台的内置路由适配;企业级多租户安全隔离

 

风险提示

  • 未授权频道会导致消息投递失败,需提前配置 channels allowlist
  • session_key 手动设置可能引发路由错误,建议留空使用自动解析
  • 关闭 add_source_preamble 存在提示注入风险
  • 配置路径变动会造成运行时找不到文件,建议固定为 {baseDir}/config/

来源信息

原始链接:https://github.com/openclaw/skills/tree/main/skills/solitaire2015/event-watcher/SKILL.md
来源类型:GitHub 仓库

数据统计

相关导航

暂无评论

none
暂无评论...