Skip to main content
小龙虾的数字探索
切换暗/亮/自动模式 切换暗/亮/自动模式 切换暗/亮/自动模式 返回首页

心跳:让你的AI助手变聪明

心跳:让你的AI助手变聪明

分类: OpenClaw实战 标签: 心跳, 定时任务, 主动思考 日期: 2026-02-12 阅读时间: 3分钟


前言

前几天跟朋友聊天,他说自己的AI助手"像个被动的应答机器"——有问才答,不问就死气沉沉的。

我说:你试试心跳机制。

三天后他回来告诉我:卧槽,这助手成精了。

今天聊聊这个让AI"活"过来的技巧。


什么是心跳?

别被名字吓到了,很简单。

心跳就是系统每隔一段时间(比如30分钟、1小时),给你发一条消息。你配置一个检查清单,AI看到这条消息,就按清单去检查事情,有结果就告诉你,没事就回个"HEARTBEAT_OK"。

本质上:主动检查代替被动等待。


一个真实的例子

我给小龙虾配了这样一份心跳清单(HEARTBEAT.md):

# 每次心跳检查

1. **邮箱** - 有重要邮件吗?
2. **日历** - 接下来2小时有安排吗?
3. **天气** - 要出门的话,带伞?
4. **待办** - 有什么快过期的deadline?

注意:晚上11点到早上8点别打扰我,除非紧急。

现在的日常是这样的:

  • 早上7点:📧 “3封邮件,其中1封是老板催项目”
  • 早上8点半:📅 “2小时后有产品会”
  • 晚上10点:HEARTBEAT_OK(太晚了,不打扰)
  • 早上9点:☀️ “今天30°C,记得涂防晒”

这不是被动的问答,是主动的提醒。AI不再是工具,变成了你的"私人管家"。


如何配置?

1. 创建心跳文件

在OpenClaw的workspace目录创建HEARTBEAT.md

cd ~/.openclaw/workspace
nano HEARTBEAT.md

写上你想检查的内容,比如:

# 我的心跳清单

## 邮件检查
- 未读邮件 > 0?告诉我数量和发件人
- 标记为"重要"的邮件?告诉我标题

## 日历检查
- 接下来2小时有安排?
- 如果有会议,提前30分钟提醒

## 工作相关
- GitHub有新的PR/Issue?
- Trello有变动?

## 生活便利
- 稍后要出门?查天气
- 记得喝水(每隔2小时提醒一次)

2. 设置心跳提示

打开OpenClaw配置文件(~/.openclaw/openclaw.json),找到messages.heartbeat设置:

{
  messages: {
    heartbeat: {
      enabled: true,
      prompt: "Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.",
      interval: 1800000, // 30分钟 = 1800000毫秒
    },
  },
}

几个关键参数:

  • enabled:开关,true启用,false关闭
  • prompt:心跳触发时的提示文本,告诉AI做什么
  • interval:心跳间隔(毫秒),30分钟=1800000,1小时=3600000

3. 重启Gateway

openclaw gateway restart

搞定!


我的一些经验

1. 频率别太密

刚开始我设成每5分钟一次,结果:

  • ✅ 响应很快
  • ❌ 账号被限流(WhatsApp)
  • ❌ AI疯狂输出token,费用爆炸

建议:30分钟到2小时,根据实际需求调整。重要的事情用心跳,普通事情用cron(定时任务,下篇文章聊)。

2. 检查内容要具体

别写"检查一下我有什么事",AI不知道你要什么。

好的写法

检查邮件:
- 未读邮件数量 > 0?
- 标记为"紧急"的邮件?告诉我标题和发件人

不好的写法

检查一下我的邮件

3. 别什么都往里面塞

心跳是给高频检查用的。低频的事情(比如"每周五早上9点提醒我交周报")用cron,别浪费心跳资源。

4. 晚上设个静默时段

HEARTBEAT.md里加上:

## 静默时段
- 晚上11点到早上8点:HEARTBEAT_OK
- 除非:老板发重要邮件、家里报警

这样AI就不会半夜吵你。


心跳 vs Cron:什么时候用哪个?

这两个功能容易混淆,简单区分一下:

用心跳(heartbeat)

  • 需要结合最近的聊天上下文
  • 时机可以稍微灵活(比如30分钟左右都行)
  • 想减少API调用,把多项检查合并成一次
  • AI需要"思考"判断该不该打扰你

用cron(定时任务)

  • 需要精确时间(比如"每周一早上9点")
  • 任务需要独立执行(不在主会话上下文里)
  • 想用不同的模型或推理级别
  • 一次性提醒(“提醒我20分钟后开会”)
  • 需要结果直接发到某个频道(不经过主会话)

举个对比例子

  • ❌ 用心跳做:“每周一早上9点提醒我交周报”(太精确,用cron)
  • ✅ 用心跳做:“每半小时检查一下有没有急事需要我处理”
  • ✅ 用cron做:“每周一早上9点发送提醒消息”

一些实用场景

场景1:工作日监控

## 工作日(周一到周五,9点-18点)

1. **Slack** - 有@我吗?来自谁?
2. **GitHub** - 我的PR有新评论吗?
3. **Jira** - 分配给我的Ticket有更新吗?
4. **会议** - 接下来1小时有会议?发会议链接

## 非工作时间
HEARTBEAT_OK

场景2:创业者的一天

## 早上(6:00-12:00)
- 邮箱:有投资人邮件吗?
- 日历:今天的重要安排
- Twitter:品牌有负面舆情吗?

## 下午(12:00-18:00)
- 服务器:有报警吗?
- 数据:DAU有异常下降吗?
- 竞品:有新功能发布吗?

## 晚上(18:00-23:00)
- 邮箱:只看标记为"紧急"的
- 社群:有重要讨论吗?

## 深夜
HEARTBEAT_OK

场景3:极简主义者

每次心跳:
1. 邮件:未读 > 0?告诉我数量
2. 日历:2小时内有事?告诉我

如果都没事:HEARTBEAT_OK

常见问题

Q: HEARTBEAT_OK是什么意思?

A: 这是一个约定俗成的回复。OpenClaw收到这个回复,就知道心跳检查过了,没什么事。你也可以改成其他词,但保持一致就行。

Q: 心跳会消耗很多token吗?

A: 取决于你检查的内容。如果只是简单查询(邮件、日历),消耗很小。如果要复杂处理(分析趋势、生成报告),就会多一些。我的建议:心跳做轻量检查,重的任务交给cron或手动触发。

Q: 可以同时配置多个心跳任务吗?

A: 不行,一个Gateway只有一个心跳配置。但你可以把多个检查项都写在HEARTBEAT.md里,AI会按顺序检查。

Q: 某些任务只想每天检查一次,怎么弄?

A: 在HEARTBEAT.md里加状态记录。比如:

## 每日检查(每天只做一次)

如果距离上次检查 < 24小时:
  跳过

否则:
  1. 检查服务器健康
  2. 记录检查时间到 heartbeat-state.json

最后

心跳这东西,乍一看像多此一举:有事儿直接问不就行了?

但用上两天你就明白差别了:

被动是工具,主动是伙伴。

工具需要你记住一切,伙伴会记住你的一切。

试试吧,你会发现AI突然"活"了。


下一步

  • 创建你的第一个HEARTBEAT.md
  • 设置30分钟心跳间隔
  • 观察3天,调整检查内容
  • 加上静默时段,别被打扰

相关阅读


喜欢这篇文章?订阅"小龙虾日报",每周推送OpenClaw技巧! 链接在右上角,免费订阅~ 🦞