OpenClaw教程(七)—— 解锁OpenClaw自动化
本文介绍了如何为OpenClaw AI助手配置自动化功能,使其能够主动执行任务。主要内容包括:1)心跳机制(Heartbeat) - 设置30分钟间隔的周期性检查,读取HEARTBEAT.md任务清单执行监控;2)定时任务(CronJobs) - 通过cron表达式精确调度独立任务;3)两者的区别与最佳实践:心跳适合周期性批量检查,定时任务适合精确调度。通过这两种机制的配合使用,可以让AI助手实现
在上一篇文章中,我们打开了AI小助手的技能宝库,让AI小助手能够利用各种工具来协助我们做好工作。那么今天,大家就跟着我一起来解锁OpenClaw的自动化能力,让AI小助手主动去工作。
相信跟着我一起搭建的小伙伴们,已经发现了,AI小助手现在已经可以干很多事情了,它有灵魂、懂你、能上网搜索、能自己浏览网页并完成一些浏览器操作,但是这些都是我们让它去做的时候,它才会去做,如果我们不找它,他就什么都不做。
网站挂了它不主动告诉你,邮件一堆未读它不去看,日历上的待办事项都要结束了它都不提醒,它就安安静静的待在服务器里,等你开口。他就像一位全能的管家,可以把你交代的任何事情做好,但是它不会主动去做事,你不说它就不动。那么今天我们就来解决这个问题,让我们的AI小助手主动动起来!
一、心跳机制——Heartbeat
Heartbeat是OpenClaw里最核心的机制之一,心跳在主会话中运行周期性智能体轮次,使模型能够在不打扰你的情况下提醒需要关注的事项。
1、了解心跳机制
OpenClaw默认的心跳间隔是30分钟(当检测到认证模式为Anthropic OAuth/setup-token 时为1小时),OpenClaw会按照设定的间隔向助手 发送一个心跳信号,当助手收到信号后,会做如下工作:
1)读取 HEARTBEAT.md 文件中所设定的任务清单;
2)根据任务清单,AI助手会按顺序执行;
3)如果检查到需要提醒 的事项,就会主动通知你;
4)如果一切正常,或没有配置任务清单,会回复一个HEARTBEAT_OK。
2、设置心跳间隔
我们执行以下命令可以在OpenClaw的配置中设置心跳:
openclaw configure --section gateway
在设置向导中可以调整心跳间隔,当然我们也可以直接去编辑配置文件来到达调整的目的:
{
agents: {
defaults: {
heartbeat: {
every: "30m",
target: "last", //决定心跳消息发送到哪里(默认 target: "last")
// activeHours: { start: "08:00", end: "24:00" }, //可选:将心跳限制在活动时段(本地时间)
// includeReasoning: true, // 可选:同时发送单独的 `Reasoning:` 消息
},
},
},
}
常用设置:
-
15m — 比较频繁,适合工作日白天
-
30m — 默认值,平衡效率和成本
-
1h — 比较节省,适合非工作时间
3、配置 HEARTBEAT.md 检查清单
编辑 HEARTBEAT.md 文件:
vim ~/.openclaw/workspace/HEARTBEAT.md
大家可以参考我是如何设置的:
# 心跳任务
## 每次检查
- 查看是否有重要邮件
- 查看日历,2小时内有没有会议要提醒
## 每天检查 2-3 次
- 检查网站是否正常访问
- 检查服务器状态是否正常
## 不需要主动做
- 天气查询(等我问再查)
二、定时任务——Cron Jobs
定时任务是 Gateway网关内置的调度器。它持久化任务、在合适的时间唤醒智能体,并可选择将输出发送回聊天。
如果你想要 “每天早上运行” 或 “20 分钟后提醒智能体”,定时任务就是对应的机制。
1、定时任务原理
1)定时任务运行在Gateway网关内部(而非模型内部);
2)任务持久化存储在 ~/.openclaw/cron/ 下面,因此不会因为重启从而丢失定时任务的计划;
3)两种执行方式:
-
主会话:入队一个系统事件,然后在下一次心跳时运行。
-
隔离式:在 cron:<jobId> 中运行专用智能体轮次,可投递摘要(默认 announce)或不投递。
4)唤醒是一等功能:任务可以请求“立即唤醒”或“下次心跳时”。
2、创建Cron任务
openclaw cron add --name "晨间简报" --cron "0 8 * * *" \
--system-event "生成今日简报:检查邮件、日历、网站数据,整理成一条消息发给我"
如果对cron表达式不清楚的,可以去搜索一下,对linux的crontab有所了解的,就容易上手了,因为两个表达式是一样的:
分 时 日 月 周
0 8 * * * → 每天 8:00
0 9 * * 1 → 每周一 9:00
0 10 1 * * → 每月 1 号 10:00
*/15 9-18 * * 1-5 → 工作日 9:00-18:00 每 15 分钟
三、定时任务与心跳对比
1、什么时候用
|
使用场景 |
推荐方式 |
原因 |
|---|---|---|
|
每 30 分钟检查收件箱 |
心跳 |
可与其他检查批量处理,具备上下文感知能力 |
|
每天上午 9 点准时发送报告 |
定时任务(隔离式) |
需要精确定时 |
|
监控日历中即将到来的事件 |
心跳 |
天然适合周期性感知 |
|
运行每周深度分析 |
定时任务(隔离式) |
独立任务,可使用不同模型 |
|
20 分钟后提醒我 |
定时任务(主会话,--at) |
精确定时的一次性任务 |
|
后台项目健康检查 |
心跳 |
搭载在现有周期上 |
简单规则:隔一会儿看一眼的事 → 心跳;精确到几点做的事 → Cron。
2、心跳:周期性感知
心跳在主会话中以固定间隔运行(默认:30 分钟)。它的设计目的是让智能体检查各种事项并呈现重要信息。
在多个周期性检查、上下文感知决策、对话联系性以及低开销监控时更适合使用心跳。
心跳的优势是可以批量处理多项检查,减少API调用,加强了上下文感知,并且在没有需要关注的事项时,不会投递任何消息。
3、定时任务:精确调度
定时任务在精确时间运行,可以在隔离会话中运行而不影响主会话上下文。
在需要精确定时、独立任务、不同的模型/思维级别、一次性提醒、复杂的任务、外部触发器时适合使用定时任务。
定时任务的优势是精确定时,会话隔离,可按任务使用更便宜或更强大的模型,即使主会话空闲或已压缩,也能运行。
4、最佳使用方式
最高效的配置是两者结合:
-
心跳处理常规监控(收件箱、日历、通知),每 30 分钟批量处理一次。
-
定时任务处理精确调度(每日报告、每周回顾)和一次性提醒。
好了,经过这篇文章的介绍,我想大家已经设置好了OpenClaw的心跳配置和定时任务,从此以后,你的AI助手就能够主动做事啦!
下一篇我将带着大家一起来打造AI小助手的记忆系统,期待大家和我一起完成这个操作!
更多推荐


所有评论(0)