⏰ OpenClaw定时任务完全指南

让AI替你熬夜干活——凌晨4点的代码,就该让机器自己跑

📅 2026-04-15 ⏱️ 阅读15分钟 🏷️ OpenClaw进阶
"凌晨3点47分,我在床上翻了个身。手机亮了一下——是OpenClaw发来的消息:'老板,今天的数据抓取完了,邮件也发了,还有别的活儿吗?' 我笑了笑,继续睡觉。这才是AI该有的样子。"
世界上有一种烦恼叫"我忘了"。忘了发周报、忘了备份数据、忘了检查服务器……而OpenClaw的定时任务(Cron Jobs)就是来终结这种烦恼的。让Agent在指定时间自动执行任务——不管是每天早上的数据简报,还是每周五的邮件汇总,它都能准时搞定。

🎯 什么是OpenClaw定时任务?

OpenClaw的定时任务功能基于cron调度器,让你可以安排Agent在未来某个时间点或按特定周期自动执行消息。这就像是给Agent请了个闹钟服务,到点就干活,绝不偷懒。

常见的使用场景包括:

🛠️ 核心功能详解

1. 定时任务类型

类型说明示例
at一次性任务,在指定时间执行明天下午3点提醒开会
every周期性任务,按固定间隔重复每2小时检查一次邮件
cron复杂周期,支持cron表达式每周一至周五早上9点

2. 会话目标选项

定时任务可以指定在哪里执行:

📝 使用方法

创建一次性任务(at)

JSON 配置示例
{
  "name": "会议提醒",
  "schedule": {
    "kind": "at",
    "at": "2026-04-16T15:00:00+08:00"
  },
  "payload": {
    "kind": "agentTurn",
    "message": "提醒:15分钟后有产品评审会议"
  },
  "sessionTarget": "isolated"
}

创建周期任务(every)

每2小时执行一次
{
  "name": "邮件检查",
  "schedule": {
    "kind": "every",
    "everyMs": 7200000
  },
  "payload": {
    "kind": "agentTurn",
    "message": "检查新邮件并总结重要事项"
  }
}

创建复杂周期任务(cron)

工作日每天早上9点
{
  "name": "晨间简报",
  "schedule": {
    "kind": "cron",
    "expr": "0 9 * * 1-5",
    "tz": "Asia/Shanghai"
  },
  "payload": {
    "kind": "agentTurn",
    "message": "生成今日待办事项和昨日完成总结"
  }
}
Cron表达式速查
分 时 日 月 周 - 例如 0 9 * * 1-5 表示工作日9点整
* 表示任意值,1-5 表示周一至周五,*/30 表示每30分钟

💡 最佳实践

1
选择合适的会话目标

简单提醒用"main",复杂任务用"isolated",需要上下文连续性用"current"或命名会话。

2
设置合理的执行间隔

避免过于频繁的调度(如每分钟执行),这可能导致资源浪费。大数据任务建议间隔至少30分钟。

3
添加任务描述

为每个任务添加清晰的namedescription,方便后期管理和排查。

4
配置失败通知

使用failureAlert配置任务失败时的通知方式,确保问题能及时发现。

5
定期清理过期任务

对于一次性任务,设置deleteAfterRun: true自动清理,避免任务列表臃肿。

🔧 高级用法示例

完整工作流:每日数据报告

包含数据抓取、分析和邮件发送
{
  "name": "每日数据报告",
  "description": "每天早上8点抓取网站数据并生成报告",
  "schedule": {
    "kind": "cron",
    "expr": "0 8 * * *",
    "tz": "Asia/Shanghai"
  },
  "payload": {
    "kind": "agentTurn",
    "message": "执行每日数据报告工作流:1)使用web_search搜索昨日AI行业热点;2)使用web_fetch获取OpenClaw官方更新;3)整理成Markdown格式报告;4)发送到飞书群",
    "model": "claude-3-5-sonnet"
  },
  "delivery": {
    "mode": "announce",
    "channel": "general"
  },
  "failureAlert": {
    "mode": "announce",
    "after": 2,
    "cooldownMs": 3600000
  }
}

带webhook回调的任务

任务完成后发送HTTP通知
{
  "name": "服务器健康检查",
  "schedule": {
    "kind": "every",
    "everyMs": 300000
  },
  "payload": {
    "kind": "agentTurn",
    "message": "检查服务器状态:CPU、内存、磁盘使用率"
  },
  "delivery": {
    "mode": "webhook",
    "to": "https://your-server.com/webhook/health"
  }
}
注意事项:
• 时区设置很重要,默认是UTC,建议显式设置为中国时区
• 任务执行时间如果超过间隔,可能会造成任务堆积
• 敏感操作(如删除数据)建议添加人工确认步骤

📚 相关链接

写在最后
有人说,AI的终极形态就是让你忘记它的存在。当你的定时任务在凌晨默默运行,当早报准时出现在你的收件箱里——那一刻,你就明白了什么叫"智能"。设置好任务,然后,去睡觉吧。