核心功能
OpenClaw Cron 是 Gateway 原生的持久化任务调度系统,专为 AI Agent 设计,解决"何时执行"与"如何投递"的自动化编排问题。
执行模式
- 主会话(main):以
systemEvent形式融入正常心跳,适合上下文相关的提醒 - 独立会话(isolated):后台静默执行,不污染主会话历史,适合高频/嘈杂任务
调度能力
| 类型 | 示例 | 适用场景 |
|------|------|---------|
| 一次性 | `20m` / ISO8601 | 临时提醒、延迟触发 |
| 固定间隔 | `everyMs: 3600000` | 等频轮询 |
| Cron 表达式 | `0 7 * * *` | 精确日历时间 |
投递渠道
announce:推送至 Telegram/WhatsApp 等频道,主会话同步摘要webhook:HTTP POST 到自定义端点none:纯内部执行
显著优点
1. 持久化存储:任务保存在 ~/.openclaw/cron/jobs.json,Gateway 重启不丢失
2. 智能退避:连续失败触发指数退避(30s→60m),避免雪崩
3. 时区感知:支持 --tz 参数,跨时区场景友好
4. 模型覆盖:独立任务可临时切换模型(如周报用 opus + thinking: high)
局限性与风险
- Gateway 强依赖:Cron 在 Gateway 进程内执行,Gateway 停止则调度暂停
- 无分布式锁:多实例部署时可能出现重复执行
- 调试成本:失败任务需手动查看
~/.openclaw/cron/runs/<jobId>.jsonl
适用人群
- 需要精准时间触发(如晨间简报、周报生成)的自动化用户
- 希望后台任务与主会话隔离、避免上下文污染的重度用户
- 需要结果外投到 IM 频道或内部系统的集成场景
常规风险
- 时区配置错误导致任务非预期时间执行
deleteAfterRun与手动调试冲突,建议开发阶段关闭- Webhook 投递无内置重试(
bestEffort: true仅标记尽力而为)