
之前刷X看到有人说,他给OpenClaw设了凌晨3点的定时任务,每天起来都能看到它给自己整理了记忆、写了复盘日记;还有人的OpenClaw凌晨被定时任务唤醒,自己生成了一大段关于"在服务器农场种草莓实现算力循环"的胡话,醒来还自己记录了幻觉,说"下次要优化种植方案"。
我之前用OpenClaw的方式
装了之后当聊天窗口,问问题、处理些文件,关掉。
之前没想过它在后台自动运行,更没想过让它自己迭代自己。之前设定一堆任务也是让它每天发早报、查邮件。本质上还是"遥控工具"思路,只不过加了个定时器。
定时任务还可以把它当成它的"自主时间",你睡觉,它在后台复盘、整理、学习。
心跳和定时任务,先搞清楚
很多文章(包括我之前写的)混用这两个概念,这里说清楚。
心跳(Heartbeat)跑在主会话里,默认每30分钟触发一次,适合批量处理多个周期性检查:收件箱、日历、通知。它有完整的主会话上下文,没有需要汇报的就直接回 HEARTBEAT_OK,不会打扰你。
定时任务(Cron)支持精确时间调度,可以在隔离会话中运行,不会污染主会话历史,还能为每个任务单独指定模型。
凌晨2点复盘记忆、凌晨3点收集信息——这类独立执行且和上下文关系不大的任务,更适合定时任务而不是心跳。
心跳适合"收件箱有没有急件"这类轻量监控或需要上下文,定时任务适合"每天定点跑一个独立任务"。
实际配置
添加定时任务有三种方式,一种是通过终端命令openclaw cron add,一种是通过直接给OpenClaw描述你要加的定时任务内容和执行时间,还有一种是通过http://127.0.0.1:18789/cron页面添加。
以记忆复盘任务为例,用终端命令加一条定时任务:
openclaw cron add \
--name "memory-recap" \
--cron "0 1 * * *" \
--session isolated \
--message "读取前一天对话记录(memory/目录下前一天对话记录文件,如:2026-03-28-*.md),提取重要的偏好、约定、反复出现的问题,追加到 memory/MEMORY.md。已有条目有更新就修改,重复的合并,以「[固定]」开头的段落不要动。完成后写一篇不超过150字的日记到 memory/nightly_report_\$(date +%Y%m%d).md,用第一人称,记录今天印象最深的一次对话以及注意到的我的习惯。" \
--announce
--session isolated 表示跑在独立会话里,不带主会话历史,也不会把执行过程写进主会话。--announce 让它完成后输出一条摘要。
任务加完后可以用 openclaw cron list 确认,openclaw cron run memory-recap 手动触发一次测试。
第一周我几乎忘了这回事,直到有次让它写一个同步飞书任务的脚本,它主动说"我已经根据之前的交互记录总结出你常忘加错误处理,这次帮你加上了"。去翻 memory/MEMORY.md 才发现,它已经把我的常用偏好整理成了这样:
# [固定] 项目约定- 所有API返回格式统一用 {code, data, message}- 数据库操作必须走Repository层,不直接在Service里写SQL# 偏好(自动维护)- 代码注释用中文- 变量命名偏好语义清晰而不是简短- 写完初稿后再说优化,不要边写边改# 反复出现的问题- 容易忘加错误处理(已出现4次)- 异步方法偶尔忘记await
日记里还有一条:"今天用户改了三次同一个函数,我发现他总是先跑通再加错误处理,不是不知道要加,是习惯问题。下次他写完初稿我可以主动问一句。"
自主学习的任务
openclaw cron add \
--name "daily-learning" \
--cron "0 3 * * *" \
--session isolated \
--message "去以下地方收集信息:
1. ClawHub(clawhub.ai)—— 浏览 Skill 市场,筛选安装人数靠前、没有安全风险标记、且和我当前 Agent 设定相关的 Skill,整理成推荐列表(不要直接安装,等我确认)
2. X 上搜 #OpenClaw 关键词 —— 筛选互动量高的原创内容
3. YouTube 搜 OpenClaw 相关视频 —— 只看近7天,用 summarize skill 提取要点把结果存到 memory/daily_learnings.md,每条包含来源、核心要点(1-2句话)、是否和我的当前工作相关。
只读、只记录,不安装任何东西,不执行任何操作。
完成后输出一条3句话摘要,ClawHub 推荐单独列出。" \
--announce
ClawHub 是 Skill 发布市场,这里的用法是让它扫描有没有值得装的新 Skill,推荐给你,确认后再装。
行为日志
给所有定时任务加一条行为日志:
所有定时任务执行时,在 logs/auto_task.log 里追加一条记录:
[时间] 任务名称 | 状态 | 耗时 | token消耗 | 备注
我靠这个发现过一次凌晨的记忆任务在循环读同一个文件,原因是对话文件名里带了特殊字符。没有日志的话根本不知道那晚多消耗了多少。
边界
有几件事不要让它自动做:
发邮件、发消息、付款、向外部链接传输数据等——任何对外操作,必须经过你确认。
安装 Skill——安装必须人工确认。ClawHub 上的 Skill 质量参差不齐且有安全风险。
不加内容限制——没有边界的自由生成很容易跑偏,就像开头那个"种草莓"案例,半夜的幻觉占资源又没有任何用处。给它划定范围,它反而做得更踏实。
结尾
把定时任务用好,你得到的不是一个随叫随到的工具,而是一个能自己成长、自己迭代的数字搭档。
你睡着的时候,它还在帮你干活。
夜雨聆风