OpenClaw Cron 是 Gateway 内置的调度器,让 AI 可以在指定时间自动执行任务、发送提醒、推送早报
Cron 是 Gateway 内置的任务调度器,有以下特点:
~/.openclaw/cron/,重启不丢失设置一次性或重复提醒,到点自动通知
支持 Cron 表达式,精确控制执行时间
任务完成后自动发送到微信/Telegram/Discord
支持立即唤醒或等待下次心跳
openclaw cron add \ --name "Reminder" \ --at "2026-02-01T16:00:00Z" \ --session main \ --system-event "Reminder: check the cron docs draft" \ --wake now \ --delete-after-run
openclaw cron add \ --name "Morning brief" \ --cron "0 7 * * *" \ --tz "America/Los_Angeles" \ --session isolated \ --message "Summarize overnight updates." \ --announce \ --channel slack \ --to "channel:C1234567890"
# 列出所有任务 openclaw cron list # 手动运行任务 openclaw cron run <job-id> # 查看运行历史 openclaw cron runs --id <job-id> --limit 50
任务加入系统事件队列,在下次心跳时运行。使用主会话上下文。
# 特点
- 使用正常的心跳提示词
- 共享主会话上下文
- 适合需要上下文的任务
在独立的 cron:<jobId> 会话中运行专门的 Agent 轮次。
# 特点
- 每次运行是新的会话 ID
- 无历史对话继承
- 默认会推送结果摘要
- 适合频繁的后台任务
绑定到创建任务时的当前会话。
在持久化的命名会话中运行,保持跨运行的上下文。
# 适合场景
- 每日站会(基于之前的总结继续)
- 项目监控(累积状态)
- 长期任务追踪
{
"schedule": {
"kind": "at",
"at": "2026-02-01T16:00:00Z"
}
}
{
"schedule": {
"kind": "every",
"everyMs": 300000 // 5 分钟
}
}
{
"schedule": {
"kind": "cron",
"expr": "0 7 * * *", // 每天早上 7 点
"tz": "Asia/Shanghai"
}
}
# Cron 表达式格式
┌───────────── 分钟 (0 - 59)
│ ┌───────────── 小时 (0 - 23)
│ │ ┌───────────── 日 (1 - 31)
│ │ │ ┌───────────── 月 (1 - 12)
│ │ │ │ ┌───────────── 星期 (0 - 6)
│ │ │ │ │
* * * * *
通过输出频道直接发送结果。
{
"delivery": {
"mode": "announce",
"channel": "telegram",
"to": "-1001234567890:topic:123",
"bestEffort": true
}
}
POST 到指定的 HTTP URL。
{
"delivery": {
"mode": "webhook",
"to": "https://your-server.com/webhook"
}
}
仅内部执行,不推送结果。
# 每天早上 7 点自动发送早报
openclaw cron add \
--name "每日早报" \
--cron "0 7 * * *" \
--tz "Asia/Shanghai" \
--session isolated \
--message "汇总今天的热点新闻、天气信息、日程安排" \
--announce \
--channel telegram \
--to "你的TelegramID"
# 每小时检查系统状态
openclaw cron add \
--name "系统健康检查" \
--cron "0 * * * *" \
--tz "Asia/Shanghai" \
--session isolated \
--message "检查服务器状态,内存、CPU、磁盘使用情况" \
--announce \
--channel discord \
--to "channel:123456789"
# 20分钟后提醒
openclaw cron add \
--name "会议提醒" \
--at "20m" \
--session main \
--system-event "会议将在 10 分钟后开始" \
--wake now \
--delete-after-run