ARTICLE · 1017602
OpenClaw半夜刷屏?心跳机制把我整懵了
凌晨4点的时候,手机一直都在震动。
以为这是件很重要的事情,打开来看——每隔半小时就会收到一条来自OpenClaw的信息,"深夜时期,没有重要的事情发生,不需要打扰魏总",下面还有一行 NO_REPLY。
并不是中毒。刷屏的是它的跳动方式。

什么是心跳机制
OpenClaw 这个 AI Agent 会定期自己做一次例行检查:看看有没有紧急的事情,要不要去打扰用户。默认为每 30 分钟一次。
一般情况下,这些检查都是内部进行的,不会被发送到对话中去。没事的话回复 NO_REPLY,系统收到这个标记就会当作什么都没发生。
但昨晚出了个岔子。
问题出在哪
两个 bug 一起出现,所以整个晚上都在刷屏。
第一个:检查回复格式不对。
没事的时候就只回复 NO_REPLY,系统会自动静默。但是实际回复是"深夜时段,无紧急事项"这样带有文字的内容。带有文字的回复被当作通知发送到对话中,所以每隔半小时就会出现一条。
第二个:没有夜间静默设置。
配置里并没有单独设置心跳的行为,而是采用的是默认值,即 24 小时不间断地运行,包括凌晨。正常的用户睡觉的时候,它就在那里尽职尽责地进行检查,并且尽职尽责地发出通知。
两个问题一起出现,结果就是:凌晨 04:22、04:52、05:23……每半点钟一条,弄得跟监控报警一样。
怎么修的
改了两处配置。
第一处:夜间停心跳。
配置为 23:00-08:00,并且不要做心电图。当用户在睡觉的时候,Agent 也会跟着"睡觉",不进行例行检查,因此也不会发送消息。
第二处:收窄心率规则。
检查的时候只发送重要的信息,其他的全部回复 NO_REPLY。什么是真正重要的呢?比如有紧急邮件、系统告警、预设的定时任务被触发。无紧急事项这样的废话直接不回答。
修改完配置再重新启动 gateway,问题就解决了。
踩坑总结
别问我怎么知道的。
定时任务的 AI 代理要有一个静默时间段。尤其是在晚上,人类休息的时候,Agent 也应该休息,否则它会变得太认真,反而成为一种打扰。
区分"内部状态"和"用户通知"。Agent 自己检查完毕的状态,默认情况下应该内消化,只有真正需要用户知道的才发送到对话中。NO_REPLY 这个标识的作用就是这样的,不能用文字来代替。
默认设置并不一定适合生产。OpenClaw 默认的心跳周期为每 30 分钟一次,全天候运行,适用于开发调试,但是实际使用时需要根据不同的场景来调整——晚上不发通知、检查频率、通知门槛等等都要自己设置。
先查看配置再查杀病毒,不要急于刷屏。Agent 不是人,没有抽风的能力,它是按照配置来做的。发现异常行为的第一步是查看配置文件,第二步是查看日志,第三步再考虑是不是受到了攻击。
适合谁
使用 OpenClaw、AutoGPT、Cline 等带有定时任务或者心跳机制的 AI Agent 的开发者。特别是把 Agent 接入到微信、飞书、邮件这些有推送功能的渠道里去的时候,要设置好静默时段以及通知规则,否则半夜被自己发出的通知惊醒,不要怪我没提醒。
一句话。AI Agent 不怕不聪明,就怕太勤快。应该安静的时候要安静,该说话的时候要说,这才是一个好的 Agent。
觉得好用的话可以分享给正在做 AI Agent 的朋友。留言中说说你家的 Agent 有没有出现过类似抽风的情况。