教程

OpenClaw Cron 定时任务与 Heartbeat 完全指南:让 AI 助手 24 小时主动工作

OpenClaw Cron 定时任务与 Heartbeat 完整教程:Cron 表达式配置、Heartbeat 轮询机制、HEARTBEAT.md 编写、定时发送通知、周期性数据检查、自动日报生成,以及 Cron vs Heartbeat 选择指南和最佳实践。

2026/3/154分钟 阅读ClaudeEagle

OpenClaw 不只是等你发消息才工作——通过 Cron 和 Heartbeat,你的 AI 助手可以主动在指定时间执行任务、发送通知、监控状态。

Cron vs Heartbeat:怎么选

CronHeartbeat
触发时间精确时间(如每天 9:00)周期性轮询(每 N 分钟)
适合固定时间任务批量周期检查
上下文独立会话主会话
配置方式openclaw cron addHEARTBEAT.md

经验规则

  • 需要精确时间(每天 9 点发日报)-> 用 Cron
  • 需要每隔一段时间检查多件事 -> 用 Heartbeat
  • 能批量合并的周期检查 -> Heartbeat(减少 API 消耗)

Cron 定时任务

添加 Cron 任务

bash
# 每天早上 9 点发服务器状态报告
openclaw cron add \
  --schedule '0 9 * * *' \
  --task '检查服务器 CPU、内存、磁盘状态,把报告发到 Telegram'

# 每周一早上 8 点发周报提醒
openclaw cron add \
  --schedule '0 8 * * 1' \
  --task '生成上周工作总结,发到 Telegram'

# 每小时检查网站可用性
openclaw cron add \
  --schedule '0 * * * *' \
  --task '检查 https://yoursite.com 是否可访问,不可用时发警告'

Cron 表达式格式

分 时 日 月 周 | | | | | 0 9 * * * -> 每天 9:00 0 9 * * 1 -> 每周一 9:00 */30 * * * * -> 每 30 分钟 0 8,18 * * * -> 每天 8:00 和 18:00

管理 Cron 任务

bash
openclaw cron list          # 列出所有任务
openclaw cron disable <id>  # 禁用某个任务
openclaw cron delete <id>   # 删除任务
openclaw cron run <id>      # 立即执行一次(测试)

Heartbeat 轮询

Heartbeat 是 OpenClaw 定期向主 Agent 发送的轮询信号,Agent 根据 HEARTBEAT.md 决定要做什么。

配置 Heartbeat 间隔

bash
# ~/.openclaw/config.json
{
  "heartbeat": {
    "enabled": true,
    "intervalMinutes": 30
  }
}

编写 HEARTBEAT.md

markdown
# HEARTBEAT.md

每次收到心跳时,按以下顺序检查(不要全部都检查,轮流做):

## 检查清单

### 邮件(每 2 小时)
- 检查有没有未读的重要邮件
- 有紧急邮件就发 Telegram 通知

### 日历(每天早上 8 点前)
- 查看今天的日程
- 有会议提前 30 分钟提醒

### 服务器监控(每小时)
- CPU > 80% 或内存 > 90% 发警告

### 记忆整理(每周)
- 读取近期 memory/*.md
- 更新 MEMORY.md 长期记忆

## 状态跟踪
记录每次检查时间到 memory/heartbeat-state.json
避免同一事项短时间内重复检查

heartbeat-state.json 示例

json
{
  "lastChecks": {
    "email": 1710000000,
    "calendar": 1709990000,
    "server": 1710001000
  },
  "intervals": {
    "email": 7200,
    "calendar": 86400,
    "server": 3600
  }
}

实用配置案例

案例 1:内容发布机器人

bash
# 每天 9 点自动搜索和发布文章
openclaw cron add \
  --schedule '0 9 * * *' \
  --task '按照 SOUL.md 的内容策略,搜索并发布 10 篇今日文章到网站'

案例 2:GitHub PR 监控

bash
# 每 30 分钟检查是否有新 PR 需要 review
openclaw cron add \
  --schedule '*/30 * * * *' \
  --task '检查 GitHub 的待处理 PR,有新的就发 Telegram 通知并附上摘要'

案例 3:价格监控

bash
# 每天检查一次目标商品价格
openclaw cron add \
  --schedule '0 10 * * *' \
  --task '检查 Amazon 上 [商品链接] 的价格,如果低于 $XX 发通知'

安静时间设置

markdown
# HEARTBEAT.md 里加上安静时间规则

## 安静时间
- 23:00 - 08:00 不主动发通知(除非紧急情况)
- 紧急定义:服务器宕机、重要邮件、安全告警

最佳实践

1. Heartbeat 任务要快:每次 Heartbeat 最多做 1-2 件事,不要做耗时的操作。

2. 用 state.json 避免重复:记录每次检查时间,同一事项不要频繁重复。

3. 区分「提醒」和「行动」:Heartbeat 主要用于提醒,复杂行动改用 Cron 独立任务。

4. 测试先于部署:添加 Cron 任务后先用 openclaw cron run <id> 测试一次。


来源:OpenClaw 官方文档 | Cron & Heartbeat

相关文章推荐

教程OpenClaw Cron Jobs 完全指南:定时任务、孤立执行与多频道投递配置OpenClaw Cron Jobs 完整配置指南:三种调度模式(一次性/固定间隔/Cron 表达式)、Main/Isolated 两种执行模式、多频道投递配置(Telegram/WhatsApp/Slack)、模型覆盖、多 Agent 绑定、重试策略,以及常用 CLI 命令和问题排查。2026/3/10教程Claude Code 定时任务(Scheduled Tasks)完全指南:/loop 命令、Cron 表达式与三日自动过期Claude Code 定时任务完整指南:/loop Bundled Skill(三种间隔写法:前置 token/trailing every/默认 10 分钟;对 Skill 命令循环执行)、一次性自然语言提醒(自动删除)、CronCreate/CronList/CronDelete 三个底层工具、运行机制(低优先级/两轮之间触发/本地时区)、随机延迟机制(重复任务 0~10% 偏移/单次任务 90 秒)、三日自动过期、Cron 表达式参考表、CLAUDE_CODE_DISABLE_CRON 禁用,以及会话级局限性(退出消失/无补偿/无持久化)和持久化替代方案(Desktop/GitHub Actions)。2026/3/8教程OpenClaw Cron Jobs 自动化指南:定时任务、隔离会话与多渠道推送OpenClaw 内置 Gateway 调度器支持持久化定时任务,可按时唤醒 AI Agent 并将结果推送到 Telegram、Slack 等频道。本文详解一次性提醒、循环任务、主会话 vs 隔离会话两种执行模式、Announce/Webhook/无推送三种输出方式,附大量实用示例。2026/2/27教程OpenClaw Hooks 系统指南:事件驱动自动化与自定义 Handler 开发OpenClaw Hooks 事件驱动系统完整指南:4 个内置 Hook 详解(session-memory/bootstrap-extra-files/command-logger/boot-md)、HOOK.md 格式规范、handler.ts 实现示例、全部事件类型(命令/Session/Agent/Gateway/消息),5 步创建自定义 Hook 与最佳实践。2026/3/10教程Claude Code Cron 定时任务完全指南:定时提醒、自动报告与后台自动化OpenClaw Cron 定时任务完全指南:配置语法、常用时间表达式、每日早报/代码健康检查/服务监控等实用场景示例,以及 Cron vs Heartbeat 的选择策略和任务会话隔离机制。2026/3/1教程OpenClaw Standing Orders 完全指南:让 AI 记住你的长期规则和行为偏好OpenClaw Standing Orders(常驻指令)功能完整教程:Standing Orders 与 SOUL.md 的区别(动态运行时规则 vs 静态人格文件)、通过对话动态添加/查看/删除常驻指令、指令的持久化存储与跨会话生效机制、适合写入 Standing Orders 的内容类型(格式偏好/禁止行为/固定工作流)、与 Hooks 的协同使用、按渠道/Agent 设置不同的 Standing Orders,以及常驻指令的最佳实践(写清晰的规则、避免矛盾冲突、定期清理过时规则)。2026/3/26