MateClaw 中文文档 下载 App

事件触发与 Webhook——让 Agent 响应外部事件

Cron 之外的另一条触发路径

Cron 是按时间触发,但有时候你想让 Agent 响应某个事件:

两条实现路径

路径一:高频轮询 + 触发条件

这是 Cron 的变体——配一个每分钟跑一次的 Cron 任务,Agent 在里面检查「有没有新邮件」「有没有新 PR」。如果没有就快速退出(几乎不消耗 token),如果有就跑完整逻辑。

这种方式的好处是零额外依赖——用已有的 Cron + Agent 就能做。坏处是有最高 1 分钟的延迟。

路径二:MCP 工具接外部 Webhook

如果你需要真正的事件驱动(秒级响应),写一个 MCP Server 暴露 webhook endpoint,MateClaw 订阅这个 MCP 工具。当外部事件发生时:

  1. 外部系统 POST 到 MCP Server 的 webhook endpoint
  2. MCP Server 把事件包装成一个工具调用
  3. Agent 收到工具调用通知,拉起执行链

这种方式更灵活但实现成本更高——需要自己写 MCP Server。

一个具体例子:邮件触发

假设你想让 Agent 响应带「老板」标签的邮件:

方案 A(高频 Cron):每分钟跑一次执行助理 Agent,Agent 调用邮件工具检查「过去 1 分钟有没有新的带老板标签的邮件」。如果有就总结草拟回复,没有就结束。

方案 B(Webhook + MCP):邮件系统(比如 Gmail)配置一个「新邮件到达且标签=老板」的 webhook 规则,POST 到你的 MCP Server。MCP Server 把邮件内容作为参数传给 MateClaw 的 Agent API。

事件触发时 Tool Guard 照样生效

定时/事件触发的 Agent 没有人工值守,但 Tool Guard 规则一样会执行。需要审批的工具调用不会被绕过——如果配置成 require_approval,审批请求会推到默认通知渠道等你批准;如果配置成 deny,Agent 会直接跳过这步不发审批通知。