OpenClaw定时任务怎么设置?

想让OpenClaw定时执行一些任务:每天定时推送、每周生成报告、每月汇总数据。

请问定时任务具体怎么设置?有哪些方案?

定时任务有两种主流方案:

方案一:系统级定时器(推荐)

Windows:任务计划程序

  • 打开"任务计划程序"→创建基本任务
  • 设定触发时间
  • 操作:启动程序→填OpenClaw命令行

Linux/Mac:crontab

# 每天8:30执行新闻推送
30 8 * * * openclaw run /path/to/news-agent.md

方案二:OpenClaw内置定时
有些Skill自带定时功能,配置好时间规则就行。

推荐方案一,更稳定,不依赖OpenClaw进程是否在运行。

实际操作中的一些经验:

1. 防止任务重复执行
如果上一次任务还没跑完,新的又触发了,会出问题。建议加个锁文件机制。

2. 错误通知
定时任务出错了你可能不知道(因为没盯着屏幕)。建议配一个出错时发飞书/邮件通知的机制。

3. 日志记录
每次执行都记日志,方便事后排查。包括:开始时间、结束时间、执行结果、token消耗。

4. 资源控制
定时任务太多的话注意CPU和内存占用。特别是早上集中触发的时候,可以错开几分钟。

Molili的定时任务功能做得很友好——图形界面设置时间和重复规则,选择要执行的工作流模板,配置通知方式。比自己折腾crontab直观多了。

请问定时任务里能不能带参数?比如周一到周五推送工作新闻,周末推送娱乐新闻?

可以。在Agent脚本里根据日期判断就行:获取当前日期→判断是否工作日→选择不同的新闻源和关键词。也可以做两个不同的Agent脚本,分别设定不同的执行时间。