跳转至

自动化

OpenClaw 通过原生运行时、定时任务、事件钩子和常设指令在后台运行工作。使用本页选择合适的机制。

快速决策指南

flowchart TD
    START([What do you need?]) --> Q1{Schedule work?}
    START --> Q3{Orchestrate multi-step flows?}
    START --> Q4{React to lifecycle events?}
    START --> Q5{Give the agent persistent instructions?}

    Q1 -->|Yes| Q1a{Specific job or ambient monitor?}
    Q1a -->|Specific job| CRON["Automations"]
    Q1a -->|Ambient monitor| HEARTBEAT["Heartbeat monitor automation"]

    Q3 -->|Yes| FLOW[Lobster]
    Q4 -->|Yes| HOOKS[Hooks]
    Q5 -->|Yes| SO[Standing Orders]
使用场景 推荐方案 原因
每天早上 9 点整发送日报 Automations 精确计时,隔离执行
20 分钟后提醒我 Automations 一次性且定时精确(--at)
每周运行深度分析 Automations 独立任务,可使用不同模型
每 30 分钟检查一次收件箱 Automations 独立的周期调度和任务历史
在新 IMAP 邮件到达时安全触发 IMAP 插件 按发件人门控的隔离读取会话
监控日历中即将发生的事件 Automations 明确的周期调度和投递策略
呈现环境性的主会话更新 Heartbeat 系统自有的监控自动化和静默提醒
在会话重置时运行脚本 Hooks 内部 HOOK.md 脚本响应生命周期事件
从外部服务触发代理 Webhooks 经认证的 HTTP 入口,而非内部事件钩子
在每次工具调用时执行代码 插件 Hooks 类型化的 api.on(...) 处理器可拦截工具调用
在回复前始终检查合规性 Standing Orders 自动注入每个会话

Automations 与 Heartbeat

维度 用户编写的自动化任务 Heartbeat 监控自动化
时间安排 一次性、间隔或 cron 表达式 调度器自有的间隔,默认 30 分钟
会话上下文 隔离、当前、命名或主会话 主会话,可选隔离
投递方式 频道、webhook 或静默 按所有者路由的提醒或静默
适用场景 明确的报告、提醒、周期性工作 环境监控与事件跟进

两者使用相同的 Automations 调度器。为有自己的指令或时间安排的工作创建自动化任务;当周期性的主会话感知有用时,将 heartbeat 用作系统自有的环境监控。

核心概念

Automations

Automations 是 OpenClaw 内置的调度器,用于所有周期性及一次性工作,包括 heartbeat 监控。调度器会持久化任务,在正确的时间唤醒代理,并可将输出投递到聊天频道或 webhook 端点。它支持一次性提醒、周期性间隔和 cron 表达式,以及入站 webhook 触发。

参见 Automations。

后台执行与工作流

使用 Sub-agents 启动并等待委派运行,使用 ACP 处理编码 harness 会话,并使用自动化运行历史检查计划工作。每个运行时分别负责执行和完成。

Lobster 以可恢复的审批方式运行本地流水线。共享的 Tasks 账本、TaskFlow 编排 API 和 TaskFlow Webhooks 插件已被移除。通用的 Gateway HTTP hooks 仍可用于经过认证的外部触发。

Standing Orders

Standing Orders 授予代理在既定项目中的永久操作权限。它们存放在工作区文件(通常是 AGENTS.md)中,并注入到每个会话。可结合自动化任务进行基于时间的强制执行。

参见 Standing Orders。

Hooks

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

参见 Hooks。

Heartbeat

Heartbeat 是一个系统自有的监控自动化任务,默认每 30 分钟运行一次周期性的主会话轮次。它可以使用较小的 monitor-scratch 上下文来呈现任何需要注意的内容,而不会延长会话的新鲜度。对于需要独立时间安排的工作,请创建单独的自动化任务。空的 scratch 会以 empty-heartbeat-file 跳过。当主队列或自动化工作繁忙、同一代理的另一轮运行处于活动状态,或目标会话有活动或排队的工作时,计划中的监控轮次会推迟。

参见 Heartbeat。

它们如何协同工作

  • Automations 掌管所有周期性调度,包括报告、提醒和 heartbeat 监控。
  • Heartbeat 是系统自有的环境监控自动化任务。独立安排的检查应归属于各自的自动化任务。
  • Hooks 通过自定义脚本响应特定事件(会话重置、压缩、消息流)。插件 Hooks 覆盖工具调用。
  • Standing Orders 为代理提供持久的上下文和权限边界。

已弃用的推断承诺

推断承诺实验已在 v2026.8.1 中移除:OpenClaw 不再从对话中提取后续事项,也不再通过心跳传递它们。openclaw commitments 维护 CLI 也已移除。数据库迁移会丢弃旧的承诺行,并删除其表及索引。

对于提醒或计划任务,请创建一个显式的自动化。自动化是一种替代方案,具有你选择的计划和指令;它们不会恢复推断的后续事项。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw