Skip to content

OpenClaw 自动化有五种机制:Cron(精确定时)、Heartbeat(30 分钟周期感知)、后台任务账本(追踪所有分离工作)、Task Flow(多步骤流程编排)和 Hooks(事件驱动脚本)。不知道选哪个?发日报用 Cron,检查收件箱用 Heartbeat,追踪子 Agent 进度用 Tasks,多步骤自动化流程用 Task Flow,响应 session 重置用 Hooks。

自动化与任务

OpenClaw 通过任务、定时任务、事件 hooks 和持久指令在后台运行工作。本页帮你选择合适的机制,并了解它们如何配合使用。

快速决策指南

使用场景推荐方案理由
每天早上 9 点准时发送日报定时任务(Cron)精确时间,隔离执行
20 分钟后提醒我定时任务(Cron)一次性 + 精确时间(--at
每周运行深度分析定时任务(Cron)独立任务,可使用不同模型
每 30 分钟检查收件箱Heartbeat与其他检查批量处理,上下文感知
监控日历中的即将事件Heartbeat天然适合周期性感知
查看子 agent 或 ACP 运行状态后台任务任务账本追踪所有分离工作
审计什么时候跑了什么后台任务openclaw tasks listopenclaw tasks audit
多步骤调研再汇总Task Flow带修订追踪的持久编排
会话重置时运行脚本Hooks事件驱动,响应生命周期事件
每次工具调用时执行代码HooksHooks 可按事件类型过滤
每次回复前自动检查合规Standing Orders自动注入每个会话

定时任务(Cron)vs Heartbeat

维度定时任务(Cron)Heartbeat
时间精度精确(cron 表达式、一次性)近似(默认每 30 分钟)
会话上下文全新(隔离)或共享完整主会话上下文
任务记录始终创建从不创建
投递方式渠道、webhook 或静默内嵌在主会话中
最适合报告、提醒、后台任务收件箱检查、日历、通知

需要精确时间或隔离执行时用 Cron。工作能受益于完整会话上下文且近似时间足够时用 Heartbeat。

核心概念

定时任务(Cron)

Cron 是 Gateway 内置的精确时间调度器。持久化任务、在正确时间唤醒龙虾,可将输出投递到聊天渠道或 webhook 端点。支持一次性提醒、周期表达式和入站 webhook 触发。

参见定时任务

后台任务

后台任务账本追踪所有分离工作:ACP 运行、子 agent 派生、隔离 cron 执行和 CLI 操作。任务是记录,不是调度器。用 openclaw tasks listopenclaw tasks audit 检查它们。

参见后台任务

Task Flow

Task Flow 是在后台任务之上的流程编排层。管理带托管和镜像同步模式、修订追踪的持久多步骤流程,通过 openclaw tasks flow list|show|cancel 检查。

参见 Task Flow

Standing Orders

Standing Orders 赋予 agent 针对定义程序的永久操作权限。它们位于工作区文件(通常是 AGENTS.md)中,注入到每个会话。与 cron 结合可实现基于时间的执行。

参见 Standing Orders。

Hooks

Hooks 是由 agent 生命周期事件(/new/reset/stop)、会话压缩、gateway 启动、消息流和工具调用触发的事件驱动脚本。从目录自动发现,通过 openclaw hooks 管理。

参见 Hooks

Heartbeat

Heartbeat 是周期性主会话轮次(默认每 30 分钟)。在一次 agent 轮次中批量处理多项检查(收件箱、日历、通知),具有完整会话上下文。Heartbeat 轮次不创建任务记录。用 HEARTBEAT.md 写清单,或在 heartbeat 内部用 tasks: 块实现仅到期的周期检查。空 heartbeat 文件跳过为 empty-heartbeat-file;仅到期任务模式跳过为 no-tasks-due

参见 Heartbeat

它们如何配合

  • Cron 处理精确调度(每日报告、每周回顾)和一次性提醒。所有 cron 执行都创建任务记录。
  • Heartbeat 每 30 分钟批量处理一次常规监控(收件箱、日历、通知)。
  • Hooks 响应特定事件(工具调用、会话重置、压缩)运行自定义脚本。
  • Standing Orders 给 agent 持久上下文和权限边界。
  • Task Flow 在各个任务之上协调多步骤流程。
  • Tasks 自动追踪所有分离工作,供检查和审计。

相关文档

常见问题

Q: 龙虾的 Cron 和系统 crontab 有什么区别?

A: OpenClaw 的 Cron 由 Gateway 内置调度器管理,不依赖系统 crontab,支持跨 Gateway 重启的持久化,并与渠道投递(Telegram、Discord 等)深度集成。系统 crontab 只能触发 shell 命令。

Q: 我想让龙虾每天早上摘要邮件,用 Cron 还是 Heartbeat?

A: Cron。每天 9 点发摘要是精确时间需求,且最好在隔离会话中运行,避免与当前对话上下文混合。Heartbeat 更适合"顺手看一眼"的检查,而非独立报告任务。

Q: 子 Agent 完成后我在 Telegram 没有收到通知,怎么处理?

A: 可能是通知路由问题。参见子代理通知 Telegram 路由问题的社区 workaround,以及后台任务中的通知策略配置。