Appearance
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 list 和 openclaw tasks audit |
| 多步骤调研再汇总 | Task Flow | 带修订追踪的持久编排 |
| 会话重置时运行脚本 | Hooks | 事件驱动,响应生命周期事件 |
| 每次工具调用时执行代码 | Hooks | Hooks 可按事件类型过滤 |
| 每次回复前自动检查合规 | Standing Orders | 自动注入每个会话 |
定时任务(Cron)vs Heartbeat
| 维度 | 定时任务(Cron) | Heartbeat |
|---|---|---|
| 时间精度 | 精确(cron 表达式、一次性) | 近似(默认每 30 分钟) |
| 会话上下文 | 全新(隔离)或共享 | 完整主会话上下文 |
| 任务记录 | 始终创建 | 从不创建 |
| 投递方式 | 渠道、webhook 或静默 | 内嵌在主会话中 |
| 最适合 | 报告、提醒、后台任务 | 收件箱检查、日历、通知 |
需要精确时间或隔离执行时用 Cron。工作能受益于完整会话上下文且近似时间足够时用 Heartbeat。
核心概念
定时任务(Cron)
Cron 是 Gateway 内置的精确时间调度器。持久化任务、在正确时间唤醒龙虾,可将输出投递到聊天渠道或 webhook 端点。支持一次性提醒、周期表达式和入站 webhook 触发。
参见定时任务。
后台任务
后台任务账本追踪所有分离工作:ACP 运行、子 agent 派生、隔离 cron 执行和 CLI 操作。任务是记录,不是调度器。用 openclaw tasks list 和 openclaw 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 自动追踪所有分离工作,供检查和审计。
相关文档
- 定时任务 — 精确调度和一次性提醒
- 后台任务 — 所有分离工作的任务账本
- Task Flow — 持久多步骤流程编排
- Hooks — 事件驱动生命周期脚本
- Heartbeat — 周期性主会话轮次
- 配置参考 — 所有配置键
常见问题
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,以及后台任务中的通知策略配置。