快速开始
自动化和任务
OpenClaw 通过任务、定时任务、推断式跟进承诺、事件钩子和常驻指令在后台运行工作。本页帮助你选择合适的机制,并理解它们如何协同工作。
快速决策指南
flowchart TD
START([What do you need?]) --> Q1{Schedule work?}
START --> Q2{Track detached work?}
START --> Q3{Orchestrate multi-step flows?}
START --> Q4{React to lifecycle events?}
START --> Q5{Give the agent persistent instructions?}
START --> Q6{Remember a natural follow-up?}
Q1 -->|Yes| Q1a{Exact timing or flexible?}
Q1a -->|Exact| CRON["Scheduled Tasks (Cron)"]
Q1a -->|Flexible| HEARTBEAT[Heartbeat]
Q2 -->|Yes| TASKS[Background Tasks]
Q3 -->|Yes| FLOW[Task Flow]
Q4 -->|Yes| HOOKS[Hooks]
Q5 -->|Yes| SO[Standing Orders]
Q6 -->|Yes| COMMITMENTS[Inferred Commitments]
| 使用场景 | 推荐方式 | 原因 |
|---|---|---|
| 每天上午 9 点准时发送日报 | 定时任务(Cron) | 精确计时,隔离执行 |
| 20 分钟后提醒我 | 定时任务(Cron) | 使用精确计时的一次性任务(--at) |
| 每周运行深度分析 | 定时任务(Cron) | 独立任务,可以使用不同模型 |
| 每 30 分钟检查收件箱 | Heartbeat | 与其他检查合并,具备上下文感知 |
| 监控日历中的即将到来事件 | Heartbeat | 天然适合周期性感知 |
| 在提到的面试之后跟进 | 推断式跟进承诺 | 类似记忆的跟进,没有明确提醒请求 |
| 根据用户上下文进行温和关怀式跟进 | 推断式跟进承诺 | 限定在同一个智能体和渠道内 |
| 检查子智能体或 ACP 运行的状态 | 后台任务 | 任务台账跟踪所有分离的工作 |
| 审计运行过的内容及时间 | 后台任务 | openclaw tasks list 和 openclaw tasks audit |
| 多步研究后汇总 | 任务流 | 带修订跟踪的持久化编排 |
| 在会话重置时运行脚本 | 钩子 | 事件驱动,在生命周期事件触发 |
| 每次工具调用时执行代码 | 插件钩子 | 进程内钩子可以拦截工具调用 |
| 回复前始终检查合规性 | 常驻指令 | 自动注入到每个会话中 |
定时任务(Cron)与 Heartbeat
| 维度 | 定时任务(Cron) | Heartbeat |
|---|---|---|
| 计时 | 精确(cron 表达式、一次性任务) | 近似(默认每 30 分钟) |
| 会话上下文 | 全新(隔离)或共享 | 完整的主会话上下文 |
| 任务记录 | 始终创建 | 从不创建 |
| 投递 | 渠道、webhook 或静默 | 主会话内联 |
| 最适合 | 报告、提醒、后台作业 | 收件箱检查、日历、通知 |
当你需要精确计时或隔离执行时,使用定时任务(Cron)。当工作受益于完整会话上下文且近似计时即可时,使用 Heartbeat。
核心概念
定时任务(cron)
Cron 是 Gateway 网关内置的精确计时调度器。它会持久化作业,在正确时间唤醒智能体,并可将输出投递到聊天渠道或 webhook 端点。支持一次性提醒、重复表达式和入站 webhook 触发器。
参见定时任务。
任务
后台任务台账会跟踪所有分离的工作:ACP 运行、子智能体启动、隔离的 cron 执行和 CLI 操作。任务是记录,不是调度器。使用 openclaw tasks list 和 openclaw tasks audit 检查它们。
参见后台任务。
推断式跟进承诺
跟进承诺是可选择启用的短期跟进记忆。OpenClaw 会从普通对话中推断它们,将其限定在同一个智能体和渠道内,并通过 Heartbeat 投递到期的跟进。用户明确请求的精确提醒仍属于 cron。
参见推断式跟进承诺。
任务流
任务流是位于后台任务之上的流程编排基础层。它管理持久的多步流程,支持托管和镜像同步模式、修订跟踪,以及用于检查的 openclaw tasks flow list|show|cancel。
参见任务流。
常驻指令
常驻指令授予智能体针对已定义程序的永久操作权限。它们保存在工作区文件中(通常是 AGENTS.md),并会注入到每个会话中。可与 cron 组合用于基于时间的强制执行。
参见常驻指令。
钩子
内部钩子是由智能体生命周期事件(/new、/reset、/stop)、会话压缩、Gateway 网关启动和消息流触发的事件驱动脚本。它们会从目录中自动发现,并可通过 openclaw hooks 管理。对于进程内工具调用拦截,请使用插件钩子。
参见钩子。
Heartbeat
Heartbeat 是周期性的主会话轮次(默认每 30 分钟)。它会在一个具备完整会话上下文的智能体轮次中批处理多项检查(收件箱、日历、通知)。Heartbeat 轮次不会创建任务记录,也不会延长每日/空闲会话重置的新鲜度。使用 HEARTBEAT.md 放置一份小型检查清单;如果你希望在 Heartbeat 本身内部执行仅到期的周期性检查,则使用 tasks: 块。空 Heartbeat 文件会以 empty-heartbeat-file 跳过;仅到期任务模式会以 no-tasks-due 跳过。Heartbeat 会在 cron 工作处于活动或排队状态时推迟,heartbeat.skipWhenBusy 也可以在子智能体或嵌套通道繁忙时推迟它们。
参见Heartbeat。
它们如何协同工作
- Cron 处理精确日程(日报、周报复盘)和一次性提醒。所有 cron 执行都会创建任务记录。
- Heartbeat 每 30 分钟在一个批处理轮次中处理常规监控(收件箱、日历、通知)。
- 钩子 使用自定义脚本响应特定事件(会话重置、压缩、消息流)。插件钩子覆盖工具调用。
- 常驻指令 为智能体提供持久上下文和权限边界。
- 任务流 在单个任务之上协调多步流程。
- 任务 自动跟踪所有分离的工作,以便你检查和审计。