Skip to main content
OpenClaw 通过任务、计划作业、推断的承诺、事件 hooks 以及固定指令在后台运行工作。本页帮助你选择合适的机制,并理解它们如何协同工作。

快速决策指南

使用场景推荐项原因
每天上午 9 点准时发送日报计划任务(Cron)精确时间,隔离执行
20 分钟后提醒我计划任务(Cron)一次性且时间精确(--at
每周运行深度分析计划任务(Cron)独立任务,可以使用不同模型
每 30 分钟检查收件箱Heartbeat与其他检查批量处理,且具备上下文感知
监控即将到来的日历事件Heartbeat周期性感知的自然适配场景
在被提到面试之后进行后续跟进推断的承诺类似记忆的后续跟进,不是精确提醒请求
在用户上下文之后进行温和关怀回访推断的承诺作用域限定在同一代理和通道
检查子代理或 ACP 运行的状态后台任务任务账本会跟踪所有分离的工作
审计哪些任务运行过以及何时运行后台任务openclaw tasks listopenclaw tasks audit
多步骤研究然后总结Task Flow具备修订跟踪的持久化编排
会话重置时运行脚本Hooks事件驱动,在生命周期事件时触发
每次工具调用时执行代码Plugin hooks进程内 hooks 可拦截工具调用
在回复前始终检查合规性固定指令自动注入到每个会话中

计划任务(Cron) vs Heartbeat

维度计划任务(Cron)Heartbeat
时间精确(cron 表达式、一次性)近似(默认每 30 分钟)
会话上下文新鲜(隔离)或共享完整的主会话上下文
任务记录始终创建从不创建
传递方式渠道、webhook 或静默在主会话内联
最适合报告、提醒、后台作业收件箱检查、日历、通知
当你需要精确时间或隔离执行时,使用计划任务(Cron)。当工作受益于完整会话上下文且近似时间足够时,使用 Heartbeat。

核心概念

计划任务(cron)

Cron 是 Gateway 内置的精确时间调度器。它会持久化作业,在正确的时间唤醒代理,并且可以将输出传递到聊天频道或 webhook 端点。支持一次性提醒、周期性表达式以及入站 webhook 触发器。 参见 Scheduled Tasks

任务

后台任务账本会跟踪所有分离的工作:ACP 运行、子代理启动、隔离的 cron 执行以及 CLI 操作。任务是记录,不是调度器。使用 openclaw tasks listopenclaw tasks audit 来检查它们。 参见 Background Tasks

推断的承诺

Commitments 是可选加入、短生命周期的后续记忆。OpenClaw 会从普通对话中推断它们,将其作用域限定到同一代理和通道,并通过 heartbeat 发送到期的检查跟进。用户明确请求的精确提醒仍然属于 cron。 参见 Inferred Commitments

Task Flow

Task Flow 是位于后台任务之上的流程编排基础设施。它管理具有持久性的多步骤流程,支持 managed 和 mirrored 同步模式、修订跟踪,以及用于检查的 openclaw tasks flow list|show|cancel 参见 Task Flow

固定指令

固定指令为代理授予针对定义程序的永久操作权限。它们存在于工作区文件中(通常是 AGENTS.md),并会注入到每个会话中。可与 cron 结合用于基于时间的强制执行。 参见 Standing Orders

Hooks

内部 hooks 是由代理生命周期事件 (/new, /reset, /stop)、会话压缩、Gateway 启动以及消息 流触发的事件驱动脚本。它们会从目录中自动发现,并可通过 openclaw hooks 管理。对于进程内工具调用拦截,请使用 Plugin hooks 参见 Hooks

Heartbeat

Heartbeat 是一个周期性的主会话轮次(默认每 30 分钟一次)。它会在一次代理轮次中批量处理多个检查(收件箱、日历、通知),并拥有完整的会话上下文。Heartbeat 轮次不会创建任务记录,也不会延长每日/空闲会话重置的新鲜度。可使用 HEARTBEAT.md 编写一个小型检查清单,或者在你希望在 heartbeat 内部仅按到期项执行周期性检查时使用 tasks: 块。空的 heartbeat 文件会以 empty-heartbeat-file 跳过;仅按到期项的任务模式会以 no-tasks-due 跳过。当 cron 工作正在运行或排队时,heartbeat 会延后;heartbeat.skipWhenBusy 也可以在同一代理的会话键控子代理或嵌套 lane 忙碌时延后该代理。 参见 Heartbeat

它们如何协同工作

  • Cron 处理精确计划(日报、周报)和一次性提醒。所有 cron 执行都会创建任务记录。
  • Heartbeat 以每 30 分钟一次的批量轮次处理常规监控(收件箱、日历、通知)。
  • Hooks 通过自定义脚本响应特定事件(会话重置、压缩、消息流)。插件 hooks 覆盖工具调用。
  • 固定指令 为代理提供持久上下文和权限边界。
  • Task Flow 在单个任务之上协调多步骤流程。
  • 任务 会自动跟踪所有分离的工作,因此你可以检查和审计它。

相关内容