Skip to content

5.1 设置定时提醒


上一章,你学会了让 OpenClaw 帮你做各种事——看文件、写代码、处理数据。

但这些都是你主动找它。

现在你可能会想:能不能让它主动帮我?

比如每天早上7点,自动查邮件、看日程、搜新闻,你醒来就能看到摘要?

这就是 OpenClaw 的两个核心机制:Heartbeat(心跳)Cron(定时任务)

这一节,我们用5分钟,让 OpenClaw 从“你找它”变成“它主动找你”。


两种机制的区别

机制怎么工作适合什么场景
Heartbeat每隔一段时间自动检查持续监控、定期巡查
Cron到指定时间执行精准定时、一次性提醒

简单记:需要定期检查用 Heartbeat,需要精准执行用 Cron。


试一试:设置一次性提醒

最简单的,让它20分钟后提醒你开会。

直接在聊天里说:

20分钟后提醒我开会

它会自动创建一个定时任务。时间到了,主动给你发消息:

提醒:该开会了!

你也可以说:

  • “明天早上9点提醒我开会”
  • “下周一8点提醒我写周报”

不用背命令,直接说人话就行。


试一试:设置周期性任务

比如每天早上7点,让它帮你生成今日摘要。

在聊天里说:

每天早上7点,帮我生成今日摘要:
检查邮件、看日程、查天气、搜新闻
然后发到我的Telegram

它会创建一个周期性任务,每天早上7点自动执行。

你也可以用命令:

bash
openclaw cron add \
  --name "每日早报" \
  --cron "0 7 * * *" \
  --tz "Asia/Shanghai" \
  --session isolated \
  --message "生成今日摘要:邮件、日程、天气、新闻" \
  --announce

参数说明:

  • --cron “0 7 * * *”:每天7点(分 时 日 月 周)
  • --tz “Asia/Shanghai”:时区,这行不能省
  • --session isolated:到点直接执行,不依赖心跳
  • --announce:执行后发送通知

试一试:设置心跳检查

如果你希望它每隔一段时间自动检查一些事,可以用 Heartbeat。

工作区(默认路径:~/.openclaw/workspace)默认创建了 HEARTBEAT.md 文件:

在聊天里说:

定期帮我检查客服消息,重要紧急的立马通知我:
监控服务器报警,随时提醒
定期检查今天的待办事项看看完成了没有
把上面的内容写入HEARTBEAT.md

它会自动在 HEARTBEAT.md 文件下追加以下信息:

markdown
# 心跳检查清单

- 检查客服消息,有紧急的就通知我
- 检查服务器状态,有报警就通知我
- 检查今天的待办事项

默认每30分钟,它会自动醒来检查一遍。有事情就通知你,没事情就静默。


常用命令速查

bash
# 查看所有定时任务
openclaw cron list

# 立即测试某个任务
openclaw cron run <任务ID> --force

# 删除任务
openclaw cron remove <任务ID>

# 检查Gateway状态(任务需要Gateway运行)
openclaw gateway status

遇到问题怎么办?

任务没按时执行 → 检查三件事:

  1. Gateway在运行吗?openclaw gateway status
  2. 时区对吗?确保加了 --tz “Asia/Shanghai”
  3. 用的是 --session isolated 吗?Main模式需要等心跳触发

想晚上不打扰 → 在配置里设置活动时段:activeHours: { start: “08:00”, end: “22:00” }


这一节,你做了什么

学了什么核心理解
Heartbeat定期检查,适合持续监控
Cron精准执行,适合定时任务
一次性提醒“20分钟后提醒我...”
周期性任务“每天早上7点...”

关键是:从“你找它”变成“它主动找你”。


下一节

定时任务学会了。

下一节,我们来聊聊记忆系统——让它记住重要信息,下次不用你重复说。

基于 MIT 许可发布