乐于分享
好东西不私藏

OpenClaw 心跳完全指南:让 AI 自动「醒过来」帮你干活

OpenClaw 心跳完全指南:让 AI 自动「醒过来」帮你干活

先说一个真实场景

我认识一个公众号运营者,他每天晚上要做三件事:检查当天草稿有没有写完、看看有没有待回复的留言、想着明天发什么选题。

用了 OpenClaw 心跳之后,这三件事变成了自动的:每天晚上 8 点,AI 自动检查草稿更新、扫描留言、推送当日运营摘要到飞书。他不用再自己盯着,AI 盯完直接汇报。

这就是心跳的价值——让 AI 不用你发消息,主动帮你把该做的事做了。


一、什么是心跳?

心跳是 OpenClaw 内置的定时检查循环

每隔一段时间,AI 会自动「醒过来」,读一个叫 HEARTBEAT.md 的文件,然后按文件里的内容执行检查或操作。整个过程不需要你发消息触发。

默认间隔是 30 分钟。你可以改成 15 分钟、1 小时,按需调整。


二、心跳和 Cron 的区别

Cron 是你自己定义「几点几分做什么」,任务固定、时间固定、提前写死。比如「每天早上 8 点推送资讯」。

心跳 是让 AI 自己判断「这次醒来该检查什么」。AI 根据当前状态决定要不要通知你,不是机械执行预设清单。

还有一个关键区别:心跳运行在主会话里,AI 记得你们之前聊过什么。Cron 通常运行在独立会话,每次都是全新开始。

简单说:Cron 适合明确定义的定时任务,心跳适合需要 AI 主动观察和判断的事。


三、如何配置心跳

默认已开启

安装 OpenClaw 后心跳默认启用,间隔 30 分钟,大多数情况不需要改。

调整间隔

在 openclaw.json 里配置:

{
"gateway": {
"heartbeat": {
"interval""1h"
    }
  }
}

30m 是 30 分钟,1h 是 1 小时,15m 是 15 分钟。

建议不低于 15 分钟。太频繁会增加 API 消耗。


四、HEARTBEAT.md 怎么写

这是心跳的核心。AI 每次醒来都会读这个文件,按里面的内容执行检查。

下面是我实际在用的一个心跳配置,拿来当例子:

## 🔧 系统状态检查

运行 `tail -100 /tmp/clawdbot/*.log | grep -i "error\|fail\|warn"`,如果发现新的错误,整理成摘要发给我。

## 📋 任务看板

读取 TASKS.md,检查:
1. 有没有任务卡住超过 3 天
2. 有没有等待中的任务结果回来了
3. 有没有今天应该完成但没完成的任务

如果发现以上情况,主动告诉我。

## 📚 学习项检查

检查 .learnings/ 目录:
- 有没有标记为「高优先级」但还没处理的学习项
- 有没有重复出现的错误记录

如果发现,整理摘要汇报给我。

AI 每次心跳按顺序执行这些检查项,发现问题就主动通知,没问题就安静待着。


五、实战场景

场景 1:公众号运营者

每天定时检查草稿更新,推送当日运营状态:

## 📝 草稿检查

检查 ~/Works/news/drafts/ 目录下所有 .md 文件的更新时间。
如果发现过去 24 小时有新建或修改的草稿,列出文件名和修改时间。

## 📊 今日数据

检查 notes/publish-log.md,记录一下:
- 今天发布了几篇文章
- 阅读量有没有异常波动

如果有问题需要我关注,直接发飞书消息。

场景 2:开发者

监控服务日志,发现错误立即告警:

## 🚨 日志告警

运行以下命令检查错误:
`tail -200 /var/log/myapp/error.log | grep "$(date +%Y-%m-%d)"`

如果发现新的 ERROR 级别日志:
1. 提取错误信息和时间戳
2. 简单判断是什么类型的错误
3. 整理成一条消息发给我,说明严重程度

如果只是新的 WARNING,不紧急,先记着,等我下次问再说。

场景 3:知识管理

定期整理笔记本,更新知识库状态:

## 📚 笔记整理

检查 ~/notes/ 目录下最近 7 天修改过的文件。
如果发现有文件超过了 2 周没打开过,在笔记列表里标记为「待回顾」。
统计一下目前「待回顾」的文件有多少,如果超过 10 个,提醒我抽时间整理。

场景 4:习惯追踪

帮自己养成好习惯:

## 🌱 习惯检查

检查 habits.md:
- 每天的复盘记录有没有写
- 「每周运动 3 次」这个目标完成没有
- 有没有连续超过 5 天没记录的情况

如果发现哪个习惯连续中断超过 3 天,发消息提醒我。
如果一切都正常,不用汇报,安静待着就行。

场景 5:多智能体协作状态监控

## 🤖 子 Agent 状态

运行 `openclaw subagents list`,检查:
- 有没有卡住超过 30 分钟的子 Agent
- 有没有失败状态的任务

如果发现异常,尝试重启:运行 `openclaw subagents kill <id>`
如果重启失败,汇报给我。

六、心跳配置的几个建议

加条件判断,不要每次都汇报

AI 每次心跳如果都给你发消息,很快就会变成骚扰。

正确的方式是:只在发现问题时通知你,没问题就安静待着。

比如「如果发现 ERROR 级日志就通知我」,而不是「每次都把日志内容发给我」。

不要放重型任务

心跳是高频执行的(默认 30 分钟一次),如果每次心跳都要跑一个好几分钟的任务,会消耗大量资源。

重型任务放到 Cron 里单独跑,心跳只做快速检查。

间隔不是越短越好

15 分钟是最低建议值。再短的话,AI 还没处理完上一次心跳,下一次又来了,容易乱。

一般用途:30 分钟到 1 小时是合理的区间。

心跳和 Cron 配合使用

它们不是替代关系,是互补的。

心跳负责「主动观察,有情况就通知」,Cron 负责「到点就执行固定任务」。

比如「每天早上 8 点推送资讯」用 Cron,「随时检查日志有没有新错误」用心跳。


说白了,心跳就是让 AI 主动帮你盯着事。它每隔一段时间醒过来,按你写的检查清单过一遍,有情况就找你,没情况你根本感觉不到它的存在。

配得好,你的 AI 助手就从被动的问答机器,变成了主动帮你盯项目的数字同事。


本文所有 HEARTBEAT.md 配置均来自实际使用,直接复制修改即可。