自动化

OpenClaw 通过 cronheartbeat 两种机制实现自动执行任务。

启用 Cron

在配置文件中启用定时任务支持:

{
  cron: {
    enabled: true,
    maxConcurrentRuns: 2,
  },
}

Cron 任务管理

# 新增任务(每天 9 点执行)
openclaw cron add --schedule "0 9 * * *" \
  --message "总结昨天的邮件并发到 Telegram" \
  --channel telegram --target <你的ChatID>

# 查看所有任务
openclaw cron list

# 删除任务
openclaw cron remove <cron-id>

Schedule 语法

使用标准 cron 表达式:

分 时 日 月 星期
0  9  *  *  *      # 每天 9:00
*/30 * * * *       # 每 30 分钟
0  9  * * 1-5      # 工作日 9:00
0  0  1  * *       # 每月 1 日 0:00

Heartbeat(周期检查)

Heartbeat 适用于需要持续轮询检查的场景:

{
  agents: {
    defaults: {
      heartbeat: {
        every: "30m",
        target: "last",
        model: "openai/gpt-5-mini",
      },
    },
  },
}

在工作空间创建 HEARTBEAT.md,定义检查清单(邮箱、日历、通知等),Agent 会按照清单周期性检查并汇报。

Cron 与 Heartbeat 的选择

场景推荐方式
精确时间触发(每天 9 点)Cron
周期性巡检、状态监控Heartbeat
需要复用上下文Heartbeat
一次性定时任务Cron