教程

OpenClaw Cron Jobs 自动化指南:定时任务、隔离会话与多渠道推送

OpenClaw 内置 Gateway 调度器支持持久化定时任务,可按时唤醒 AI Agent 并将结果推送到 Telegram、Slack 等频道。本文详解一次性提醒、循环任务、主会话 vs 隔离会话两种执行模式、Announce/Webhook/无推送三种输出方式,附大量实用示例。

2026/2/274分钟 阅读ClaudeEagle

OpenClaw 内置了一个强大的 Gateway 调度器,支持持久化定时任务,在正确的时间唤醒 Agent,并可选择将输出推送到指定聊天频道。无论是每日早报、定时提醒还是后台巡检,Cron Jobs 都能胜任。

核心概念速览

  • Cron 运行在 Gateway 内部(不在模型内部)
  • 任务持久化在 ~/.openclaw/cron/jobs.json,重启不丢失
  • 两种执行模式:
    • 主会话(Main session):将系统事件加入队列,在下次心跳时运行
    • 隔离会话(Isolated):在 cron:<jobId> 中运行独立的 Agent 会话

快速开始

创建一次性提醒

bash
openclaw cron add \
  --name "下午会议提醒" \
  --at "2026-03-01T09:00:00+08:00" \
  --session main \
  --system-event "提醒:下午 3 点有产品评审会议" \
  --wake now \
  --delete-after-run

创建每日定时任务(带频道推送)

bash
openclaw cron add \
  --name "每日早报" \
  --cron "0 8 * * *" \
  --tz "Asia/Shanghai" \
  --session isolated \
  --message "请汇总今日 AI 行业最新动态" \
  --announce \
  --channel telegram \
  --to "你的Telegram用户ID"

管理任务

bash
# 查看所有任务
openclaw cron list

# 立即手动运行某个任务
openclaw cron run <job-id>

# 查看运行历史
openclaw cron runs --id <job-id>

# 删除任务
openclaw cron remove <job-id>

调度类型

Cron 支持三种调度方式:

类型参数说明
at--at "ISO 8601时间"一次性,指定精确时间
every--every 3600000固定间隔(毫秒)
cron--cron "0 8 * * *"标准 5 字段 Cron 表达式

Cron 表达式支持 IANA 时区,使用 --tz "Asia/Shanghai" 指定。

防峰值抖动:对于整点触发的 Cron 任务(如 0 * * * *),OpenClaw 自动添加最多 5 分钟的随机抖动,避免大量 Gateway 同时触发。固定小时的表达式(如 0 8 * * *)保持精确。

两种执行模式详解

主会话模式(Main Session)

任务在主会话心跳时运行,带有完整的主会话上下文,适合需要访问历史对话的任务。

  • wakeMode: "now"(默认):立即触发心跳
  • wakeMode: "next-heartbeat":等到下次计划心跳

隔离会话模式(Isolated)

在独立会话 cron:<jobId> 中运行,适合不需要主会话上下文的后台任务:

  • 每次运行启动全新会话 ID,无历史对话
  • Prompt 前缀 [cron:<jobId> <任务名>] 便于追踪
  • 默认推送输出摘要(delivery.mode = "announce"

推送模式

隔离任务支持三种推送方式:

Announce 推送(推荐)

直接通过频道适配器推送,同时在主会话中发布简短摘要:

bash
openclaw cron add \
  --name "周报生成" \
  --cron "0 18 * * 5" \
  --session isolated \
  --message "请生成本周工作总结" \
  --announce \
  --channel telegram \
  --to "你的用户ID"

Webhook 推送

将任务完成事件 POST 到指定 URL:

json
{
  "delivery": {
    "mode": "webhook",
    "to": "https://your-webhook.example.com/cron"
  }
}

无推送(内部任务)

json
{ "delivery": { "mode": "none" } }

模型与思考级别覆盖

为特定 Cron 任务指定不同模型:

bash
openclaw cron add \
  --name "深度分析" \
  --cron "0 2 * * 0" \
  --session isolated \
  --message "请对本周数据进行深度分析" \
  --model "anthropic/claude-opus-4-20250514" \
  --thinking high

实用示例

每 30 分钟检查一次

bash
openclaw cron add \
  --name "定期巡检" \
  --cron "*/30 * * * *" \
  --session isolated \
  --message "检查系统状态并汇报"

工作日早 9 点提醒(北京时间)

bash
openclaw cron add \
  --name "工作日早报" \
  --cron "0 9 * * 1-5" \
  --tz "Asia/Shanghai" \
  --session main \
  --system-event "新的工作日开始,请检查今日日程"

故障排查

任务不触发?

  • 检查 Gateway 是否在运行:openclaw gateway status
  • 验证时区设置是否正确
  • 查看 ~/.openclaw/cron/jobs.json 中的任务状态

Telegram 推送到错误的位置?

  • 检查 --to 参数的用户/群组 ID 是否正确
  • 确认 --channel telegram 已指定

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

相关文章推荐

教程OpenClaw Cron Jobs 完全指南:定时任务、孤立执行与多频道投递配置OpenClaw Cron Jobs 完整配置指南:三种调度模式(一次性/固定间隔/Cron 表达式)、Main/Isolated 两种执行模式、多频道投递配置(Telegram/WhatsApp/Slack)、模型覆盖、多 Agent 绑定、重试策略,以及常用 CLI 命令和问题排查。2026/3/10教程OpenClaw Cron 定时任务与 Heartbeat 完全指南:让 AI 助手 24 小时主动工作OpenClaw Cron 定时任务与 Heartbeat 完整教程:Cron 表达式配置、Heartbeat 轮询机制、HEARTBEAT.md 编写、定时发送通知、周期性数据检查、自动日报生成,以及 Cron vs Heartbeat 选择指南和最佳实践。2026/3/15教程OpenClaw Hooks 系统指南:事件驱动自动化与自定义 Handler 开发OpenClaw Hooks 事件驱动系统完整指南:4 个内置 Hook 详解(session-memory/bootstrap-extra-files/command-logger/boot-md)、HOOK.md 格式规范、handler.ts 实现示例、全部事件类型(命令/Session/Agent/Gateway/消息),5 步创建自定义 Hook 与最佳实践。2026/3/10教程Claude Code 定时任务(Scheduled Tasks)完全指南:/loop 命令、Cron 表达式与三日自动过期Claude Code 定时任务完整指南:/loop Bundled Skill(三种间隔写法:前置 token/trailing every/默认 10 分钟;对 Skill 命令循环执行)、一次性自然语言提醒(自动删除)、CronCreate/CronList/CronDelete 三个底层工具、运行机制(低优先级/两轮之间触发/本地时区)、随机延迟机制(重复任务 0~10% 偏移/单次任务 90 秒)、三日自动过期、Cron 表达式参考表、CLAUDE_CODE_DISABLE_CRON 禁用,以及会话级局限性(退出消失/无补偿/无持久化)和持久化替代方案(Desktop/GitHub Actions)。2026/3/8教程Claude Code Cron 定时任务完全指南:定时提醒、自动报告与后台自动化OpenClaw Cron 定时任务完全指南:配置语法、常用时间表达式、每日早报/代码健康检查/服务监控等实用场景示例,以及 Cron vs Heartbeat 的选择策略和任务会话隔离机制。2026/3/1教程OpenClaw Standing Orders 完全指南:让 AI 记住你的长期规则和行为偏好OpenClaw Standing Orders(常驻指令)功能完整教程:Standing Orders 与 SOUL.md 的区别(动态运行时规则 vs 静态人格文件)、通过对话动态添加/查看/删除常驻指令、指令的持久化存储与跨会话生效机制、适合写入 Standing Orders 的内容类型(格式偏好/禁止行为/固定工作流)、与 Hooks 的协同使用、按渠道/Agent 设置不同的 Standing Orders,以及常驻指令的最佳实践(写清晰的规则、避免矛盾冲突、定期清理过时规则)。2026/3/26