Skip to main content

Documentation Index

Fetch the complete documentation index at: https://openclaw.zhcndoc.com/llms.txt

Use this file to discover all available pages before exploring further.

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

快速决策指南

Use caseRecommendedWhy
Send daily report at 9 AM sharp计划任务(Cron)精确时间,隔离执行
Remind me in 20 minutes计划任务(Cron)一次性且时间精确(--at
Run weekly deep analysis计划任务(Cron)独立任务,可以使用不同模型
Check inbox every 30 minHeartbeat与其他检查批量处理,且具备上下文感知
Monitor calendar for upcoming eventsHeartbeat周期性感知的自然适配场景
Check in after a mentioned interview推断的承诺类似记忆的后续跟进,不是精确提醒请求
Gentle care check-in after user context推断的承诺作用域限定在同一代理和通道
Inspect status of a subagent or ACP run后台任务任务账本会跟踪所有分离的工作
Audit what ran and when后台任务openclaw tasks listopenclaw tasks audit
Multi-step research then summarizeTask Flow具备修订跟踪的持久化编排
Run a script on session resetHooks事件驱动,在生命周期事件时触发
Execute code on every tool callPlugin hooks进程内 hooks 可拦截工具调用
Always check compliance before replying固定指令自动注入到每个会话中

计划任务(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 也可以在子代理或嵌套通道繁忙时延后它们。 参见 Heartbeat

它们如何协同工作

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

相关内容