Automation 导读

Cron 定时任务:Gateway 内置调度器,持久化、可唤醒、能回传结果

先跑 `openclaw cron add --at "2026-02-01T16:00:00Z" --session main --wake now --delete-after-run` 创建一个一次性提醒,再用 `cron list` 确认。注意:同时指定日与周几时是“或”逻辑(每月触发 5~6 次而非 0~1 次),如需“与”逻辑请用 `+` 修饰符。

先讲这一页到底在解决什么

Cron 定时任务:Gateway 内置调度器,持久化、可唤醒、能回传结果

先跑 `openclaw cron add --at "2026-02-01T16:00:00Z" --session main --wake now --delete-after-run` 创建一个一次性提醒,再用 `cron list` 确认。注意:同时指定日与周几时是“或”逻辑(每月触发 5~6 次而非 0~1 次),如需“与”逻辑请用 `+` 修饰符。

原文共 21 节,先看 Start Here 路径:/automation/cron-jobs 查看官方原文

第一步

🧭 先抓住两个问题:什么时候做?在哪儿做?

官方写得很长,其实都围着这两件事在转。

📅 什么时候做

一次性、每隔多久、按日历钟点,这些都归 schedule 管。

🏠 在哪儿做

是塞进主会话、开独立小房间跑,还是绑定当前会话继续聊,这归 sessionTarget 管。

🎈 一句话

Cron 就是“定时 + 任务地点”。

第二步

🏠 主会话和隔离会话,像“在客厅提醒”还是“去小黑屋单独干活”

这是这页最值得读懂的地方。

🛋

Main session

像把一张提醒纸条放进客厅,等主老师下一次 heartbeat 来看到并处理。

🧪

Isolated

像单独开一间小房间,叫老师进去把这件事做完,不打扰客厅聊天。

🪢

Current session

像把任务绑到你现在这本对话笔记上,后面继续沿着这条线做。

🏷

Custom session

像给某类固定工作单独准备一本长期任务本。

第三步

🛠 那几条 CLI 命令,像“给广播员写任务卡”

别把它们只当命令看。每个 flag 都像在填任务卡上的一格。

--at "2026-02-01T16:00:00Z"

像写“这张卡就在这个准确时刻响铃”。

--cron "0 7 * * *"

像写“每天早上 7 点,固定广播一次”。

--session isolated

像在卡片上写“别在客厅吵,去小房间单独做”。

--announce --channel slack --to "channel:..."

像写明“做完以后,把结果送到这扇门口去报信”。

第四步

📦 Job store 和 run log,像“任务账本”和“执行流水”

官方反复提 ~/.openclaw/cron/,是在告诉你:Cron 不是临时记忆,它会把任务真的记下来。

jobs.json 像广播员的任务总账本,重启了也不会忘;runs/<jobId>.jsonl 像每次广播执行后的流水记录,方便你回头查“它到底做了没,怎么做的”。

第五步

🛟 重试策略,像“广播员发现门没开,就先等等再敲几次”

这部分看起来像规则表,其实很好懂。

瞬时错误

像门一时堵住了、对方太忙、网络抖了一下。Cron 会过会儿再敲门。

永久错误

像你根本拿错钥匙、填错门牌、配置本身不合法。那就不是“多敲几次”能解决的。

🎈 一句话

会重试的是“暂时不通”,不会重试的是“从一开始就走错门”。

最后总结

🎈 把 Cron 这页压成一句最好记的话

Cron 是 Gateway 里的定时广播员。你给它一张任务卡,写清楚什么时候响、在哪儿跑、做完往哪儿报,它就会按时去叫老师干活。