OpenClaw 的自动化运维面正在收成一条更清楚的排障梯子
官方最近围绕 Heartbeat、cron CLI 和 Automation Troubleshooting 的文档更新,正在把自动化问题从“感觉没触发”收敛成更可观测的几层:调度、入队、运行结果、可见性与时间窗口。
AI 摘要
这页重点
官方最近围绕 Heartbeat、cron CLI 和 Automation Troubleshooting 的文档更新,正在把自动化问题从“感觉没触发”收敛成更可观测的几层:调度、入队、运行结果、可见性与时间窗口。
生态观察
automation / heartbeat / cron / troubleshooting / operations
最后更新 2026-03-29
官方最近这轮 Heartbeat、cron CLI 和 Automation Troubleshooting 文档,最明显的变化不是又补了几个参数,而是自动化问题终于被写成了一条更清楚的排障梯子。
以前很多人会把自动化问题都归成一句话:
- “怎么好像没触发”
但现在官方已经把这类问题拆成了更具体的几层:
- scheduler 有没有醒着
- run 有没有真的入队
- run 结果是
ok、skip 还是not-due - heartbeat 是没跑,还是被
HEARTBEAT_OK静默吞掉 - 是执行层问题,还是 visibility / quiet-hours 问题
1. cron 已经更像正式作业系统
openclaw cron run 现在返回 enqueued: true 这件事很关键。
它说明 cron 的心智模型正在从“我敲一下命令,它立刻做完”转向:
- 我提交一个 run
- 再去看 runs 和日志拿最终状态
这会让 cron 更像真正的 scheduler,而不是同步脚本入口。
2. retry backoff 让“晚点再跑”变成可解释行为
CLI 和 Cron Jobs 文档都把 recurring job 的 backoff 梯子写得更清楚了:
30s → 1m → 5m → 15m → 60m
这意味着“为什么没按原时间点继续跑”不再总是谜团,也不该总被误判成配置丢失。
3. heartbeat 也从“没发消息”升级成了更细的状态机
官方现在已经把 heartbeat 的几种安静原因写得很直接:
HEARTBEAT_OKquiet-hoursrequests-in-flightempty-heartbeat-filealerts-disabled
这让 heartbeat 问题第一次真正具备了“能分层定位”的感觉。
4. 时间窗口和可见性正在成为正式控制面
从 Heartbeat 文档的 activeHours、target、directPolicy 到排障页的 quiet-hours / alerts-disabled,可以看出官方越来越不把“是否发出来”当成附属细节,而是在把它做成正式控制层。
这对长期运行特别重要,因为真正伤人的往往不是漏一次,而是:
- 不该响时一直响
- 该响时却被静默策略挡住
对中文用户最有价值的提醒
如果你现在已经开始:
- 长期跑 heartbeat
- 用 cron 承担准点事项
- 远程值班看自动化输出
- 做多渠道或多账号提醒
那最值得补的已经不是更多 schedule 语法,而是这条自动化运维梯子本身。