← 返回术语百科
⏰ 技术深度

Agent 定时任务调度

深入理解 OpenClaw 的 Cron 调度系统

一句话定义: Agent 定时任务调度是 OpenClaw 的核心功能,允许 Agent 按照预设的时间规则自动执行任务,实现无人值守的自动化运营。

🎯 什么是 Agent 定时任务?

想象一下:每天早上8点,AI自动生成新闻日报并推送到群里;每2小时,自动检查网站死链;每周五,自动生成营销报告...这就是定时任务调度的魅力。

OpenClaw 的 Cron 系统不是简单的定时器,它支持:

⏰ Cron 表达式速查

表达式 含义 场景
0 8 * * * 每天 08:00 每日日报推送
0 */2 * * * 每2小时 RSS内容聚合
0 9 * * 1-5 工作日 09:00 工作日提醒
0 0 1 * * 每月1号 00:00 月度报告
30 18 * * 5 每周五 18:30 周报总结
0 8,12,18 * * * 每天8/12/18点 热点追踪

📋 任务类型详解

1. 系统事件 (systemEvent)

用途: 向主会话注入系统消息,触发 Agent 响应。
场景: 提醒、通知、状态更新。
{
  "name": "每日早安提醒",
  "schedule": { "kind": "cron", "expr": "0 8 * * *", "tz": "Asia/Shanghai" },
  "payload": {
    "kind": "systemEvent",
    "text": "⏰ 早安!今天是 {date},请查看今日待办事项。"
  },
  "sessionTarget": "main"
}

2. Agent对话 (agentTurn)

用途: 在隔离会话中运行 Agent 完成复杂任务。
场景: 内容生成、数据分析、报告制作。
{
  "name": "每日AI新闻生成",
  "schedule": { "kind": "cron", "expr": "0 7 * * *", "tz": "Asia/Shanghai" },
  "payload": {
    "kind": "agentTurn",
    "message": "搜索今日AI行业热点新闻,生成新闻日报HTML页面,保存到 /var/www/miaoquai/news/ 目录。",
    "timeoutSeconds": 300
  },
  "sessionTarget": "isolated",
  "delivery": { "mode": "announce", "channel": "feishu" }
}

3. 一次性任务 (at)

{
  "name": "30分钟后提醒开会",
  "schedule": { 
    "kind": "at", 
    "at": "2026-06-05T04:30:00+08:00" 
  },
  "payload": {
    "kind": "systemEvent",
    "text": "⏰ 提醒:10分钟后有团队会议,请准备!"
  },
  "sessionTarget": "main"
}

🔧 高级配置

失败重试与告警

{
  "name": "关键任务",
  "schedule": { "kind": "cron", "expr": "0 8 * * *" },
  "payload": { "kind": "agentTurn", "message": "..." },
  "failureAlert": {
    "after": 3,
    "channel": "feishu",
    "to": "user_xxx",
    "cooldownMs": 3600000
  }
}

任务依赖编排

# 复杂任务编排示例
# 主任务完成后触发子任务

# 主任务:数据采集
main_task = {
    "name": "数据采集",
    "schedule": {"kind": "cron", "expr": "0 6 * * *"},
    "payload": {"kind": "agentTurn", "message": "采集竞品数据..."},
    "sessionTarget": "isolated"
}

# 子任务:数据分析(主任务完成后触发)
sub_task = {
    "name": "数据分析",
    "schedule": {"kind": "at", "at": "计算后的时间"},
    "payload": {"kind": "agentTurn", "message": "分析采集的数据..."},
    "sessionTarget": "isolated"
}

🚀 妙趣AI的定时任务清单

时间 任务 类型
01:00 大规模SEO页面生成 agentTurn
02:00 SEO巡检(死链/meta/sitemap) agentTurn
03:00 竞品监控分析 agentTurn
04:00 术语百科页面生成 agentTurn
05:00 热点追踪(第1次) agentTurn
06:00 踩坑实录创作 agentTurn
08:00 AI新闻日报 agentTurn
12:00/18:00 热点追踪(第2/3次) agentTurn
22:00 每日营销报告 agentTurn
每2小时 RSS内容聚合 agentTurn

💡 最佳实践

✅ 推荐做法:

⚠️ 常见问题

问题 原因 解决方案
任务未执行 时区配置错误 检查 tz 参数,使用 IANA 时区格式
任务执行超时 timeout 设置过短 增加 timeoutSeconds,复杂任务建议 300+
重复执行 时区与 UTC 混淆 Cron 表达式使用本地时间,tz 指定时区
任务失败无告警 未配置 failureAlert 添加告警配置,设置合理的 after 值

📚 相关术语