OpenClaw 进阶玩法:Heartbeat、Cron 和自动化工作流

从聊天工具到自动化平台

如果你已经用 OpenClaw 做了一些基础的聊天和文件操作,是时候解锁它的真正实力了。OpenClaw 不仅仅是一个对话式 AI——它是一个完整的自动化平台。通过 Heartbeat(心跳)Cron(定时任务)子代理(Sub-agents)三大核心机制,你可以构建出真正自主运行的智能工作流。


Heartbeat 心跳系统:AI 的主动意识

什么是 Heartbeat?

Heartbeat 是 OpenClaw 的周期性唤醒机制。系统会每隔一定时间(默认约 30 分钟)"叫醒" AI 一次,让它执行预设的检查任务。这就像人类的"定时看看有没有新消息"的习惯,只不过 AI 做得更系统、更全面。

与 Cron 不同,Heartbeat 更适合批量检查类任务——在一个心跳周期内,AI 可以同时检查邮件、日历、天气、社交通知等多个事项,然后统一汇报。

配置 HEARTBEAT.md

Heartbeat 的行为由 ~/.openclaw/workspace/HEARTBEAT.md 文件控制。打开这个文件,你会看到类似这样的内容:

# HEARTBEAT.md - 心跳任务清单

每次心跳时执行以下检查:
1. 检查是否有新的未读邮件
2. 查看未来 24 小时内的日历事件
3. 检查天气变化(如果外出计划受到影响则通知)
4. 检查服务器运行状态

通知规则:
- 紧急邮件立即通知
- 日历事件提前 2 小时提醒
- 深夜(23:00-08:00)除非紧急否则不打扰

你需要根据自己的需求来编辑这个文件。以下是一个更完整的配置示例:

# HEARTBEAT.md - 完整配置示例

## 检查任务(每次心跳执行)
1. 邮件:检查是否有紧急或重要的未读邮件
2. 日历:查看未来 48 小时内的日程安排
3. 天气:如果有户外计划,检查天气变化
4. 记忆维护:每周一次,整理 memory/ 目录的日记到 MEMORY.md
5. 项目状态:检查关键项目的 git 状态

## 通知规则
- 重要邮件(发件人在白名单中):立即通知
- 日历事件(2 小时内):立即通知
- 天气异常(暴雨、大风):如果有户外计划则通知
- 其他事项:攒到合适的时间再汇报

## 静默时段
- 23:00 - 08:00:除非紧急,否则不打扰
- 工作时段(09:00-18:00):积极检查和通知

## 心跳状态追踪
记录在 memory/heartbeat-state.json 中,避免重复通知

Heartbeat 实战用例

用例配置内容通知条件
邮件监控检查未读邮件,分析重要性VIP 发件人或含"紧急"关键词
日历提醒查看 24-48h 内的日程事件开始前 2 小时
天气预警检查天气预报变化有户外计划且天气突变
社交通知检查 Twitter/微博 mentions有新 mention 时
记忆维护整理日记,更新长期记忆每周一次

💡 最佳实践:把多个周期性检查合并到 Heartbeat 中,而不是为每个检查创建单独的 Cron 任务。这样可以减少 API 调用次数,节省成本。Heartbeat 适合"大致定时"的批量检查,Cron 适合"精确到分钟"的独立任务。


Cron 定时任务:精确到分钟的自动化

Heartbeat vs Cron:何时用哪个?

特性HeartbeatCron
时间精度~30 分钟间隔精确到分钟
会话上下文共享主会话历史独立会话
适合场景批量检查、对话式任务精确定时、独立任务
模型配置使用主会话模型可指定不同模型
API 成本较低(批量处理)每个任务独立调用

Cron 使用方法

在聊天中直接告诉 AI 你想要设置的定时任务,它会自动创建 Cron 任务:

# 在聊天中发送:
每天早上 9 点,给我一份当日天气和日程摘要
每周五下午 5 点,帮我生成本周工作总结
每 30 分钟检查一次服务器状态,异常时通知我
20 分钟后提醒我开会

Cron 实战示例

每天早上 8:30,帮我做以下事情:
1. 查看今天的天气
2. 检查今天的日历安排
3. 检查是否有紧急未读邮件
4. 把以上信息汇总成一份简洁的早报发给我

示例 2:服务器监控

每 15 分钟检查一次服务器状态:
1. 运行 uptime 和 free -h 检查负载和内存
2. 检查关键服务的运行状态(nginx, mysql, redis)
3. 检查磁盘使用率
4. 如果任何指标超过阈值(CPU>90%, 内存>85%, 磁盘>90%),立即通知我

示例 3:备份提醒

每周日晚上 10 点,提醒我进行以下备份:
1. 数据库备份
2. 配置文件备份
3. 检查上次备份的时间和完整性

Sub-agents 子代理:并行处理复杂任务

什么是 Sub-agents?

当一个任务太复杂或者需要并行处理时,OpenClaw 可以"分裂"出子代理(Sub-agents)来独立执行。每个子代理运行在自己的隔离会话中,拥有独立的上下文,完成任务后自动汇报结果给主会话。

这就像一个项目经理把不同任务分配给不同的团队成员——每个人独立工作,最后汇总结果。

Sub-agents 使用场景

  • 并行研究:同时搜索多个主题的信息,然后汇总
  • 复杂任务拆分:把一个大任务拆成多个子任务并行执行
  • 隔离执行:需要不同模型或不同环境的任务
  • 批量处理:对多个文件或数据进行相同的操作

在实际使用中,当你发送一个复杂请求时,AI 会自动判断是否需要创建子代理。你也可以明确指示它这样做:

帮我同时做三件事:
1. 搜一下最新的 Docker 安全最佳实践
2. 查一下 Node.js 22 的新特性
3. 检查我服务器的 SSL 证书过期时间

AI 会自动为这三个任务创建子代理,让它们并行执行,最后给你汇总结果。


模型切换:为不同任务选择不同大脑

OpenClaw 支持在不同场景下使用不同的 AI 模型。你不需要为所有任务使用最贵的模型——简单任务用轻量模型,复杂推理用高级模型,这样可以在效果和成本之间取得最佳平衡。

场景推荐模型原因
日常聊天轻量模型(GPT-4o-mini 等)响应快、成本低
代码生成中等模型(Claude 3.5 Sonnet 等)代码质量高
复杂推理高级模型(Claude Opus 等)深度思考能力强
Cron 任务轻量模型定时任务成本敏感

你可以在配置文件中设置默认模型,也可以在运行时通过命令切换:

# 在聊天中切换模型
/model openrouter/anthropic/claude-3.5-sonnet

实战案例:自动化服务器监控系统

让我们把以上所有概念结合起来,构建一个完整的服务器监控自动化系统。

需求分析

  • 每 15 分钟检查服务器基本状态
  • 异常时立即通知
  • 每天早上发送服务器日报
  • 每周生成性能趋势报告

Step 1:配置 Heartbeat

# HEARTBEAT.md - 服务器监控部分

## 服务器检查
每次心跳时:
1. 运行 uptime 检查负载
2. 运行 free -h 检查内存
3. 运行 df -h 检查磁盘
4. 检查 nginx/mysql/redis 服务状态
5. 如果有任何异常(负载>5, 内存>85%, 磁盘>90%),立即通知

## 静默规则
- 低负载时(CPU<50%)只在每天日报时汇报
- 中等负载时(50%-80%)每小时汇总一次
- 高负载时(>80%)立即通知

Step 2:创建 Cron 任务

# 在聊天中告诉 AI:

# 每日日报
每天早上 9 点,生成服务器日报,包括:
- 昨日平均负载和峰值
- 内存使用趋势
- 磁盘使用趋势
- 服务可用性统计
- 任何异常事件汇总

# 每周报告
每周一早上 10 点,生成服务器周报,包括:
- 一周的性能趋势图表数据
- 异常事件统计
- 容量规划建议

Step 3:使用 Sub-agents 并行检查

当 AI 检测到异常时,可以自动创建子代理来并行排查问题:

# 异常处理逻辑(AI 会自动执行)
如果检测到异常:
1. 主代理:检查系统日志(dmesg, journalctl)
2. 子代理1:检查网络连接和端口状态
3. 子代理2:检查进程资源占用(top, ps aux)
4. 汇总分析后生成诊断报告并通知用户

Workspace 自动化进阶

自定义工作流脚本

你可以在 workspace 中创建脚本文件,让 AI 在特定场景下执行。比如创建一个部署脚本:

# scripts/deploy.sh
#!/bin/bash
echo "开始部署..."
git pull origin main
npm install --production
npm run build
pm2 restart all
echo "部署完成!"

然后告诉 AI:"帮我执行部署脚本",它就会运行这个脚本并汇报结果。

Webhook 集成

OpenClaw 可以接收外部 Webhook 通知,实现事件驱动的自动化。比如当 GitHub 有新的 Push 事件时,自动触发代码检查或部署流程。

Hooks 机制

通过配置 Hooks,你可以在特定事件发生时自动执行操作。例如,当文件被修改时自动运行测试,或者当收到特定类型的消息时自动执行预定义的处理流程。


性能优化和成本控制

  • Heartbeat 间隔:默认 30 分钟,可以根据需要调整。太频繁会增加 API 调用成本
  • Cron 任务精简:避免创建太多高频 Cron 任务,能合并的尽量合并
  • 模型选择:Heartbeat 和 Cron 任务尽量使用轻量模型,复杂任务才用高级模型
  • 上下文管理:定期使用 /compact 压缩会话历史,减少 token 消耗
  • 条件触发:设置合理的触发条件,避免无效检查。比如"如果有户外计划才检查天气"

💰 成本提示:一个配置得当的 Heartbeat 系统,每天的 API 成本可以控制在几毛钱到几块钱之间。关键是选对模型、设好条件、合并检查任务。


总结

OpenClaw 的进阶玩法核心就三个词:主动定时并行

  • Heartbeat 让 AI 变得主动,不再只是被动等你提问
  • Cron 让 AI 按时执行任务,成为可靠的定时器
  • Sub-agents 让 AI 能同时处理多个任务,效率翻倍

把这些能力组合起来,你就能构建出真正自主运行的智能工作流。OpenClaw 不只是一个聊天工具——它是你的数字化分身,帮你盯着该盯的事情,做该做的事。

版权声明:
作者:wenjiuzzh
链接:https://blog.dingfengbo.eu.org/openclaw-%e8%bf%9b%e9%98%b6%e7%8e%a9%e6%b3%95%ef%bc%9aheartbeat%e3%80%81cron-%e5%92%8c%e8%87%aa%e5%8a%a8%e5%8c%96%e5%b7%a5%e4%bd%9c%e6%b5%81/
来源:DINGFENGBO
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>