玩转 OpenClaw:用 TaskFlow + Heartbeat 打造自动化工作流

> OpenClaw 在 2026 年的更新中,最值得关注的新能力是 TaskFlow 持久化编排层Heartbeat 主动任务机制。前者解决了多步骤后台任务的协调问题,后者让 AI 助手从"等你问"变成"主动告诉你"。本文以实战为导向,手把手教你在 10 分钟内搭起一个自动化监控提醒工作流。

一、环境准备

确保已安装 Node.js 18+ 和 OpenClaw 最新版(2026.4.x):

复制代码
node --version   # 确认 >= 18.0.0
openclaw --version  # 确认 >= 2026.4.0

首次安装请参考官方文档完成 Gateway 初始化和渠道配置,本文略过基础安装步骤。

二、核心概念:TaskFlow 是什么

OpenClaw 的 TaskFlow 是"编排层 above 后台任务"------它管理多步骤流程的状态和版本追踪,每个步骤是独立的 detached 任务单元。

简单理解:TaskFlow = 带状态持久化的多步骤任务链。你可以定义"先抓数据、再分析、最后发报告"这样的一系列步骤,中途失败了会自动从断点恢复,而普通的 cron 任务每次都是全新的上下文。

TaskFlow 基本结构

复制代码
// my-flow.js
const { taskflow } = require('@openclaw/sdk');

module.exports = taskflow({``
name: 'daily-ai-digest',
steps: [
{``
id: 'fetch-news',
task: async (ctx) => {``
const results = await ctx.tools.tavily_search({``
query: 'AI large language model latest news',
max_results: 5,
});
return { articles: results.results };
},
},
{``
id: 'summarize',
depends: ['fetch-news'], // 必须等待上一步完成
task: async (ctx) => {``
const articles = ctx.state['fetch-news'].articles;
const summary = articles.map(a => ``- ${a.title}``).join('\n');
return { digest: summary };
},
},
{``
id: 'notify',
depends: ['summarize'],
task: async (ctx) => {``
await ctx.tools.message.send({``
channel: 'telegram',
text: ``📰 今日 AI 要闻\n\n${ctx.state['summarize'].digest}``,
});
return { sent: true };
},
},
],
});

三、Heartbeat:让 OpenClaw 主动找你

Heartbeat 是 OpenClaw 的定时探活机制,本质上是受管理的 cron 任务,但比传统 cron 更聪明------它有上下文,知道你是谁、你的助手在干什么。

配置 Heartbeat

HEARTBEAT.md 中写入检查清单:

复制代码
<!-- /root/.openclaw/workspace/HEARTBEAT.md -->

每次心跳执行的检查清单

定期检查(每 4 小时)

  • [ ] 磁盘空间:df -h / | tail -1
  • [ ] CSDN 新消息:有未读私信吗?
  • [ ] 天气:明天适合出行吗?

每日检查(9:00 AM)

  • [ ] 运行 daily-ai-digest TaskFlow

主动提醒示例

让 OpenClaw 在磁盘空间不足时主动发 Telegram 提醒:

复制代码
// skills/disk-monitor/check.js
async function checkDisk() {
  const { exec } = require('child_process');
  return new Promise((resolve) => {
    exec("df -h / | tail -1 | awk '{print $5}'", (err, stdout) => {
      const used = parseInt(stdout.trim());
      resolve({ usedPercent: used });
    });
  });
}

module.exports = async (ctx) => {``
const { usedPercent } = await checkDisk();
if (usedPercent > 85) {``
await ctx.tools.message.send({``
channel: 'telegram',
text: ``⚠️ 磁盘空间告警!已使用 ${usedPercent}%,建议清理。``,
});
}
};

注册到 OpenClaw 的 skill 目录后,Heartbeat 会自动调度执行。

四、子 Agent:并发处理复杂任务

/subagents spawn 是 2026.2.17 引入的新能力,可以从主对话中触发独立的子 Agent 运行,适合 CPU 密集或需要隔离上下文的场景。

spawn 子 Agent 的用法

在对话中直接输入:

复制代码
/subagents spawn --task "帮我调研近一周的 AI Agent 开源项目,列出 star 数前 10 的" --label research-agent

也可以通过消息接口调用:

复制代码
// 从主 Agent 派生子 Agent
const result = await ctx.tools.sessions_spawn({
  task: '分析 /workspace/reports 目录下的所有 markdown 文件,提取关键词',
  label: 'doc-analyzer',
  runtime: 'subagent',
  runTimeoutSeconds: 300,  // 5分钟超时
});

console.log('子Agent结果:', result);

每个子 Agent 有独立的 workspace 目录(/root/.openclaw/workspace/subagents/<label>/),不会污染主 Agent 的工作上下文。

Agent 间通信

子 Agent 完成后,可以通过 sessions_send 将结果回传给主 Agent:

复制代码
// 主Agent中
const subResult = await ctx.tools.sessions_spawn({ ... });

await ctx.tools.sessions_send({``
sessionKey: subResult.sessionKey,
message: ``任务完成,结果:${JSON.stringify(subResult.output)}``,
});

五、实战:搭建"AI 日报自动生成 + 推送"完整流程

结合 TaskFlow + Heartbeat + 子 Agent,我们搭建一个每日 9 点自动运行的流程:

Step 1:创建 TaskFlow 文件

复制代码
// /root/.openclaw/workspace/tasks/daily-ai-report.js
const { tavily_search } = require('@openclaw/plugins/tavily');
const { message } = require('@openclaw/plugins/message');

module.exports = taskflow({``
name: 'daily-ai-report',

steps: [{``
id: 'search',
task: async (ctx) => {``
const news = await ctx.tools.tavily_search({``
query: 'AI large language model agent news 2026',
search_depth: 'advanced',
max_results: 8,
});
return { items: news.results };
},
}, {``
id: 'write-report',
depends: ['search'],
task: async (ctx) => {``
const items = ctx.state.search.items;
const lines = items.map((item, i) =>
``${i + 1}.**{item.title}**`\n {item.snippet.slice(0, 100)}... 原文 ` ` ).join('\n\n'); ` ` return {
content: # 🤖 AI 日报 | ${new Date().toLocaleDateString('zh-CN')}\n\n${lines}\n\n---\n*由 OpenClaw 自动生成*
};
},
}, { ` ` id: 'save', ` ` depends: ['write-report'], ` ` task: async (ctx) => {
const { execSync } = require('child_process');
const path = /root/.openclaw/workspace/articles/daily-${Date.now()}.md;
require('fs').writeFileSync(path, ctx.state['write-report'].content);
return { savedPath: path };
},
}, { ` ` id: 'notify', ` ` depends: ['save'], ` ` task: async (ctx) => {
await ctx.tools.message.send({` ` channel: 'telegram', ` ` text:✅ AI 日报已生成:${ctx.state['save'].savedPath}``,
});
},
}],
});`

Step 2:注册为每日 cron

在 OpenClaw 配置中添加定时触发器(Gateway config 的 tasks 部分):

复制代码

openclaw.yaml

tasks:
daily-ai-report:
cron: "0 9 * * *" # 每天 9:00 执行
taskflow: daily-ai-report
enabled: true

Step 3:验证运行

复制代码

手动触发测试

openclaw task run daily-ai-report --dry-run

查看任务状态

openclaw task list

成功运行后,你会在 Telegram 收到一条包含当天 AI 要闻的日报,整个过程无需人工干预。

六、技巧与避坑

1. TaskFlow 状态存储位置

TaskFlow 的执行状态存在 /root/.openclaw/runtime/taskflow/ 目录,每个 flow 有独立的 .state.json。删除该文件可以从头重跑整个流程。

2. 子 Agent 超时设置

默认子 Agent 超时是 60 秒,复杂任务记得设置 runTimeoutSeconds,避免半途而废。

3. Heartbeat 节流

Heartbeat 默认 30 分钟一次,频繁检查会造成 token 浪费。建议把同类检查合并到同一个 HEARTBEAT.md 文件,减少轮询开销。

4. 跨节点 TaskFlow

如果运行了多个 OpenClaw 节点,TaskFlow 的状态默认存在本地。想跨节点共享需要配置共享存储路径。

七、总结

OpenClaw 2026 年的更新让它从一个"聊天机器人"进化成了真正的个人 AI 操作系统

| 能力 | 适用场景 |

|------|---------|

| TaskFlow | 多步骤后台任务、需要断点恢复的流程 |

| Heartbeat | 定时检查、主动告警、定期报告 |

| 子 Agent | CPU 密集任务、需要隔离上下文的分析 |

| 消息渠道 | Telegram/Discord/Slack 多平台推送 |

掌握这三个核心能力,你就可以把 OpenClaw 打造成 24 小时在线的数字助理,真正从重复性工作中解放出来。


*有问题欢迎在评论区交流,也可以关注我的 CSDN 付费专栏「AI分享」获取更多 AI 工具实战技巧。*

相关推荐
zhangfeng11331 小时前
AI 每日动态推送|2026-05-30 codidng 机器人方向
人工智能·机器人
zhangxingchao1 小时前
AI 大模型核心六:量化、Workflow 与 Agent、多轮 RAG
前端·人工智能·后端
梦想的颜色1 小时前
TypeScript 完全指南(上):从零开始掌握类型系统
前端·typescript
陆业聪1 小时前
WebView代理方案实现:拦截请求、注入资源与离线包架构
人工智能·ai编程
之歆1 小时前
Day01_ES6+ 专业指南:从基础到实战的现代JavaScript开发(下)
前端·javascript·es6
薛定谔的猫-菜鸟程序员2 小时前
2小时智能体开发一个智能体?我用CodeArts Agent 和 AtomCode 开发了一个适老化智能体。
人工智能·python·agent
lichenyang4532 小时前
鸿蒙 MVVM 实战:从 Demo 到工程化,聊聊登录、状态管理与埋点系统设计
前端
HIT_Weston2 小时前
101、【Agent】【OpenCode】task 工具提示词(Usage Notes)
人工智能·agent·opencode