框架-openclaw-4.进阶配置- Cron 定时任务配置教程

每天自动发新闻/周报/服务巡检

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
2
3
4
5
0 9 * * *     每天早上 9 点
0 9 * * 1 每周一早上 9 点
0 9,18 * * * 每天 9 点和 18 点
*/30 * * * * 每 30 分钟
0 0 1 * * 每月 1 号零点

OpenClaw Cron 两种执行模式

  • systemEvent(往主 session 注入消息,适合提醒):
1
2
3
4
{
"payload": { "kind": "systemEvent", "text": "提醒:10 分钟后有会议" },
"sessionTarget": "main"
}
  • agentTurn(开独立 session 执行任务,适合操作类):
1
2
3
4
5
{
"payload": { "kind": "agentTurn", "message": "...", "model": "haiku" },
"sessionTarget": "isolated",
"delivery": { "mode": "announce" }
}

💡 sessionTarget: "main" 只能搭配 systemEvent;sessionTarget: "isolated" 只能搭配 agentTurn。搞混会报错。

OpenClaw Cron 实用场景配置(完整 JSON,可直接复制)

场景 1:每天早上自动发科技新闻摘要

1
2
3
4
5
6
7
8
9
10
11
{
"name": "每日早报",
"schedule": { "kind": "cron", "expr": "0 9 * * *", "tz": "Asia/Shanghai" },
"payload": {
"kind": "agentTurn",
"message": "搜索今天的科技和 AI 领域新闻热点,整理成 5 条简报。每条包含:标题、一句话摘要、来源链接。",
"model": "haiku"
},
"sessionTarget": "isolated",
"delivery": { "mode": "announce" }
}

场景 2:每小时服务器状态巡检,挂了才通知

1
2
3
4
5
6
7
8
9
10
11
{
"name": "服务巡检",
"schedule": { "kind": "every", "everyMs": 3600000 },
"payload": {
"kind": "agentTurn",
"message": "用 curl 检查以下服务是否在线:\n1. http://localhost:8080\n2. http://localhost:3000\n\n如果全部正常,不要通知我。只有挂了才通知,说明哪个挂了、返回了什么错误码。",
"model": "haiku"
},
"sessionTarget": "isolated",
"delivery": { "mode": "announce" }
}

场景 3:每周一自动生成项目周报

1
2
3
4
5
6
7
8
9
10
11
{
"name": "项目周报",
"schedule": { "kind": "cron", "expr": "0 10 * * 1", "tz": "Asia/Shanghai" },
"payload": {
"kind": "agentTurn",
"message": "读取 memory/ 目录下最近 7 天的日志文件,整理成一份周报。包含:本周完成的事项、进行中的项目、遇到的问题、下周计划。格式简洁,用 bullet points。",
"model": "sonnet"
},
"sessionTarget": "isolated",
"delivery": { "mode": "announce" }
}

场景 4:N 分钟后提醒我(一次性)
直接跟 AI 说”帮我设一个 20 分钟后的提醒”,AI 会自动创建任务。手动配置示例:

1
2
3
4
5
6
{
"name": "喝水提醒",
"schedule": { "kind": "at", "at": "2026-02-23T04:20:00Z" },
"payload": { "kind": "systemEvent", "text": "⏰ 提醒:该喝水了!" },
"sessionTarget": "main"
}

OpenClaw Cron 任务管理命令

1
2
3
openclaw cron list                     # 查看所有任务
openclaw cron runs --id <任务ID> # 查看执行历史
openclaw cron edit <任务ID> --disable # 禁用(推荐,而不是删除)
-------------本文结束感谢您的阅读-------------