在上一篇文章中,我们打开了AI小助手的技能宝库,让AI小助手能够利用各种工具来协助我们做好工作。那么今天,大家就跟着我一起来解锁OpenClaw的自动化能力,让AI小助手主动去工作。相信跟着我一起搭建的小伙伴们,已经发现了,AI小助手现在已经可以干很多事情了,它有灵魂、懂你、能上网搜索、能自己浏览网页并完成一些浏览器操作,但是这些都是我们让它去做的时候,它才会去做,如
在上一篇文章里,我们解锁了AI助手的技能库,让它能调用各种工具来协助完成工作。今天,我们就来更进一步,探索OpenClaw的自动化潜能,让AI助手不再被动等待,而是能主动为我们分忧。
一路跟着搭建下来的朋友可能已经注意到了,目前的AI助手虽然本领不小——它理解你的意图、能联网搜索、甚至可以操作浏览器——但这些动作都建立在“你发出指令”的前提下。如果我们不主动召唤,它就静静地待在服务器里,仿佛一位技艺超群却从不主动开口的管家:网站宕机了它不会吱声,邮箱塞满未读邮件它不去查看,日历上待办事项快到期了它也默不作声。今天,我们就来解决这个“你不说,它不动”的问题,真正唤醒这位全能管家的主动性。
长期稳定更新的攒劲资源: >>>点此立即查看<<<
Heartbeat是OpenClaw实现自动化的核心机制之一。它的本质,是在主对话中定期运行一个智能体循环,让模型能在不打扰你的情况下,主动监测并提醒需要注意的事项。
OpenClaw默认的心跳间隔是30分钟(当检测到认证模式为Anthropic OAuth/setup-token时会调整为1小时)。系统会按照设定的间隔向助手发送一个心跳信号。助手接收到这个信号后,会执行以下一系列动作:
首先,它会读取 HEARTBEAT.md 文件中预设的任务清单。接着,AI助手会按清单顺序逐一执行这些任务。如果检查过程中发现了需要提醒你的事项,它就会主动发出通知。反之,如果一切正常,或者任务清单本身是空的,它便会回复一个 HEARTBEAT_OK 的信号。
调整心跳频率很简单。可以通过执行以下命令进入OpenClaw的网关配置界面:
openclaw configure --section gateway
在设置向导中,你可以直接调整心跳间隔。当然,喜欢手动配置的朋友也可以直接编辑配置文件来实现:
{
agents: {
defaults: {
heartbeat: {
every: "30m",
target: "last", // 决定心跳消息发送到哪里(默认 target: "last")
// activeHours: { start: "08:00", end: "24:00" }, // 可选:将心跳限制在活动时段(本地时间)
// includeReasoning: true, // 可选:同时发送单独的 `Reasoning:` 消息
},
},
},
}
这里有几个常用的间隔设置供参考:
心跳具体检查什么,完全由你来定义。只需编辑 HEARTBEAT.md 文件:
vim ~/.openclaw/workspace/HEARTBEAT.md
你可以参考下面的配置示例,根据自己的需求进行调整:
# 心跳任务
## 每次检查
- 查看是否有重要邮件
- 查看日历,2小时内有没有会议要提醒
## 每天检查 2-3 次
- 检查网站是否正常访问
- 检查服务器状态是否正常
## 不需要主动做
- 天气查询(等我问再查)
如果说心跳是规律性的“巡检”,那么定时任务就是精准的“闹钟”。这是Gateway网关内置的调度器,能够持久化存储任务计划,并在设定的确切时间唤醒智能体执行任务,还可以选择性地将执行结果发送回聊天界面。
凡是需要“每天早上8点运行”或者“20分钟后提醒我”这类场景,定时任务都是不二之选。
理解它的工作机制很重要:首先,定时任务运行在Gateway网关内部,而非模型内部。其次,所有任务计划都持久化存储在 ~/.openclaw/cron/ 目录下,因此服务重启也不会导致任务丢失。它主要有两种执行模式:
cron: 的智能体会话中独立运行任务,可以选择投递任务摘要(默认)或不投递。另外,定时任务支持“唤醒”功能,可以要求任务“立即执行”或“在下次心跳时执行”。
创建一个定时任务非常直观,例如,我们可以设置一个每日晨间简报:
openclaw cron add --name "晨间简报" --cron "0 8 * * *" \
--system-event "生成今日简报:检查邮件、日历、网站数据,整理成一条消息发给我"
如果你对Cron表达式不熟悉,可以简单搜索一下。它的格式与Linux系统的crontab完全一致:
分 时 日 月 周
0 8 * * * → 每天 8:00
0 9 * * 1 → 每周一 9:00
0 10 1 * * → 每月 1 号 10:00
*/15 9-18 * * 1-5 → 工作日 9:00-18:00 每 15 分钟
了解了两种机制后,如何选择使用哪个呢?关键在于区分场景。
| 使用场景 | 推荐方式 | 原因 |
|---|---|---|
| 每30分钟检查收件箱 | 心跳 | 可与其他检查批量处理,具备上下文感知能力 |
| 每天上午9点准时发送报告 | 定时任务(隔离式) | 需要精确定时 |
| 监控日历中即将到来的事件 | 心跳 | 天然适合周期性感知 |
| 运行每周深度分析 | 定时任务(隔离式) | 独立任务,可使用不同模型 |
| 20分钟后提醒我 | 定时任务(主会话,--at) | 精确定时的一次性任务 |
| 后台项目健康检查 | 心跳 | 搭载在现有周期上 |
可以记住一个简单的法则:需要隔一会儿就看一下的事,交给心跳;必须精准到某个时间点做的事,交给Cron。
心跳(默认30分钟一次)在主会话中以固定间隔运行,其设计初衷是让智能体周期性地检查各种状态并呈现重要信息。当面临以下情况时,心跳是更优选择:需要整合多项周期性检查、决策依赖于上下文感知、任务与对话连续性相关,或是进行低开销的后台监控。
它的优势在于能批量处理减少API调用,加强上下文关联性,并且在没有异常时保持安静,不产生冗余消息。
定时任务则在精确的时间点触发,并且可以在独立的会话中运行,不影响主会话的上下文。它适用于这些场景:需要精确定时执行、任务相互独立、希望为不同任务分配不同模型或“思考”级别、一次性提醒、复杂作业链,或是由外部事件触发。
其核心优势是时间精准、会话隔离、能按需调配计算资源,并且即使主会话处于空闲或压缩状态,任务也能可靠执行。
事实上,最高效的策略是让两者协同工作:
好了,通过以上的介绍和配置,你的AI助手应该已经具备了主动工作的能力。它将不再只是一个等待命令的工具,而成为一个能主动预警、按时汇报的智能伙伴。
在接下来的内容中,我们将一起深入打造AI助手的记忆系统,让它不仅能“主动做事”,还能“记住事情”,期待与你继续共同探索。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述