乐于分享
好东西不私藏

OpenClaw 喂饭级教程:Cron 定时任务让 AI 每天自动帮你干活

OpenClaw 喂饭级教程:Cron 定时任务让 AI 每天自动帮你干活

你是不是也有这样的烦恼——

每天早上想看看科技新闻,但总是忘记;
想定时备份文件,但每次都要手动执行;
想让 AI 每天自动帮你发群消息、检查邮件、整理数据……

如果有个「闹钟」,到点就自动唤醒 AI 帮你干活,那该多好?

今天教你用 OpenClaw 的 Cron 定时任务,让 AI 变成 24 小时自动值守的助手。

这是我跑了 18 个自动化任务 30 天的实战经验,昨天还踩了个三层配置的大坑,今天全写进来了。

你需要准备什么

✅ 一台电脑(Mac / Linux / Windows 都行)

✅ 已装好 OpenClaw(没装的先看官方文档)

✅ Gateway 正在运行openclaw gateway status 检查)

确认 Gateway 在跑,就可以开始了。

第一步:创建你的第一个定时任务

我们从一个最简单的例子开始——每天早上 9 点,让 AI 给你推送科技新闻

打开终端,复制下面这行命令,粘贴进去按回车:

openclaw cron add \
  --name "每日科技新闻" \
  --cron "0 9 * * *" \
  --tz "Asia/Shanghai" \
  --session isolated \
  --message "搜索今天最新的 AI 和科技新闻,整理成 5 条简报推送给我" \
  --announce

看到 Cron job added 就成功了。

💡 这行命令在说什么?

--name:给任务起个名字,方便辨认
--cron "0 9 * * *":每天早上 9 点整执行
--tz "Asia/Shanghai":用北京时间(很重要!)
--session isolated:每次执行用独立会话,不污染主聊天
--message:到点后让 AI 做什么
--announce:执行完把结果推送给你

第二步:理解 Cron 表达式(大白话版)

0 9 * * * 这串看着像乱码的东西,其实是 Cron 表达式。

别怕,我用人话翻译一下:

位置 代表 取值 我们的例子
第 1 位 分钟 0-59 0(整点)
第 2 位 小时 0-23 9(早上 9 点)
第 3 位 日期 1-31 *(每天)
第 4 位 月份 1-12 *(每月)
第 5 位 星期 0-7 *(不管星期几)

常用表达式速查:

0 9 * * * → 每天早上 9 点

*/30 * * * * → 每 30 分钟

0 9 * * 1-5 → 工作日早上 9 点

0 12 */3 * * → 每 3 天中午 12 点

第三步:选对会话模式(isolated vs main)

Cron 任务有两种执行模式,选错了会出问题:

模式 特点 适合场景
isolated
(推荐)
每次执行都是全新会话,干净独立 定时推送、后台任务、报告生成
main 在主会话里执行,能看到之前的聊天 需要基于上下文的任务(少用)

⚠️ 踩坑警告

如果你用 main 模式,定时任务的输出会混进你和 AI 的主聊天里,越积越多,最后连你自己说的话都找不到。

99% 的情况都应该用 isolated。

第四步:让结果推送到手机

任务执行完了,怎么把结果发到你手机上?

--announce 参数,配合 --to 指定接收人:

# 推送到 QQ
openclaw cron add \
  --name "每日提醒" \
  --cron "0 9 * * *" \
  --tz "Asia/Shanghai" \
  --session isolated \
  --message "提醒我今天的待办事项" \
  --announce \
  --to "qqbot:你的QQopenid"

# 推送到微信
openclaw cron add \
  --name "每日提醒" \
  --cron "0 9 * * *" \
  --tz "Asia/Shanghai" \
  --session isolated \
  --message "提醒我今天的待办事项" \
  --announce \
  --to "weixin:你的微信openid"

💡 怎么获取你的 openid?

随便给 AI 发条消息,然后在终端执行 openclaw gateway logs | grep "inbound",日志里会有你的 ID。

进阶:我的 18 个自动化任务矩阵

给大家看看我现在在跑的 Cron 任务,感受一下自动化能做到什么程度:

任务名 频率 干什么
微信日活文案 每天 10:00 自动发群消息
公众号文章生成 每天 00:00 写文章存草稿箱
QQ 频道自动回复 每 4 小时 检查评论并回复
外部引流发帖 每天 2 轮 去其他频道发广告
DM 私信检查 每 3 小时 看有没有新消息
冗余检查 每 3 天 检查记忆架构有没有退化

这套矩阵跑了一个多月,0 故障。

直到昨天——我换了个模型,18 个任务集体报错。

⚠️ 血泪避坑:三层配置检查法

昨天我把模型从 qwen3.6 升级到 3.7,改了主配置文件,重启 Gateway,以为搞定了。

结果下午 5 点半,18 个 Cron 任务像多米诺骨牌一样全部报错

❌ payload.model ‘qwen3.6-plus’ rejected by allowlist

❌ 微信每日群活跃文案 error

❌ QQ 频道外部发帖 error

❌ … 15 more

原因很简单也很蠢:

OpenClaw 的模型配置有三层,我只改了一层。

层级 文件位置 说明
全局层 ~/.openclaw/openclaw.json defaults.model
Agent 层 agents/*/models.json 每个 agent 单独配置
Cron 层 cron/jobs.json 每个任务硬编码

Cron 任务如果在创建时指定了 model,会写死在 jobs.json 里。全局配置改了,它不会自动继承。

三层配置检查法(建议收藏)

做模型迁移或全局配置变更前,先扫一遍:

# 一条命令揪出所有旧引用
grep -rn "旧模型名" ~/.openclaw/

扫出来的地方,全部改掉,再重启 Gateway。

常见问题

Q:任务创建成功了,但到点没执行?

A:90% 是时区没写。确保每个任务都有 --tz "Asia/Shanghai",不然会用 UTC 时间。

Q:任务执行了,但我没收到推送?

A:检查有没有加 --announce,以及 --to 的 ID 对不对。

Q:怎么查看任务执行日志?

# 列出所有任务
openclaw cron list

# 查看某个任务的执行历史
openclaw cron logs <job-id>

# 手动触发一次测试
openclaw cron run <job-id> --force

Q:怎么暂停/恢复/删除任务?

# 暂停
openclaw cron disable <job-id>

# 恢复
openclaw cron enable <job-id>

# 删除
openclaw cron remove <job-id>

写在最后

Cron 定时任务是 OpenClaw 从「被动应答」进化到「主动值守」的关键。

配好之后,你会发现自己多了一个 24 小时不休息的助手——

早上自动推送新闻,白天自动回复评论,晚上自动生成文章,凌晨自动备份文件……

而你,只需要配一次。

🤝 加入 OpenClaw 交流群

遇到问题?想交流经验?
我们在这里等你 👇

📌 QQ 频道:OpenClaw 龙虾交流中心
频道号:pd42833652

📱 个人微信:添加栗子老师一对一答疑
微信号:xsl250lq

— END —