每天自动发新闻/周报/服务巡检
OpenClaw Heartbeat VS Cron 的区别
Cron 是一个 Linux 系统下的定时任务管理工具,它可以在指定的时间间隔内执行指定的任务。而 Heartbeat 是 OpenClaw 的一个内置功能,它可以在指定的时间间隔内执行指定的任务,但与 Cron 不同的是,Heartbeat 是在主 session 里执行,而 Cron 可以在任意的 session 里执行。
选 Heartbeat:顺便检查的轻量任务、需要最近聊天上下文。
选 Cron:需要精确时间、不干扰主对话、想省钱指定便宜模型、一次性提醒。
| Heartbeat | Cron | |
|---|---|---|
| 精度 | 大约每 30 分钟(会有偏差) | 精确到分钟(cron 表达式) |
| 执行环境 | 在主 session 里执行 | 可以开独立 session |
| 模型 | 用主脑的模型 | 可以指定不同模型 |
| 适合 | 批量轻量检查 | 精确定时、独立任务 |
OpenClaw Cron 三种调度类型详解
at — 一次性定时(执行完自动删除):
1 | "schedule": { "kind": "at", "at": "2026-02-23T16:00:00+08:00" } |
every — 固定间隔循环:
1 | "schedule": { "kind": "every", "everyMs": 3600000 } |
常用换算:5 分钟 = 300000、30 分钟 = 1800000、1 小时 = 3600000
cron — cron 表达式(最灵活,格式:分 时 日 月 星期):
1 | "schedule": { "kind": "cron", "expr": "0 9 * * 1", "tz": "Asia/Shanghai" } |
常用 cron 表达式速查:
1 | 0 9 * * * 每天早上 9 点 |
OpenClaw Cron 两种执行模式
- systemEvent(往主 session 注入消息,适合提醒):
1 | { |
- agentTurn(开独立 session 执行任务,适合操作类):
1 | { |
💡 sessionTarget: "main" 只能搭配 systemEvent;sessionTarget: "isolated" 只能搭配 agentTurn。搞混会报错。
OpenClaw Cron 实用场景配置(完整 JSON,可直接复制)
场景 1:每天早上自动发科技新闻摘要
1 | { |
场景 2:每小时服务器状态巡检,挂了才通知
1 | { |
场景 3:每周一自动生成项目周报
1 | { |
场景 4:N 分钟后提醒我(一次性)
直接跟 AI 说”帮我设一个 20 分钟后的提醒”,AI 会自动创建任务。手动配置示例:
1 | { |
OpenClaw Cron 任务管理命令
1 | openclaw cron list # 查看所有任务 |