返回首页
阅读时间约 20 分钟
第 6 小时

主动工作

OpenClaw 5小时极速自学教程 - 让助手主动工作

"一个你要主动去问的助手,只是一个工具。一个主动来找你的助手,才是真正的助手。今天之后,你再也不需要'记得检查邮件'了——因为有人帮你记着。"


📖 本章导读

这一小时,我们将完成OpenClaw助手从「被动工具」到「主动管家」的核心升级,彻底解决「你不喊它,它就不动」的痛点。

你将系统掌握两大核心自动化能力:

  • 理解心跳机制(Heartbeat)——给助手装上「生物钟」,实现循环巡检
  • 掌握定时任务(Cron)——配置精确到分钟的自动化执行规则
  • 分清两大机制的适用场景,选对工具不踩坑
  • 学会平衡助手的主动性,做到「有事及时说,没事不打扰」

学完本章,你的助手将实现24小时全自动值守:邮件检查、日程提醒、数据监控、定时报告,全部无需手动触发。


从「你问它答」到「它主动找你」

在前序学习中,你已经让助手拥有了对话交互、工具调用、多平台接入的能力,但它始终有一个核心短板:你不发起指令,它就什么都不做

邮件堆满未读它不会主动筛选,会议临近它不会提前提醒,网站宕机它不会第一时间告警,它始终在原地等待你的指令。这就像雇了一个全能管家,却只会站在门口等你下命令,完全失去了「助理」的核心价值。

今天,我们就用心跳机制+定时任务,彻底解决这个问题。


心跳机制(Heartbeat)💓

心跳机制是OpenClaw实现主动工作的核心基础,它就像助手的「生物钟」,能让助手按照固定间隔自动「唤醒」,主动完成预设的巡检任务。

核心原理

OpenClaw会按照你设定的时间间隔(默认30分钟),向助手发送一次心跳信号。助手收到信号后,会按固定流程执行操作:

  1. 读取 HEARTBEAT.md 中预设的巡检任务清单
  2. 逐项完成清单中的检查项
  3. 发现需要通知你的重要事项,立即主动发消息告知
  4. 无异常情况则静默返回 HEARTBEAT_OK,不产生任何打扰

配置心跳任务清单

心跳任务的核心配置文件为 ~/clawd/HEARTBEAT.md,你可以通过编辑该文件,自由定义助手的巡检范围,参考配置示例如下:

# 心跳任务

## 每次检查必做
- 查看Gmail收件箱,筛选重要未读邮件(标星/来自重要联系人)
- 查看日历,检查2小时内是否有需要提醒的会议(含会议链接+参会人)
- 检查即时通讯工具未读消息,筛选@我的高优先级内容

## 每天检查2-3次
- 检查核心网站是否可正常访问(响应时间<3s为正常)
- 查看GSC搜索数据是否出现异常波动(流量变化±20%需提醒)
- 检查服务器核心指标(CPU/内存使用率<80%为正常)

## 无需主动执行
- 天气查询(仅用户主动询问时响应)
- 社交媒体消息(仅被@时处理)
- 非紧急的文件整理需求(仅按需触发)

调整心跳间隔

你可以根据自身使用场景,灵活调整心跳触发的间隔时长,支持两种配置方式:

方式1:向导式配置(新手推荐)

# 启动网关配置向导
openclaw configure --section gateway

在弹出的配置向导中,找到 heartbeat.interval 字段,输入数值+单位(如15m/30m/1h),按回车确认即可完成调整。

方式2:直接编辑配置文件

  1. 打开OpenClaw主配置文件(路径:~/.openclaw/config.yaml
  2. 找到 gateway 模块下的 heartbeat.interval 字段
  3. 修改为目标间隔值,保存文件后执行 openclaw restart 生效

常用配置参考:

  • 15m:高频巡检,适合工作日白天高优先级监控场景(如电商大促、核心系统监控)
  • 30m:系统默认值,平衡巡检效率与使用成本(通用办公场景首选)
  • 1h:低频巡检,适合非工作时间、低优先级监控场景(如夜间/周末)
  • 6h:超低频巡检,适合长期无人值守的轻量监控场景

心跳机制常见问题排查

问题现象排查步骤解决方案
心跳未触发1. 检查配置文件中interval字段格式
2. 执行openclaw status查看网关状态
1. 确保格式为「数字+单位」(如30m)
2. 执行openclaw restart重启网关
频繁收到无意义提醒1. 检查HEARTBEAT.md中巡检项阈值
2. 确认通知分级规则
1. 提高异常判定阈值(如流量波动±30%)
2. 新增「次要事项汇总通知」规则

定时任务(Cron)⏰

心跳机制适合「每隔一段时间循环巡检」的场景,但对于需要精确时间点执行的固定任务,我们需要用到Cron定时任务。

核心作用

Cron基于Linux crontab语法实现,能让助手在你指定的精确时间,自动执行预设指令,完美适配以下场景:

  • 每天早上8:00推送当日晨间简报
  • 每周一上午9:00生成上周工作周报
  • 每月1号上午10:00核对服务器账单
  • 工作日固定时段推送健康工作提醒

Cron表达式语法

Cron表达式标准格式为 分 时 日 月 周,5个字段分别对应不同的时间维度,字段取值范围:

字段取值范围特殊符号说明
0-59(任意)、/n(每隔n分钟)、n1,n2(指定多个值)
0-23*(任意)、n1-n2(指定时间段)
1-31*(任意)、L(当月最后一天)
1-12 / Jan-Dec*(任意)
0-7 / Sun-Sat(0/7均为周日)*(任意)、n1-n2(指定周几范围)

常用示例如下:

分  时  日  月  周          说明
0   8   *   *   *           → 每天早上8:00执行
0   9   *   *   1           → 每周一早上9:00执行
0   10  1   *   *           → 每月1号早上10:00执行
*/30 9-18 * * 1-5          → 工作日9:00-18:00,每30分钟执行一次
0   18  *   *   1-5         → 工作日下午6:00执行
0   0   L   *   *           → 每月最后一天午夜执行

创建/管理Cron任务

1. 创建Cron任务

通过 openclaw cron add 命令创建定时任务,核心参数说明:

  • --name:任务名称(唯一,便于管理)
  • --cron:Cron时间表达式(必填)
  • --system-event:任务触发时执行的指令(支持多行文本)
  • --enabled:是否启用(默认true,false为禁用)

2. 常用管理命令

# 查看所有Cron任务
openclaw cron list

# 编辑已有任务(修改名称/表达式/指令)
openclaw cron edit --name "晨间简报"

# 禁用/启用任务
openclaw cron disable --name "工作健康提醒"
openclaw cron enable --name "工作健康提醒"

# 删除任务
openclaw cron delete --name "每周工作周报"

高频实用Cron任务示例

1. 晨间简报(每天8:00执行)

openclaw cron add --name "晨间简报" --cron "0 8 * * *" \
  --system-event "生成今日晨间简报,要求:
  1) 摘要未读邮件中的重要内容(仅标星/重要联系人,控制在3条内)
  2) 整理当日日历会议安排(含时间、会议名称、参会人、会议链接)
  3) 检查核心网站运行状态(响应时间+可用性)
  4) 汇总为一条简洁消息,控制在200字以内发送。"

2. 周报生成(每周一9:00执行)

openclaw cron add --name "每周工作周报" --cron "0 9 * * 1" \
  --system-event "生成上周工作周报,结构要求:
  1) 核心完成事项(3-5条,量化成果)
  2) 待跟进事项(标注优先级)
  3) 核心项目数据变化(环比/同比)
  4) 重要邮件/沟通记录摘要
  5) 本周计划(简明列出重点)。"

3. 工作健康提醒(工作日每2小时执行)

openclaw cron add --name "工作健康提醒" --cron "0 10,12,14,16 * * 1-5" \
  --system-event "发送温馨健康提醒,要求:
  1) 语气亲切,不生硬
  2) 提醒内容:起身活动5分钟,补充水分;若已连续工作超2小时,建议休息10分钟
  3) 附加1条简短的护眼小技巧(每次不同)。"

4. 每日数据备份(每天23:00执行)

openclaw cron add --name "每日数据备份" --cron "0 23 * * *" \
  --system-event "执行每日数据备份流程:
  1) 备份核心工作文档至云盘
  2) 备份数据库至本地+异地存储
  3) 检查备份文件完整性
  4) 若备份失败,立即发送告警消息;备份成功则静默不通知。"

心跳 vs Cron:场景选择指南

两大机制都能实现助手的主动工作,但适用场景差异显著,选错工具会导致效果大打折扣,可参考下表快速选择:

维度心跳机制(Heartbeat)定时任务(Cron)
触发方式固定间隔循环触发精确时间点/时间段触发
核心适配场景常规巡检、状态监控、异常告警、实时响应定时报告、固定时间提醒、周期性批量任务、数据备份
时间精度允许几分钟的偏差(±1-2分钟)精确到分钟(系统级精准触发)
执行上下文可调用完整对话历史与记忆(有上下文)独立执行,无上下文依赖(纯指令执行)
使用成本无异常则静默,成本极低(仅异常时产生交互)每次触发均执行指令,成本固定(按执行次数计费)
配置复杂度低(仅需编辑清单+调整间隔)中(需掌握Cron表达式语法)
灵活性高(随时调整间隔,即时生效)中(修改后需重启Cron服务生效)

极简选择规则

  • 需要「隔一会儿看一眼」的巡检类工作 → 心跳机制
  • 需要「几点几分必须做」的固定任务 → Cron定时任务
  • 实时性要求高的异常监控 → 心跳机制(短间隔)
  • 批量处理/报告生成类任务 → Cron定时任务

平衡的艺术:主动但不烦人

「主动工作」和「信息骚扰」只有一线之隔,遵循以下4个核心原则,就能让助手的主动服务恰到好处。

原则1:分级推送,重要的立即说,次要的攒起来

信息等级推送策略示例场景
紧急(P0)立即推送,5分钟内必达网站宕机、紧急会议提醒、重要客户邮件
重要(P1)15分钟内推送,不延迟核心数据异常、待办事项到期提醒
次要(P2)攒到固定时段汇总推送普通邮件、常规数据更新、非紧急通知
低优先级(P3)仅用户主动查询时展示非重要的社交媒体消息、普通资讯

原则2:尊重静默时间,非必要不打扰

  • 基础静默时段:深夜(23:00-次日8:00)、周末节假日,除非P0级紧急事项,否则停止主动推送
  • 自定义静默配置:
    # 配置静默时段(支持多时段)
    openclaw configure --section gateway --key heartbeat.silent_hours --value "23:00-08:00,12:00-13:00"
    # 配置紧急例外项(P0级仍推送)
    openclaw configure --section gateway --key heartbeat.urgent_exceptions --value "website_down,emergency_meeting"
    

原则3:频率适配,找到舒适区间

  • 初期试运营阶段(1-3天):可适当提高推送频率,熟悉助手的能力边界
  • 稳定使用阶段:建议将每日主动消息控制在3-5条,避免信息过载
  • 频率调整技巧:
    1. 高频→低频:调大心跳间隔(如15m→30m)+ 删减非必要巡检项
    2. 低频→高频:缩小心跳间隔(如1h→30m)+ 新增核心监控项

原则4:全量可配置,随时可调整

所有主动行为均支持精细化配置,核心配置入口:

  1. 心跳任务:~/clawd/HEARTBEAT.md(编辑后即时生效)
  2. 心跳间隔/静默时段:~/.openclaw/config.yaml(修改后重启生效)
  3. Cron任务:openclaw cron 命令集(支持实时编辑/禁用/删除)
  4. 推送渠道:可单独配置不同场景的推送方式(如紧急项→短信+APP,次要项→仅APP)

🔧 实操演练:搭建你的主动助手

目标

  1. 配置心跳任务清单,实现核心工作场景的自动巡检
  2. 创建2个实用的Cron定时任务
  3. 配置静默时段,避免夜间打扰

步骤

步骤1:配置心跳任务清单

# 打开心跳任务配置文件
vim ~/clawd/HEARTBEAT.md

按前文示例,编辑适合自己的巡检任务,保存退出。

步骤2:调整心跳间隔为20分钟(工作日)

# 向导式配置
openclaw configure --section gateway
# 在向导中找到heartbeat.interval,输入20m
# 配置周末间隔为1h
openclaw configure --section gateway --key heartbeat.weekend_interval --value "1h"

步骤3:创建晨间简报和健康提醒Cron任务

执行前文对应的2个Cron命令,完成任务创建。

步骤4:配置静默时段

# 配置夜间+午休静默时段
openclaw configure --section gateway --key heartbeat.silent_hours --value "22:30-08:30,12:00-13:00"

步骤5:验证配置生效

# 查看心跳配置
openclaw configure --section gateway --list
# 查看Cron任务列表
openclaw cron list
# 重启服务使配置生效
openclaw restart

🔑 本章核心要点回顾

  • 心跳 = 助手的生物钟:按固定间隔自动唤醒,完成循环巡检与异常告警,是常规监控的首选(低成本、高灵活)
  • Cron = 精准闹钟:基于时间表达式精确触发,适配定时报告、固定提醒、数据备份等场景(高精度、强可控)
  • 场景选择核心规则:批量巡检/实时监控用心跳,精确定时/批量任务用Cron
  • 主动工作的核心准则:分级推送、尊重静默时间、控制推送频率,做到「主动但不烦人」
  • 配置核心逻辑:所有主动行为均可配置、可调整、可禁用,完全掌控在你手中
  • 主动工作,才是AI私人助理的真正价值(从「被动响应」到「主动服务」的质变)

今日成就 🎉

恭喜你,完成了OpenClaw助手的质变升级!今天你已经:

  • ✅ 理解了心跳机制的核心原理,完成了个性化心跳任务清单的配置
  • ✅ 掌握了Cron表达式语法,能独立创建/管理定时任务
  • ✅ 精准区分两大机制的适用场景,能根据需求选对工具
  • ✅ 学会了平衡助手的主动性,通过分级推送+静默时段避免信息骚扰
  • ✅ 完成了实操演练,搭建了属于自己的主动助手体系
  • ✅ 让助手从「被动响应的工具」,变成了「24小时在线的主动管家」

从今天开始,那些琐碎的、重复的、总需要你「记着去看一眼」的事,终于有人帮你全天候盯着了。你可以彻底解放精力,专注于更核心、更有价值的工作。


常见问题Q&A

Q1:心跳机制和Cron可以同时使用吗?

A:完全可以,且推荐组合使用。例如:用心跳机制做实时监控,用Cron做定时报告,两者互补,覆盖全场景主动工作需求。

Q2:如何降低主动推送的信息干扰?

A:核心方法:1) 严格执行分级推送,次要信息汇总发送;2) 配置合理的静默时段;3) 定期清理非必要的巡检项/Cron任务,保持「少而精」。

Q3:Cron任务执行失败怎么办?

A:1) 执行openclaw cron logs --name 任务名称查看日志;2) 检查Cron表达式语法是否正确;3) 确认指令是否可独立执行(无上下文依赖);4) 重启Cron服务openclaw cron restart

Q4:心跳间隔设置得越短越好吗?

A:不是。过短的间隔(如5m)会增加使用成本,且可能导致频繁的无意义检查;建议根据场景选择:工作日15-30m,非工作日1-6h。


预告:总结&展望😚

  • 我们都学习了什么(全5小时核心知识点复盘)
  • 使用OpenClaw 的 AI 助手有哪些要注意的关键问题(避坑指南)
  • 如何让你的AI 助手越变越聪明(记忆系统+个性化训练) 最终实现:让你的AI助手为你打工,你可以尽情享受快乐的生活

下一章 👉 总结&展望:复盘收获并持续进化