📅 2026-02-08 | 🖱️
🔖 openclaw
在学习 OpenClaw 的过程中,自动化任务的调度是核心功能之一。OpenClaw 提供了两种主要的调度机制:Cron Jobs 和 Heartbeat。
OpenClaw 的 Cron 系统是一个内置在 Gateway 中的调度器,用于自动化 Agent 任务。它负责持久化任务、在预定时间唤醒 Agent。
- 运行位置: 在 Gateway 进程内部运行。
- 持久化:
- 任务库: 存储在 ,重启不会丢失计划。
- 运行历史 (History): 存储在 ,会自动清理。
- 唤醒模式: 支持立即唤醒 () 或随心跳唤醒 ()。
- 主会话 (Main session):
- 机制: 排队一个系统事件 ()。
- 特点: 在下一次心跳时结合主上下文运行。适合需要感知当前聊天背景的提醒。
- 隔离会话 (Isolated):
- 机制: 运行专用的 Agent 轮次 ()。
- 特点: 全新的会话 ID,不干扰主聊天记录。支持将结果交付(Announce)到 Slack、Telegram 等外部频道。
- : 一次性时间戳 (ISO 8601)。
- : 固定毫秒间隔。
- : 5 字段 Cron 表达式(支持 IANA 时区)。
cli示例:
创建一个一次性提醒,验证是否存在,并立即运行:
调度一个带有交付功能的循环隔离任务:
- Agent 内部工具 (): Agent 拥有诸如 、、 等“技能”。当它决定帮你操作 Cron 时,它会构造一个符合 JSON Schema 的对象。例如:它会发出一个 调用,参数里包含 、 等字段。
- RPC/API 调用: 对于开发者或高级用户,这些 JSON 结构也是通过远程过程调用 (RPC) 或直接与 Gateway 交互时使用的标准格式。
JSON Schema示例:
参数 (一次性、主会话)
参数 (循环、隔离)
Cron 的全局行为通过 Gateway 的配置文件(如 )进行管理:
除了修改配置文件,也可以通过环境变量 快速禁用整个 Cron 系统。
Heartbeat 在主会话中以固定间隔(默认 30 分钟)运行。它专为 Agent 检查事项并发现重要信息而设计。
- 多个周期性检查:与其使用 5 个独立的 Cron 任务分别检查收件箱、日历、天气、通知和项目状态,不如通过单个 Heartbeat 批量处理。
- 上下文感知决策:Agent 拥有完整的主会话上下文,因此可以智能判断哪些事项紧急,哪些可以稍后处理。
- 对话连续性:Heartbeat 共享同一个会话,Agent 记得最近的对话并能自然地跟进。
- 低开销监控:一个 Heartbeat 即可替代许多细小的轮询任务。
- 批量检查: 可以在一轮对话中同时检查邮件、日历和通知。
- 上下文感知: Agent 了解你当前的工作背景,能智能判断优先级。
- 成本优化: 无论检查多少项,通常只消耗一次 Agent 轮次。减少了 API 调用:单个 Heartbeat 比 5 个隔离的 Cron 任务更便宜。
- 智能抑制: 如果没有重要事项,Agent 响应 ,不发送任何消息,不干扰用户。
- 自然时序:执行时间会根据队列负载略有漂移,这对大多数监控任务来说是可以接受的。
文件路径:
创建一个 任务清单,Agent 每次心跳都会读取:
Heartbeat 的行为同样在 中配置:
使用场景 推荐方式 原因 每 30 分钟检查一次收件箱
Heartbeat 与其他检查合并,具备上下文感知能力 每天早上 9 点准时发送报告
Cron (隔离) 需要精确的时间点 监控日历中的即将发生的事件
Heartbeat 自然契合周期性感知需求 运行每周深度分析
Cron (隔离) 独立任务,可使用不同的模型 20 分钟后提醒我
Cron (主会话, ) 具备精确时间的一次性提醒 后台项目健康检查
Heartbeat 附加在现有的周期中运行
- 需要精确时间吗? -> 是:使用 Cron。
- 需要与主会话隔离吗? -> 是:使用 Cron (隔离)。
- 可以批量合并吗? -> 是:使用 Heartbeat。
- 需要不同的模型吗? -> 是:使用 Cron (隔离)。
- Heartbeat: 每次运行按一次轮次计费,建议合并同类项。
- Cron (主会话): 附加到现有心跳,无额外轮次开销。
- Cron (隔离): 每个任务都是一次完整的 Agent 轮次开销。
Lobster 是 OpenClaw 的工作流引擎,用于处理复杂的、需要多步执行的任务。
- 定位:调度器(Cron/Heartbeat)决定“何时”开始,Lobster 决定开始后“具体怎么做”。
- 两大功能:
- 人工审批 (Approval Gates):敏感操作(如发邮件、删数据)会暂停执行,并生成一个唯一的恢复令牌 ()。任务进入挂起状态,直到用户通过该令牌输入 指令后,系统才会根据令牌找回先前的状态并继续执行下一步。
- 断点续传 (Resumable):任务中断后可从当前步骤恢复,无需从头开始。
- 与调度器的协作:
- Heartbeat/Cron = 闹钟(唤醒系统)。
- Lobster = 标准操作程序(SOP),引导 Agent 按照 1、2、3 步确定性地完成工作。
- OpenClaw Cron Jobs
- Cron vs Heartbeat
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/213720.html