快速开始

自动化

Edit source

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 listopenclaw tasks audit
多步骤研究后再总结 任务流 带修订跟踪的持久化编排
在会话重置时运行脚本 钩子 事件驱动,在生命周期事件触发
每次工具调用都执行代码 插件钩子 进程内钩子可以拦截工具调用
回复前始终检查合规性 长期指令 自动注入到每个会话中

定时任务(Cron)与 Heartbeat

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

当你需要精确计时或隔离执行时,使用定时任务(Cron)。当工作受益于完整会话上下文且近似计时即可时,使用 Heartbeat。

核心概念

定时任务(cron)

Cron 是 Gateway 网关内置的精确计时调度器。它会持久化作业,在合适时间唤醒智能体,并可将输出投递到聊天渠道或 webhook 端点。支持一次性提醒、重复表达式和入站 webhook 触发器。

参见定时任务

任务

后台任务台账会跟踪所有脱离主流程的工作:ACP 运行、子智能体启动、隔离的 cron 执行和 CLI 操作。任务是记录,而不是调度器。使用 openclaw tasks listopenclaw 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 跳过。当 cron 工作正在运行或排队时,Heartbeat 会延后;heartbeat.skipWhenBusy 也可以在同一智能体的会话键控子智能体或嵌套通道忙碌时延后该智能体。

参见 Heartbeat

它们如何协同工作

  • Cron 处理精确排期(每日报告、每周复盘)和一次性提醒。所有 cron 执行都会创建任务记录。
  • Heartbeat 在每 30 分钟一次的批处理轮次中处理例行监控(收件箱、日历、通知)。
  • 钩子 使用自定义脚本响应特定事件(会话重置、压缩、消息流)。插件钩子覆盖工具调用。
  • 长期指令 为智能体提供持久上下文和权限边界。
  • 任务流 在单个任务之上协调多步骤流程。
  • 任务 会自动跟踪所有脱离主流程的工作,以便你检查和审计。

相关内容

Was this useful?