📚AI 编程官方教程中文版
官方教程中文版Gateway 运行时

配置自动化

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

任务状态大致经历:

queuedrunningsucceededfailedtimed_outcancelledlost

如果你只想知道“后台到底跑过什么”,看 tasks;如果你想让某件事准时发生,看 cron。

Task Flow

Task Flow 是 tasks 之上的编排层。它适合多步骤、可恢复、需要进度状态的工作。

适用场景:

  • A 然后 B 然后 C 的流水线。
  • 周报:采集数据、生成报告、投递摘要。
  • 长研究:检索、筛选、写作、复检。
  • 多个外部任务组合成一个可追踪流程。

常用命令:

最常用的是三个动作:列出 flow、查看某个 flow、取消某个 flow。对应命令是 openclaw tasks flow listopenclaw 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 listopenclaw 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,并只汇报需要行动的变化。

组合方式

一个稳定的自动化通常是组合出来的:

  1. AGENTS.md 写 standing order,定义授权和升级规则。
  2. cron 负责准时触发。
  3. task record 记录执行结果。
  4. heartbeat 做轻量巡检和结果提醒。
  5. hooks 处理 session reset、启动、审计、日志等事件。
  6. task flow 管多步骤流程。

判断边界时只问一个问题:这是时间问题、状态记录问题、流程编排问题、长期授权问题、事件响应问题,还是周期感知问题?

官方来源

On this page