配置自动化
OpenClaw cron、tasks、task flow、standing orders、hooks 和 heartbeat 的选择边界。
OpenClaw 的自动化不是一个功能,而是一组机制:cron 负责准时触发,tasks 负责记录后台工作,task flow 负责多步骤编排,standing orders 负责长期授权,hooks 负责事件响应,heartbeat 负责周期感知。
快速判断
先按问题类型选择机制:
- 准时运行,例如每天 9 点发报告:用 cron。
- 延后提醒,例如 20 分钟后提醒我:用一次性 cron。
- 周期巡检,例如每 30 分钟看一次 inbox:用 heartbeat。
- 查看后台到底跑过什么:用 tasks。
- 多步骤研究、采集、汇总:用 task flow。
- session reset 后写日志:用 hooks。
- 每次回答前检查合规或授权边界:用 standing orders。
不要把所有自动化都塞进 cron。cron 解决“什么时候运行”;它不负责解释“长期授权边界是什么”,也不负责承载所有上下文。
Cron
cron 是 Gateway 内置调度器,适合精确时间触发。它支持一次性任务、周期任务和输出投递。
示例:
openclaw cron add \
--name daily-inbox-triage \
--cron "0 8 * * 1-5" \
--tz America/Los_Angeles \
--timeout-seconds 300 \
--announce \
--channel telegram \
--to "tg:123456789" \
--message "Execute daily inbox triage per standing orders. Report summary and escalate unknowns."官方 CLI 文档也提醒:isolated cron add 默认会 announce delivery。一次性任务成功后默认删除;周期任务连续失败后会指数退避。
Tasks
tasks 是后台工作账本,不是调度器。
会创建 task record 的场景包括:
- cron 执行。
- ACP runs。
- subagent spawns。
- CLI 发起的 agent 操作。
不会创建 task record 的场景:
- 普通交互对话。
- heartbeat turn。
常用命令:
日常先看 openclaw tasks list;需要复盘异常时再跑 openclaw tasks audit。
任务状态大致经历:
queued、running、succeeded、failed、timed_out、cancelled、lost。
如果你只想知道“后台到底跑过什么”,看 tasks;如果你想让某件事准时发生,看 cron。
Task Flow
Task Flow 是 tasks 之上的编排层。它适合多步骤、可恢复、需要进度状态的工作。
适用场景:
- A 然后 B 然后 C 的流水线。
- 周报:采集数据、生成报告、投递摘要。
- 长研究:检索、筛选、写作、复检。
- 多个外部任务组合成一个可追踪流程。
常用命令:
最常用的是三个动作:列出 flow、查看某个 flow、取消某个 flow。对应命令是 openclaw tasks flow list、openclaw tasks flow show <id>、openclaw tasks flow cancel <id>。
managed 模式由 flow 创建和推进任务;mirrored 模式观察外部任务,把它们纳入同一个进度视图。
Standing Orders
standing orders 是长期授权,不是定时器。它告诉 Agent:
- 什么事情归你负责。
- 什么触发条件下执行。
- 什么动作可以直接做。
- 哪些情况必须请求批准。
- 出现异常时如何升级。
最稳的位置是 AGENTS.md,因为它会自动进入 session bootstrap。大段规则可以放到独立文件,但要从 AGENTS.md 明确引用。
一个稳定的 standing order 至少写清四件事:授权范围、触发条件、批准门槛、异常升级方式。比如周报任务要明确“可以汇总指标和生成报告”,也要写清“外发前是否需要批准”。
cron prompt 应该引用 standing order,不要复制一大段规则。规则复制越多,漂移越快。
Hooks
hooks 是事件响应脚本。常见事件包括:
/new/reset/stop- session compaction
- gateway startup
- message flow
- tool call
常用命令:
新手排查 hooks 时先从 openclaw hooks list 和 openclaw hooks check 开始;确认要打开某个 hook 后,再用 openclaw hooks enable <name>。
官方内置 hooks 包括 session-memory、bootstrap-extra-files、command-logger、boot-md 等。hooks 适合做审计、记忆快照、启动检查和事件桥接,不适合替代业务任务编排。
Heartbeat
heartbeat 是主 session 的周期性 turn,默认约每 30 分钟一次。它适合做上下文相关的轻量检查:
- inbox 是否有新消息。
- 日历是否有近期事件。
- 通知是否需要汇总。
- 已完成任务是否需要提醒用户。
heartbeat 不创建 task record。它的优势是带主 session 上下文;代价是时间不如 cron 精确。建议把 HEARTBEAT.md 写短,只检查 inbox、calendar、pending tasks 和 channel health,并只汇报需要行动的变化。
组合方式
一个稳定的自动化通常是组合出来的:
AGENTS.md写 standing order,定义授权和升级规则。- cron 负责准时触发。
- task record 记录执行结果。
- heartbeat 做轻量巡检和结果提醒。
- hooks 处理 session reset、启动、审计、日志等事件。
- task flow 管多步骤流程。
判断边界时只问一个问题:这是时间问题、状态记录问题、流程编排问题、长期授权问题、事件响应问题,还是周期感知问题?