【漫说龙虾】合集请看➡️:漫说龙虾系列
上一集我们给OpenClaw装上了"搜索超能力",让它帮你找资料。今天我们给它装上"时间管理超能力"——定时任务。
想象一下:每天早上8点,OpenClaw准时弹出天气加日程;每周一早上9点自动生成周报;下午3点提醒你开会。这些都不用你操心,OpenClaw自己记住,到点就干活。
这就是cron系统的威力。
场景引入:凡哥又忘了事

什么是定时任务?

定时推送 vs 被动等待
| 被动等待 | ||
| 定时推送 |

cron系统入门
OpenClaw的定时任务基于cron系统,支持三种调度方式:
1. 一次性任务(at)
设置一个具体时间,只执行一次。
openclaw cron add \ --name "会议提醒" \ --at "2026-03-26T15:00:00+08:00" \ --session main \ --system-event "提醒:下午3点产品评审会" \ --wake now \ --delete-after-run常见场景:
• "20分钟后提醒我开会" • "明天下午3点提醒我交报告"
时间写法小技巧:
• 2026-03-26T15:00:00+08:00= 北京时间下午3点• 20m= 20分钟后(相对时间)• 2h= 2小时后
2. 间隔任务(every)
每隔一段时间执行一次。
openclaw cron add \ --name "健康提醒" \ --every "1h" \ --session main \ --system-event "提醒:站起来活动一下,眺望远方!" \ --wake now3. 循环任务(cron表达式)
最强大的一种,用5个字段表示时间规则:
┌───────────── 分钟 (0-59)│ ┌─────────── 小时 (0-23)│ │ ┌───────── 日 (1-31)│ │ │ ┌─────── 月 (1-12)│ │ │ │ ┌───── 星期 (0-7,0和7都是周日)│ │ │ │ │* * * * *常见例子:
0 8 * * * | |
0 9 * * 1 | |
30 8 * * * | |
0 */2 * * * | |
0 8 * * 1-5 |

实操:设置每天8点推送天气+日程
小钳坐好,准备演示。
小钳:"来,我们设一个最常用的——每天早上8点推送天气和日程。"
# 每天早上8点(北京时间)推送天气+日程openclaw cron add \ --name "早安推送" \ --cron "0 8 * * *" \ --tz "Asia/Shanghai" \ --session isolated \ --message "你是小钳,帮我完成以下任务:1. 查询今天北京的天气(温度、空气质量)2. 查看今天日历上的日程安排3. 整理成简洁的早安简报格式" \ --announce \ --channel telegram \ --to "你的Telegram聊天ID"
参数说明:
--name "早安推送" | |
--cron "0 8 * * *" | |
--tz "Asia/Shanghai" | |
--session isolated | |
--message "..." | |
--announce | |
--channel telegram |
查看任务:
# 列出所有定时任务openclaw cron list# 查看某个任务的运行历史openclaw cron runs --id <job-id>删除任务:
openclaw cron remove <job-id>主会话 vs 独立会话
什么时候用主会话(main)?
• 需要参考你当前的对话上下文 • 任务和正在进行的工作相关 • 想让结果出现在主聊天记录里
openclaw cron add \ --name "项目检查" \ --every "4h" \ --session main \ --system-event "检查项目进度,有问题及时汇报" \ --wake now什么时候用独立会话(isolated)?
• 不需要历史上下文,干净利落 • 频繁执行,不想污染主对话 • 需要推送到其他渠道(Telegram、微信等)
openclaw cron add \ --name "定时摘要" \ --cron "0 22 * * *" \ --session isolated \ --message "生成今日工作摘要" \ --announce \ --channel telegram \ --to "你的ID"配置箱:cron常用配置
配置文件位置:~/.openclaw/cron/jobs.json
完整配置示例:
{ cron: { enabled: true, // 默认开启 store: "~/.openclaw/cron/jobs.json", maxConcurrentRuns: 1, // 最多同时跑几个任务 sessionRetention: "24h", // 独立会话保留时间 runLog: { maxBytes: "2mb", // 日志文件最大2MB keepLines: 2000, // 保留最近2000行 }, },}常用命令速查:
openclaw cron add --name "提醒" --at "20m" --session main --system-event "内容" --wake now | |
openclaw cron add --name "任务" --cron "0 8 * * *" --tz "Asia/Shanghai" --session isolated --message "内容" --announce | |
openclaw cron list | |
openclaw cron run <job-id> | |
openclaw cron runs --id <job-id> | |
openclaw cron remove <job-id> | |
openclaw cron edit <job-id> --enabled false--enabled true |
避坑提示
坑1:忘记设时区
# 错误:按UTC时间跑,凌晨3点把你叫醒--cron "0 8 * * *"# 正确:明确指定北京时间--cron "0 8 * * *" --tz "Asia/Shanghai"坑2:独立会话忘记设置announce
独立会话默认会把结果推送给用户,但如果你用的是--session isolated而没有--announce,结果可能就静默丢失了。
坑3:cron表达式写错
* * * * * 不是"每分钟",每分钟应该是 * * * * *(每小时的第0分钟)。最常见的错误是把 0 * * * * 记成每天零点——实际上那是"每小时整点"。
• 每分钟: * * * * *• 每小时: 0 * * * *• 每天零点: 0 0 * * *
效果展示

下期预告
下一集我们要给OpenClaw接入Telegram——让它真正变成你的专属聊天机器人,随时随地接收指令、推送消息。
到时候,凡哥就能在床上、地铁上、马桶上……呃,各种姿势地使用OpenClaw了。
敬请期待——第9集:消息渠道——Telegram接入



欢迎加入交流群
一起赢在AI时代

后台加凡哥微信后入群
夜雨聆风