OpenClaw实战:Cron定时任务与Heartbeat主动推送完全指南
来源:MEITUSTYLE公众号
零、导言
你是否有这样的经历:每天早上醒来,第一件事是打开手机查看邮件、天气、日历、新闻……这些重复性的信息获取占用了你宝贵的时间,却没有任何创造性价值。
如果有一个AI助手能够在你睡觉的时候自动完成这些工作,起床时直接给你一份整理好的简报,你会如何评价这个工具?
这就是OpenClaw的主动型AI能力——Cron定时任务和Heartbeat心跳机制。它们让AI从”被动回答问题”进化到”主动帮你处理事务”。
本文是OpenClaw实战的第三弹,将深入讲解这两个核心功能的工作原理、配置方法、以及7个真实可用的工作流模板。无论你是个人用户还是企业用户,这些内容都将帮助你在15分钟内搭建起第一个自动化工作流。
一、为什么需要主动型AI?
1.1 从”问答”到”代理”的关键跨越
传统的AI助手(如ChatGPT)遵循”你问我答”的模式:
用户:帮我总结今天的邮件
AI:好的,让我看看你的邮件...
AI:今天有3封重要邮件需要处理...
这种方式的问题在于:你必须主动发起请求,AI才能工作。如果你忘记查看邮件,AI永远不会主动告诉你有重要消息。
OpenClaw的Cron和Heartbeat改变了这个范式:
每天08:00→AI自动检查邮件/日历/天气
08:05→生成简报推送到微信
08:06→你起床看到完整简报,节省30分钟
AI不再等待指令,而是按照预设的规则持续运行,主动发现需求、主动执行任务、主动推送结果。
1.2 Cron vs Heartbeat:两个机制,一个目标
OpenClaw提供了两个主动执行机制,它们服务于不同的场景:
| 维度 | Cron | Heartbeat |
|---|---|---|
| 触发方式 | 精确时间(09:00准时) | 周期性(约每30分钟) |
| 最佳用途 | 精确计划任务 | 批量检查任务 |
| 会话模式 | 新建隔离会话 | 使用主会话上下文 |
| 模型配置 | 独立配置 | 继承主会话模型 |
| 消息推送 | 直接发送到渠道 | 通过主会话中转 |
| 典型场景 | “周一9点发送周报” | “定期检查收件箱” |
核心原则:
– 需要精确时间 → 使用Cron
– 需要批量检查多项 → 使用Heartbeat
– 两者结合 → 构建完整的主动AI系统
二、Cron定时任务:精确到秒的自动化
2.1 Cron基础命令
OpenClaw的Cron系统基于标准的cron表达式,但增加了更友好的CLI界面:
# 查看所有定时任务
openclawcronlist
# 添加新的定时任务
openclawcronadd--name"Morning Brief"--cron"0 8 * * *"--message"Generate daily briefing"
# 立即运行某个任务(测试用)
openclawcronrun<jobId>
# 禁用/启用任务
openclawcrondisable<jobId>
openclawcronenable<jobId>
# 查看任务执行历史
openclawcronruns--id<jobId>
# 删除任务
openclawcronrm<jobId>
2.2 Cron表达式详解
Cron表达式由5个字段组成,从左到右分别是:分、时、日、月、周。
┌───────────── 分钟 (0-59)
│ ┌───────────── 小时 (0-23)
│ │ ┌───────────── 日 (1-31)
│ │ │ ┌───────────── 月 (1-12)
│ │ │ │ ┌───────────── 周 (0-6, 0=周日)
│ │ │ │ │
* * * * *
常用表达式示例:
| 表达式 | 含义 |
|---|---|
0 8 * * * |
每天08:00 |
0 9 * * 1 |
每周一09:00 |
30 18 * * * |
每天18:30 |
0 8,12,18 * * * |
每天08:00、12:00、18:00 |
0 9 * * 1-5 |
工作日09:00 |
*/15 * * * * |
每15分钟 |
2.3 主会话模式 vs 隔离会话模式
创建Cron任务时,可以选择运行模式:
主会话模式(Main Session):
openclawcronadd\
--name"Weekly Report"\
--cron"0 9 * * 1"\
--sessionmain\
--system-event"Generate weekly report"
- 在你的主会话中执行
- 可以访问完整的对话历史和记忆
- 适合需要上下文的复杂任务
- ⚠️ 可能打断正在进行的对话
隔离会话模式(Isolated Session):
openclawcronadd\
--name"Morning Brief"\
--cron"0 8 * * *"\
--sessionisolated\
--message"Generate daily briefing"\
--announce
- 在独立的新会话中执行
- 不影响主会话对话
- 执行结果通过指定渠道推送
- 适合定期报告、数据抓取等后台任务
2.4 完整Cron配置参数
openclawcronadd\
--name"任务名称"\
--cron"分 时 日 月 周"\
--tz"Asia/Shanghai"\
--sessionisolated\
--message"要执行的自然语言指令"\
--announce\
--modelminimax/MiniMax-M2.7\
--max-time300\
--delete-after-run
| 参数 | 含义 | 示例 |
|---|---|---|
--name |
任务名称 | “Daily Brief” |
--cron |
cron表达式 | “0 8 * * *” |
--tz |
时区 | “Asia/Shanghai” |
--session |
会话模式 | main / isolated |
--message |
执行指令 | “Summarize my emails” |
--announce |
完成后推送结果 | – |
--model |
指定模型 | “anthropic/claude-4-sonnet” |
--max-time |
最大运行时长(秒) | 300 |
--delete-after-run |
成功后删除 | – |
三、Heartbeat心跳系统:持续运行的自驱引擎
3.1 Heartbeat是什么?
Heartbeat是OpenClaw的”常驻检查程序”。它以固定间隔(默认约30分钟)在主会话中运行,读取一个清单文件(HEARTBEAT.md),执行其中的检查任务。
┌─────────────────────────────────────────┐
│ HEARTBEAT 循环 │
├─────────────────────────────────────────┤
│ │
│ 第N次执行(约30分钟间隔) │
│ ↓ │
│ 读取 HEARTBEAT.md │
│ ↓ │
│ 执行清单中的检查项: │
│ - 邮箱有新邮件吗? │
│ - 日历有即将到来的事件吗? │
│ - 天气状况如何? │
│ ↓ │
│ 生成汇总报告 │
│ ↓ │
│ 推送到聊天渠道(如果有必要) │
│ ↓ │
│ 等待下一个周期 │
│ │
└─────────────────────────────────────────┘
3.2 HEARTBEAT.md文件结构
HEARTBEAT.md是一个简单的清单文件,放在你的workspace根目录:
# HEARTBEAT.md
## 每次检查的项目
-检查Gmail未读邮件(高优先级)
-检查今天和明天的日历事件
-检查天气(针对广州)
-检查是否有定时任务失败
## 只在特定时间检查
-每周一09:00:生成上周工作周报
-每天08:00:生成早间简报
## 有变化时的推送规则
-如果有高优先级邮件,立即推送
-如果天气有剧烈变化(>10度),立即推送
-否则保持静默,汇总在晚间报告
3.3 配置Heartbeat间隔
# 查看当前配置
openclawheartbeatstatus
# 配置检查间隔(单位:秒)
openclawheartbeatinterval1800# 30分钟
openclawheartbeatinterval3600# 1小时
# 手动触发一次心跳
openclawheartbeatrun--now
# 查看最近的心跳执行记录
openclawheartbeathistory--last10
3.4 Heartbeat的智能行为
Heartbeat不是机械地执行清单,它会根据上下文智能决策:
合并策略:
– 如果多个检查项目都发现没问题,Heartbeat会静默
– 如果发现了多个问题,Heartbeat会合并成一条消息推送
– 避免用户收到一堆零散的推送通知
优先级判断:
优先级1(立即推送):邮件中有来自"老板@公司.com"的未读
优先级2(合并推送):有3个日历事件在接下来2小时内
优先级3(静默):天气晴朗,适合出行
自适应频率:
– 工作日白天:每15分钟检查一次
– 夜间(23:00-07:00):静默模式
– 周末:每60分钟检查一次
四、7个真实可用的工作流模板
4.1 模板一:每日早间简报
场景:每天08:00自动生成,包含天气、日历、邮件摘要
配置步骤:
# 1. 创建Cron任务
openclawcronadd\
--name"Daily Morning Brief"\
--cron"0 8 * * *"\
--tz"Asia/Shanghai"\
--sessionisolated\
--message"请检查今天的天气(广州)、日历事件、未读邮件,生成一份简洁的早间简报,包含:1)天气状况和出行建议 2)今日日程 3)需要处理的邮件 4)今日待办事项"\
--announce
输出示例:
☀️ 早间简报 | 5月16日 周五
【天气】广州 26°C 晴朗 湿度65%
出行建议:适合户外,记得防晒
【日程】今天3个事件
09:00 团队周会(腾讯会议)
14:00 项目评审
19:00 论文arXiv更新推送
【邮件】2封需要处理
📧 张三:关于季度报告的反馈
📧 系统通知:服务器监控报告
【待办】今日重点
✅ 完成项目方案初稿
⬜ 准备周五分享PPT
4.2 模板二:每周自动周报
场景:每周一09:00自动汇总上周工作数据
openclawcronadd\
--name"Weekly Report"\
--cron"0 9 * * 1"\
--tz"Asia/Shanghai"\
--sessionisolated\
--message"请汇总上周的工作情况:1)GitHub提交统计 2)本周完成的任务 3)遇到的问题和解决方案 4)本周重要日历事件 5)下周工作计划。格式化为Markdown表格。"\
--announce
4.3 模板三:论文追踪自动推送
场景:每天19:00自动搜索arXiv最新论文并推送
# 配置每日19:00的论文推送
openclawcronadd\
--name"arXiv Daily Paper"\
--cron"0 19 * * *"\
--tz"Asia/Shanghai"\
--sessionisolated\
--message"请访问arXiv cs.AI cs.CL cs.LG分类,获取今天最新的大模型相关论文,筛选8-10篇最具价值的,生成带摘要的论文速递,格式为:标题、作者、摘要(100字)、arXiv链接"\
--announce
4.4 模板四:邮件自动化处理
场景:Heartbeat定期检查邮箱,自动分类和处理
在HEARTBEAT.md中添加:
## 邮件检查(约每2小时)
-连接Gmail,读取最近20封未读邮件
-按紧急程度分类:
-紧急(来自老板/客户):立即推送到微信
-普通:标记为待处理,汇总在晚间报告
-垃圾邮件:自动归档
-对于可自动回复的邮件(会议邀请、常规确认),起草回复草稿
4.5 模板五:社交媒体定时发布
场景:每天固定时间发布内容到多个平台
# 微信公众号草稿箱定时更新
openclawcronadd\
--name"WeChat Content Update"\
--cron"0 20 * * 3,6"\
--tz"Asia/Shanghai"\
--sessionisolated\
--message"请执行公众号内容发布流程:1)读取next-article.md中的文章内容 2)生成5张配图 3)进行三步预检(排版优化、敏感词检测、重复检测)4)上传到微信公众号草稿箱 5)推送发布结果"\
--announce
4.6 模板六:竞争对手监控
场景:每周抓取竞争对手网站更新
openclawcronadd\
--name"Competitor Watch"\
--cron"0 10 * * 5"\
--tz"Asia/Shanghai"\
--sessionisolated\
--message"请执行竞品监控流程:1)访问以下网址获取最新内容 [列表] 2)对比上周数据,找出新增/变化内容 3)生成监控报告,包含:新增页面、更新内容、价格变动 4)如果发现重大变化立即推送"\
--announce
4.7 模板七:系统健康监控
场景:定期检查服务器状态,异常时立即告警
# 每15分钟检查一次
openclawcronadd\
--name"System Health Check"\
--cron"*/15 * * * *"\
--tz"Asia/Shanghai"\
--sessionisolated\
--message"请检查系统状态:1)CPU和内存使用率 2)磁盘空间 3)重要服务运行状态 4)错误日志(过去1小时)5)安全日志(登录失败)如果任何指标超过阈值或发现异常,立即推送告警;否则静默。"\
--announce
五、高级配置:Cron与Heartbeat的协同
5.1 组合使用策略
最强大的配置是将Cron和Heartbeat组合使用:
┌─────────────────────────────────────────┐
│ Cron定时任务 │
│ 08:00 每日简报 │
│ 09:00 周一/周五报告 │
│ 19:00 每日论文推送 │
│ 20:00 公众号内容发布 │
├─────────────────────────────────────────┤
│ Heartbeat后台检查 │
│ 每30分钟:邮件/日历/天气 │
│ 每60分钟:系统状态/竞品动态 │
│ 持续:记忆整理/上下文更新 │
└─────────────────────────────────────────┘
5.2 避免重复推送
当Cron和Heartbeat可能推送同一内容时,使用去重机制:
# 在openclaw.json中配置
{
"announcements":{
"deduplicate":true,
"cooldownMinutes":60
}
}
5.3 成本控制
定时任务和Heartbeat会消耗Token,需要控制:
# 为Cron任务指定更便宜的模型
openclawcronadd\
--name"Brief"\
--cron"0 8 * * *"\
--modelminimax/MiniMax-M2.7\
--message"简报生成"
# 设置最大执行时间避免超时消耗
openclawcronadd\
--name"Web Scrap"\
--cron"0 10 * * *"\
--max-time120\
--message"抓取数据"
六、故障排查与优化
6.1 Cron任务不执行
检查清单:
- 查看任务列表:
openclaw cron list– 任务是否存在? - 查看任务状态:
openclaw cron status– 调度器是否运行? - 查看执行历史:
openclaw cron runs --id <jobId>– 是否有失败记录? - 检查时区设置:是否正确设置为Asia/Shanghai?
- 检查时间表达式:是否满足当前时间条件?
常见问题:
# 问题:任务显示"skipped"
# 原因:上一个实例还在运行
# 解决:增加max-time或检查任务是否卡住
# 问题:任务执行了但没有推送
# 原因:没有加--announce参数
# 解决:重新添加任务或编辑现有任务
# 问题:时区不对
# 原因:cron默认使用UTC
# 解决:添加--tz参数明确指定时区
6.2 Heartbeat不触发
# 检查HEARTBEAT.md是否存在
ls-laHEARTBEAT.md
# 检查心跳间隔
openclawheartbeatstatus
# 手动触发测试
openclawheartbeatrun--now
# 查看心跳日志
openclawlogs--filterheartbeat
6.3 优化执行效率
减少Token消耗:
– Heartbeat的检查清单保持简洁
– 避免在清单中放入过于复杂的任务
– 使用条件判断减少无效执行
提高响应速度:
– 优先执行高优先级检查
– 超过30秒的任务考虑是否必要
– 批量操作替代逐个处理
七、真实用户案例
案例一:产品经理的高效日常
某互联网公司产品经理@王五配置了以下自动化:
- 08:00 Cron生成早间简报(天气+日历+邮件)
- 09:30 Heartbeat检查Slack新消息,重要消息推送
- 12:00 Cron汇总上午工作进度
- 18:00 Cron生成下班前任务清单
- 22:00 Heartbeat整理当日重要事项写入MEMORY.md
效果:每天节省约45分钟的信息整理时间,工作效率提升25%。
案例二:研究人员的论文追踪
某高校AI方向博士研究生@李六配置:
- 每日09:00 自动搜索arXiv最新论文
- 每日19:00 推送当天8篇精选论文摘要
- 每周五16:00 生成本周论文阅读笔记汇总
效果:不再错过重要论文,文献阅读效率提升3倍。
案例三:创业者的内容运营
某AI startup创始人@赵七配置:
- 每周三/六 20:00 自动生成公众号文章草稿
- 每天08:00 推送昨日数据报告(网站UV、转化率)
- 每日09:00 竞品动态监控报告
效果:保持每日内容更新,零手动操作。
八、总结
Cron定时任务和Heartbeat心跳系统是OpenClaw实现”主动AI”的两大核心机制。
Cron适合精确时间的计划任务,它让你不再需要”记得去做某件事”——AI会在约定的时间自动执行。
Heartbeat适合持续运行的后台检查,它让AI能够”感知环境的变化”并在必要时主动提醒你。
两者结合,构成了一个完整的主动型AI工作流:
Cron(精确时间) → 执行确定性任务(报告、发布、总结)
Heartbeat(持续运行) → 检查环境变化(邮件、天气、状态)
下一篇文章我们将进入多Agent系统领域:《OpenClaw多Agent系统:用多个AI协作完成复杂任务》。
作者署名:TJMtaotao
来源:MEITUSTYLE公众号
本文由AI辅助创作
往期回顾:
《OpenClaw全面介绍:从开源AI助手到2026年最火爆的个人生产力工具》
《OpenClaw架构深度解析:Gateway、Agent Runtime与Lobster工作流引擎》
《OpenClaw安全完全指南:2026年威胁态势与防护实战手册》
《OpenClaw技能系统完全指南:从入门到精通ClawHub使用》
下篇预告:
《OpenClaw多Agent系统:用多个AI协作完成复杂任务》
—
本文由AI辅助创作
作者:TJMtaotao
发表于:MEITUSTYLE
夜雨聆风