Heartbeat(心跳)
Heartbeat 是一种“周期性意识”(periodic awareness):它会在主会话中按固定间隔触发一次检查,让 Agent 把多个轻量的例行检查合并到同一轮里。
如果你要做“精确到某个时间点”的任务(比如 9:00 准时发送),优先用 Cron;选择建议见:/docs/automation/cron-vs-heartbeat/。
Heartbeat 怎么工作
- Heartbeat 默认会读取工作区中的
HEARTBEAT.md(如果存在),把它当作“检查清单”。 - 如果没有需要处理的事项,Agent 通常会返回
HEARTBEAT_OK,并且不会对外发送消息。
建议把 HEARTBEAT.md 写得很短,避免每次心跳都消耗过多 token。
HEARTBEAT.md:推荐写法
在工作区创建/编辑 ~/.openclaw/workspace/HEARTBEAT.md:
# Heartbeat checklist
- 扫描是否有需要立刻处理的未读消息
- 检查接下来 2 小时是否有日程冲突
- 如果有后台任务完成,给出一句话总结配置(间隔与投递)
在 ~/.openclaw/openclaw.json 中配置默认心跳策略(示例):
{
agents: {
defaults: {
heartbeat: {
every: "30m",
target: "last",
activeHours: { start: "08:00", end: "22:00" },
},
},
},
}如果你希望心跳也发送单独的 Reasoning: 消息,可启用:
agents.defaults.heartbeat.includeReasoning: true- 或按 Agent 覆盖:
agents.list[].heartbeat.includeReasoning: true