Cron 与心跳
在心跳和 cron 作业之间进行自动化选择的指南
心跳和 cron 作业都可以让您按计划运行任务。本指南可帮助您为您的用例选择正确的机制。
快速决策指南
|使用案例|推荐|为什么 |
| | - | - |
| Session | Main | Main (via system event) |
|历史|共享|共享|每次跑步都新鲜 |
|背景 |完整|完整|无(干净开始)|
|型号|主会场模型|主会场模型 |可以覆盖 |
|输出|如果不是 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'HEARTBEAT_OK'</code>' 则已交付 |心跳提示+事件|摘要发布到 main |
#
何时使用主会话 cron
当您需要时,将 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'--session main'</code>' 与 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'--system-event'</code>' 一起使用:
- 在主会话上下文中出现的提醒/事件
- 代理在下一次心跳期间处理它并具有完整的上下文
- 没有单独的隔离运行
openclaw cron add --name "Check project" --every "4h" --session main --system-event "Time for a project health check" --wake now
#
何时使用隔离 cron
当您需要时使用 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'--session isolated'</code>' :
- 没有先前背景的干净的石板
- 不同的模型或思维设置
- 输出直接传送到通道(默认情况下摘要仍发布到主通道)
- 历史不会扰乱主要会议
openclaw cron add --name "Deep analysis" --cron "0 6 * * 0" --session isolated --message "Weekly codebase analysis..." --model opus --thinking high --deliver
成本考虑
|机制|成本概况|
| ---- |
|心跳|每N分钟转一圈;与 HEARTBEAT.md 大小缩放 |
|计划任务(主要)|将事件添加到下一个心跳(无孤立回合)|
| Cron(隔离)|每份工作都有完整的代理轮流;可以使用更便宜的型号|
<strong>提示</strong>:
- 保持 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'HEARTBEAT.md'</code>' 小以最小化令牌开销。
- 将类似的检查批处理到心跳中,而不是多个 cron 作业。
- 如果您只需要内部处理,请在心跳上使用 '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'target: "none"'</code>' 。
- 使用独立的 cron 和更便宜的模型来执行日常任务。
相关
- '<a href="/gateway/heartbeat" className="text-emerald-400 hover:text-emerald-300 transition-colors">'Heartbeat'</a>' - 完整的心跳配置
- '<a href="/automation/cron-jobs" className="text-emerald-400 hover:text-emerald-300 transition-colors">'Cron jobs'</a>' - 完整的 cron CLI 和 API 参考
- '<a href="/cli/system" className="text-emerald-400 hover:text-emerald-300 transition-colors">'系统'</a>' - 系统事件+心跳控制