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:何时用哪个?
| 特性 | Heartbeat | Cron |
| 时间精度 | ~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
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论