乐于分享
好东西不私藏

OpenClaw Heartbeat 心跳机制

OpenClaw Heartbeat 心跳机制

OpenClaw 中的 Heartbeat(心跳) 是其核心机制之一,让 AI Agent 从“被动响应”变成“主动执行”的关键设计。它让智能体能够定时“醒来”检查任务、监控事件、处理提醒,而不需要你每次手动发消息。

Heartbeat 是什么?

  • 简单比喻
    :像 AI 的“生物钟”或“巡逻员”。
    • 每隔一段时间(默认 30 分钟),AI 在主会话中自动运行一次完整思考轮次(agent turn)。
    • 它会读取预设指令、检查上下文(邮件、日历、任务、知识库等),判断是否有需要处理的事项。
    • 如果没事,它通常只回复 HEARTBEAT_OK(系统会自动识别并静默丢弃,不打扰你)。
    • 如果有重要事情,它才会主动发送提醒、执行工具或通知你。

这让 OpenClaw 从一个普通的聊天机器人,升级为真正能“自己找活干”的 24/7 智能助手。

Heartbeat 的触发与运行机制

  1. 触发方式
    (零成本调度):
    • 主要靠内置定时器(Cron-like)。
    • 默认间隔:30m(Anthropic OAuth/setup-token 模式下可能是 1h)。
    • 可以全局配置(agents.defaults.heartbeat.every)或针对单个 Agent 配置。
    • 设置为 "0m" 可完全禁用。
  2. 运行流程
    • 触发后,系统加载主会话上下文 + HEARTBEAT.md 文件的指令。
    • AI 使用指定模型(可单独配置 heartbeat.model 以节省成本)进行推理。
    • 执行工具调用、检查状态、决定是否行动。
    • 只有产生“新鲜、有意义”的结果时,才会推送消息到聊天界面(避免刷屏)。
    • 支持 activeHours(活跃时间段)限制,避免半夜打扰。
  3. HEARTBEAT.md 文件的作用
    (最常用自定义方式):
    • 在工作区(通常 ~/.openclaw/workspace/)创建这个 Markdown 文件。
    • 里面用自然语言写检查清单,例如:

      text

      # HEARTBEAT.md每次 heartbeat 检查以下内容:1. 检查邮箱:如果有新邮件或“紧急”关键词,总结并提醒我。2. 查看日历:今天/明天待办事项,如果快到期就推送。3. 同步知识库:git pull 更新共享内容并学习。4. 监控任务:未完成事项是否需要续跑或报警。
    • AI 会严格遵循这些指令,结合记忆(MEMORY.md、SOUL.md 等)做出智能判断。
    • 文件不存在时,心跳仍会运行(模型自行决定做什么);文件为空或只有标题时,可能跳过以节省 token。

Heartbeat vs Cron(定时任务)

很多人会混淆两者,简单区分:

  • Heartbeat(心跳)
    :巡逻式,需要判断、带上下文。适合“检查是否有事要做”“批量多个监控”“只在必要时提醒”。
  • Cron
    :闹钟式,固定时间精确执行。适合“每天早上生成报告”“每周总结”等不需要复杂判断的任务。

推荐组合使用:把复杂判断放 Heartbeat,把固定动作放 Cron,能更好控制成本和噪声。

配置示例(openclaw.json 或类似配置文件)

JSON

{  "agents": {    "defaults": {      "heartbeat": {        "every""30m",          // 间隔,0m 禁用        "target""last",        // 推送目标(last/none 等)        "activeHours": {          "start""08:00",          "end""22:00"        },        "model""anthropic/claude-haiku-3"  // 可单独用便宜模型节省费用      }    }  }}

注意事项与最佳实践

  • 成本控制
    :Heartbeat 会消耗 LLM 调用,建议用轻量模型(Haiku 等)跑心跳;只在必要时升级到强模型。无事时返回 HEARTBEAT_OK 可大幅降低噪声和费用。
  • 避免循环
    :指令要清晰,避免 AI 每次都重复相同动作。
  • 进阶玩法
    :结合长效记忆、子 Agent(sub-agents)、工具链,实现自动学习、邮件处理、股票监控、代码仓库同步等。
  • 常见问题
    :如果 HEARTBEAT.md 不存在或配置有误,心跳可能不按预期运行;部分版本有 bug(如模型覆盖失效),建议查官方 docs 或 GitHub issues。

Heartbeat 是 OpenClaw 最能体现“主动性”的设计之一,让 AI 真正像一个有“脉搏”的智能伙伴。

如果你有具体的使用场景(比如想监控邮件、股票、学习任务),或者遇到配置/运行问题,可以提供更多细节,我可以帮你细化 HEARTBEAT.md 示例或排查!