深入理解 OpenClaw 心跳机制:让 AI 主动为你效劳
你是否曾想过,如果你的 AI 助手能像真人一样主动关心你的事情,那该有多好?不必每次都主动询问,而是它会定期检查你的邮件、日历、提醒事项,在关键时刻提醒你。OpenClaw 的**心跳机制(Heartbeat)**正是为实现这一愿景而设计的。
什么是心跳机制?
心跳机制是 OpenClaw 的一种周期性任务触发方式。与传统的定时任务(Cron)不同,心跳更加灵活、智能,它允许 AI 在后台周期性检查多项内容,并根据预设条件决定是否主动联系你。
简单来说,心跳就是给 AI 安排一个"巡检"任务,让它每隔一段时间(比如 30 分钟)就自动检查一下:
- 是否有新的重要邮件?
- 即将到来的日历事件是什么?
- 社交媒体上有没有人提到你?
- 天气情况如何,是否需要提醒你带伞?
如果发现问题,AI 会主动发送消息给你;如果一切正常,它会安静地等待下一次检查,不打扰你的生活。
心跳 vs Cron:何时使用哪种方式?
很多用户会问:心跳和 Cron 有什么区别?我该用哪一个?
使用心跳的场景:
- 多项检查可以批量进行(例如同时检查邮箱 + 日历 + 天气)
- 需要会话上下文(需要参考最近聊天内容做判断)
- 时间可以稍微浮动(30 分钟左右的误差可以接受)
- 需要根据条件决定是否通知(不是每次都要行动)
使用 Cron 的场景:
- 精确时间要求(比如每周一早上 9:00 准时执行)
- 任务需要与主会话隔离(独立的执行环境)
- 一次性提醒(“20 分钟后提醒我开会”)
- 输出直接发送到指定渠道(不经过主会话)
小技巧:把相似的周期性检查合并到 HEARTBEAT.md 中,而不是创建多个 Cron 任务,这样更高效、更易于管理。
配置你的第一个心跳任务
在 OpenClaw 中,心跳检查通过 HEARTBEAT.md 文件进行配置。这个文件应该放在你的工作区根目录下。
HEARTBEAT.md 示例
# Heartbeat 检查清单
## 需要定期检查的事项
- **邮件** - 是否有紧急未读邮件?
- **日历** - 未来 24-48 小时有重要事件吗?
- **社交** - Twitter/社交媒体上有没有人 @ 你?
- **天气** - 今天天气如何,出行需要注意什么?
## 检查频率
- 邮件检查:每天 3 次(早上、下午、晚上)
- 日历检查:每天 4 次
- 天气检查:每天 2 次
## 注意事项
- 深夜 23:00 - 早上 08:00 不要主动发送通知(除非紧急)
- 如果距离上次检查不足 30 分钟,跳过本次检查
- 只报告重要事项,不要发送"无新消息"这种无意义通知
在代码中监听心跳
当收到心跳轮询时,OpenClaw 会检查是否存在 HEARTBEAT.md 文件,并按照其中的指示执行检查。
# 当收到心跳时,AI 会收到特殊的消息提示
# 消息内容类似:Heartbeat prompt: Read HEARTBEAT.md if it exists...
# 如果文件中没有需要处理的事项,回复 HEARTBEAT_OK
实际应用案例
案例一:智能邮件提醒
配置心跳检查未读邮件,设置关键词过滤(如"紧急"、“重要”、“截止日期”),只有匹配关键词的邮件才会触发通知。
案例二:日历事件提前提醒
在事件开始前 2 小时自动提醒,包括事件名称、地点和需要准备的材料。
案例三:天气关怀
每天早上检查天气,如果是雨天,提前提醒你带伞;如果是雾霾天,建议戴口罩。
案例四:社交媒体监听
检查 Twitter、Mastodon 等平台上的提及和回复,及时告知你有哪些互动。
高级技巧:状态追踪
为了避免重复通知同一个问题,OpenClaw 支持在 memory/heartbeat-state.json 中记录检查状态:
{
"lastChecks": {
"email": 1703275200,
"calendar": 1703260800,
"weather": null
}
}
这样,AI 可以判断距离上次检查已经过了多久,是否需要再次检查,以及哪些内容已经通知过你了。
总结
心跳机制是 OpenClaw 最强大的特性之一,它让 AI 从一个被动应答的工具,变成了一个主动关心你的智能助手。通过合理配置心跳,你可以:
- ✅ 不错过任何重要邮件
- ✅ 提前知道即将到来的会议和事件
- ✅ 及时了解社交媒体上的互动
- ✅ 获得贴心的天气和生活提醒
更重要的是,AI 会在不需要打扰你时保持安静,只在真正重要时才出手。这种"安静时守护,需要时出现"的特性,正是现代智能助手应该具备的素质。
下期预告:我们将深入探讨 OpenClaw 的 Skill 生态,介绍如何安装和使用各种技能插件,让你的 AI 助手具备更多强大能力。敬请期待!