自动化
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