教程

OpenClaw Cron Jobs 完全指南:定时任务、孤立执行与多频道投递配置

OpenClaw Cron Jobs 完整配置指南:三种调度模式(一次性/固定间隔/Cron 表达式)、Main/Isolated 两种执行模式、多频道投递配置(Telegram/WhatsApp/Slack)、模型覆盖、多 Agent 绑定、重试策略,以及常用 CLI 命令和问题排查。

2026/3/105分钟 阅读ClaudeEagle

OpenClaw 内置 Gateway 调度器(Cron),可持久化定时任务,在指定时间唤醒 Agent,并将输出投递到聊天频道。无论是「每天早上运行」还是「20 分钟后提醒我」,Cron 都是实现机制。

核心概念速览

  • Cron 运行在 Gateway 内部(不在模型内部)
  • 任务持久化在 ~/.openclaw/cron/ 下,重启不丢失
  • 两种执行模式:Main Session(主会话)和 Isolated(隔离会话)
  • 支持 Webhook 投递(HTTP POST)

快速开始

创建一次性提醒

bash
openclaw cron add \
  --name "提醒" \
  --at "2026-02-01T16:00:00Z" \
  --session main \
  --system-event "提醒:查看 Cron 文档" \
  --wake now \
  --delete-after-run

openclaw cron list
openclaw cron run <job-id>

创建每日定时隔离任务

bash
openclaw cron add \
  --name "早间简报" \
  --cron "0 7 * * *" \
  --tz "Asia/Shanghai" \
  --session isolated \
  --message "总结昨晚的更新。" \
  --announce \
  --channel telegram \
  --to "你的Chat ID"

三种调度模式

调度类型语法说明
一次性--at "2026-02-01T16:00:00Z"--at "20m"指定时间点执行一次
固定间隔schedule.kind = "every"everyMs(毫秒)每隔固定时间执行
Cron 表达式--cron "0 7 * * *" --tz "Asia/Shanghai"标准 5/6 字段 Cron 表达式

注意:顶部整点(如 0 * * * *)会自动随机偏移最多 5 分钟,避免大量 Gateway 同时触发。用 --exact 强制准时。

两种执行模式

Main Session(主会话)

  • 将系统事件加入队列,在下次心跳时执行
  • wakeMode: "now" → 立即触发心跳(默认)
  • wakeMode: "next-heartbeat" → 等待下次定时心跳
  • 适合需要主会话上下文的任务
json
{
  "name": "待办提醒",
  "schedule": { "kind": "at", "at": "2026-02-01T16:00:00Z" },
  "sessionTarget": "main",
  "wakeMode": "now",
  "payload": { "kind": "systemEvent", "text": "提醒:提交费用报告" },
  "deleteAfterRun": true
}

Isolated(隔离会话)

  • cron:<jobId> 专属 Session 中独立运行
  • 每次运行启动全新 Session(无历史记录携带)
  • 默认投递模式:announce(发送到目标频道)
  • 适合「嘈杂」、高频或「后台杂务」类任务
json
{
  "name": "每日简报",
  "schedule": { "kind": "cron", "expr": "0 7 * * *", "tz": "Asia/Shanghai" },
  "sessionTarget": "isolated",
  "payload": {
    "kind": "agentTurn",
    "message": "总结今天的收件箱和日程。",
    "lightContext": true
  },
  "delivery": {
    "mode": "announce",
    "channel": "telegram",
    "to": "-1001234567890",
    "bestEffort": true
  }
}

投递模式

模式说明
announce发送到目标频道,并在主会话发送简短摘要
webhookHTTP POST 到指定 URL
none仅内部执行,不投递

Telegram 频道主题(Forum Thread)

bash
openclaw cron add \
  --name "夜间摘要" \
  --cron "0 22 * * *" \
  --tz "Asia/Shanghai" \
  --session isolated \
  --message "总结今天;发到夜间主题。" \
  --announce \
  --channel telegram \
  --to "-1001234567890:topic:123"

高级功能

模型和思维级别覆盖

隔离任务可以使用与主会话不同的模型:

bash
openclaw cron add \
  --name "深度分析" \
  --cron "0 6 * * 1" \
  --tz "Asia/Shanghai" \
  --session isolated \
  --message "每周深度分析项目进展。" \
  --model "opus" \
  --thinking high \
  --announce \
  --channel telegram \
  --to "你的Chat ID"

多 Agent 指定

bash
# 将任务绑定到特定 Agent
openclaw cron add --name "运维检查" --cron "0 6 * * *" --session isolated --message "检查运维队列" --agent ops

# 修改现有任务的 Agent
openclaw cron edit <jobId> --agent ops

轻量上下文(lightContext)

不需要工作区启动文件的任务可设置 --light-context,减少 Token 消耗:

bash
openclaw cron add --name "状态检查" --cron "*/30 * * * *" --session isolated --message "执行状态检查" --light-context --announce

重试策略

一次性任务

  • 临时错误(限速、网络、5xx):最多重试 3 次,指数退避(30s → 1m → 5m)
  • 永久错误(认证失败、配置错误):立即禁用

周期性任务

  • 任何错误:指数退避(30s → 1m → 5m → 15m → 60m)
  • 任务保持启用;下次成功后退避重置

配置文件

json
{
  "cron": {
    "enabled": true,
    "store": "~/.openclaw/cron/jobs.json",
    "maxConcurrentRuns": 1,
    "retry": {
      "maxAttempts": 3,
      "backoffMs": [60000, 120000, 300000]
    },
    "webhookToken": "your-token-here",
    "sessionRetention": "24h",
    "runLog": {
      "maxBytes": "2mb",
      "keepLines": 2000
    }
  }
}

常用 CLI 命令

bash
# 列出所有任务
openclaw cron list

# 立即运行某任务
openclaw cron run <jobId>

# 查看运行历史
openclaw cron runs --id <jobId> --limit 50

# 编辑任务
openclaw cron edit <jobId> --message "更新的提示词"

# 删除任务
openclaw cron remove <jobId>

# 发送即时系统事件(不创建任务)
openclaw system event --mode now --text "下次心跳:检查电量。"

常见问题排查

任务不执行:检查 cron.enabledOPENCLAW_SKIP_CRON 环境变量;确认 Gateway 持续运行。

时区问题:确认 --tz 参数与预期时区一致(推荐使用 Asia/Shanghai)。

Telegram 投递到错误位置:论坛主题使用 -100…:topic:<id> 格式,明确指定主题 ID。


原文:Cron Jobs - OpenClaw | 来源:OpenClaw 官方文档

相关文章推荐

教程OpenClaw Cron Jobs 自动化指南:定时任务、隔离会话与多渠道推送OpenClaw 内置 Gateway 调度器支持持久化定时任务,可按时唤醒 AI Agent 并将结果推送到 Telegram、Slack 等频道。本文详解一次性提醒、循环任务、主会话 vs 隔离会话两种执行模式、Announce/Webhook/无推送三种输出方式,附大量实用示例。2026/2/27教程OpenClaw Cron 定时任务与 Heartbeat 完全指南:让 AI 助手 24 小时主动工作OpenClaw Cron 定时任务与 Heartbeat 完整教程:Cron 表达式配置、Heartbeat 轮询机制、HEARTBEAT.md 编写、定时发送通知、周期性数据检查、自动日报生成,以及 Cron vs Heartbeat 选择指南和最佳实践。2026/3/15教程Claude Code 定时任务完整指南:/schedule、Routines 三种触发方式和 /loop 监控/schedule 命令和 Routines 完整指南:/schedule 创建/查看/运行/编辑/删除定时任务;Routines 三种触发方式(Cron 定时/GitHub 事件/Webhook API /fire 端点);4 个实战 Routine 配置(每日健康检查/PR 自动质量门/每周技术债扫描/CI 失败分析);/loop 会话内定期重复(vs /schedule 的区别对比);Routines 访问权限配置(GitHub/Slack/数据库);以及 Routines + ultrareview/Hooks/Subagents 的组合用法。2026/5/8教程Claude Code Routines 完全使用指南:定时 Agent、GitHub 事件触发、Webhook API 全解析Claude Code Routines 功能完整指南:三种触发方式详解(Cron 时间表/GitHub 事件/API Webhook);网页 UI 和 CLI 两种创建方式;每日健康检查/PR 自动审查/CI 失败分析/周报生成/依赖安全扫描/Issue 分类 6 个完整模板;以及运行监控和常见问题排查。2026/5/1教程Claude Code Routines 完全指南:10 个开箱即用的 AI 自动化开发任务模板Claude Code Routines 实战指南:定时触发和事件触发配置语法,10 个开箱即用模板(依赖漏洞扫描/技术债追踪/夜间重构/PR 初审/周报生成等),以及幂等性、错误处理最佳实践。2026/4/16教程Hermes Agent Cron 定时任务完全指南:10 个开箱即用的 AI 自动化任务模板Hermes Agent 定时任务完整教程:自然语言配置 Cron、10 个实用任务模板(AI 资讯简报/GitHub 监控/代码扫描/服务器告警/周报生成等)、标准 Cron 表达式参考和时间守卫防异常补跑。2026/4/15