20-OpenClaw定时任务与自动化工作流

20-OpenClaw定时任务与自动化工作流

OpenClaw 定时任务与自动化工作流

免费专栏|全套教程OpenClaw 从入门到精通
开篇总览|最新目录最新 OpenClaw 教程|从入门到精通|AI 智能助手 / 自动化 / Skills 实战(原 Clawdbot/Moltbot)

本文档详细介绍 OpenClaw 的定时任务和自动化功能,包括 Cron 配置、Heartbeat 心跳机制以及自动化工作流的设计与实践。

目录

  1. 概述
  2. Cron 定时任务配置
  3. Heartbeat 心跳机制
  4. 自动化工作流设计
  5. 实战案例
  6. 最佳实践与注意事项

1. 概述

OpenClaw 提供了强大的定时任务和自动化能力,让 AI 助手能够主动执行任务,而不仅仅是响应用户请求。这种能力使 OpenClaw 从"被动响应"转变为"主动协作"的智能助手。

1.1 核心能力

┌─────────────────────────────────────────────────────────────────┐ │ OpenClaw 自动化能力架构 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ Cron 任务 │ │ Heartbeat │ │ 事件驱动 │ │ │ │ (精确定时) │ │ (周期检查) │ │ (触发响应) │ │ │ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │ │ │ │ │ │ │ └──────────────────┼──────────────────┘ │ │ ▼ │ │ ┌─────────────────────────┐ │ │ │ 自动化工作流引擎 │ │ │ └─────────────────────────┘ │ │ │ │ │ ┌──────────────────┼──────────────────┐ │ │ ▼ ▼ ▼ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ 邮件处理 │ │ 日程提醒 │ │ 数据同步 │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ 

1.2 两种机制对比

特性Cron 定时任务Heartbeat 心跳
触发方式时间驱动周期轮询
精确度精确到秒级可漂移,约 30 分钟
执行环境独立子代理会话主会话上下文
适用场景固定时间任务批量检查任务
模型配置可指定不同模型继承主会话模型
输出方式直接发送到通道经过主会话处理

2. Cron 定时任务配置

2.1 Cron 基础概念

Cron 是一种时间基础的作业调度器,使用特定的表达式来定义任务执行的时间规则。

Cron 表达式格式
┌───────────── 分钟 (0 - 59) │ ┌───────────── 小时 (0 - 23) │ │ ┌───────────── 日期 (1 - 31) │ │ │ ┌───────────── 月份 (1 - 12) │ │ │ │ ┌───────────── 星期几 (0 - 6,0 = 周日) │ │ │ │ │ * * * * * 
常用表达式示例
表达式含义
0 9 * * *每天上午 9:00
0 9 * * 1每周一上午 9:00
0 9,18 * * *每天上午 9:00 和下午 6:00
*/30 * * * *每 30 分钟
0 0 1 * *每月 1 号午夜

2.2 OpenClaw 中的 Cron 配置

2.2.1 通过 CLI 配置
# 查看当前所有定时任务 openclaw cron list # 添加新的定时任务 openclaw cronadd--schedule"0 9 * * *"--message"早安!今天有什么安排?"# 添加指定通道的任务 openclaw cronadd\--schedule"0 18 * * 1-5"\--message"下班时间到了,今天的工作完成了吗?"\--channel"discord"# 使用不同模型 openclaw cronadd\--schedule"0 8 * * *"\--message"总结昨天的邮件"\--model"claude-3-opus"# 删除定时任务 openclaw cron remove <cron-id># 启用/禁用任务 openclaw cronenable<cron-id> openclaw cron disable <cron-id>
2.2.2 配置文件方式

~/.openclaw/config.json 中配置定时任务:

{"cron":{"jobs":[{"id":"morning-briefing","schedule":"0 8 * * *","message":"早安!检查今日日程和未读邮件","channel":"feishu","model":"claude-3-sonnet","enabled":true},{"id":"weekly-report","schedule":"0 17 * * 5","message":"生成本周工作总结报告","channel":"discord","enabled":true},{"id":"weather-alert","schedule":"0 7 * * *","message":"检查今日天气,如有异常提前提醒","enabled":true}]}}

2.3 Cron 任务执行流程

┌─────────────────────────────────────────────────────────────────┐ │ Cron 任务执行流程 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 时间到达 │ │ │ │ │ ▼ │ │ ┌─────────────┐ │ │ │ Cron 触发器 │ │ │ └──────┬──────┘ │ │ │ │ │ ▼ │ │ ┌─────────────┐ ┌─────────────┐ │ │ │ 检查任务状态 │──否──▶│ 跳过执行 │ │ │ └──────┬──────┘ └─────────────┘ │ │ │ 是 │ │ ▼ │ │ ┌─────────────┐ │ │ │ 创建子代理 │ │ │ │ (独立会话) │ │ │ └──────┬──────┘ │ │ │ │ │ ▼ │ │ ┌─────────────┐ │ │ │ 执行任务指令 │ │ │ └──────┬──────┘ │ │ │ │ │ ▼ │ │ ┌─────────────┐ │ │ │ 发送结果到 │ │ │ │ 指定通道 │ │ │ └─────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ 

2.4 Cron 任务高级配置

2.4.1 时区设置
{"cron":{"timezone":"Asia/Shanghai","jobs":[{"id":"daily-standup","schedule":"0 10 * * 1-5","message":"每日站会提醒","timezone":"Asia/Shanghai"}]}}
2.4.2 任务重试机制
{"cron":{"jobs":[{"id":"data-backup","schedule":"0 2 * * *","message":"执行数据备份任务","retry":{"maxAttempts":3,"delayMinutes":5,"notifyOnFailure":true}}]}}
2.4.3 条件执行
{"cron":{"jobs":[{"id":"smart-reminder","schedule":"0 9 * * *","message":"如果今天有会议,提前提醒准备","conditions":{"checkCalendar":true,"minMeetingCount":1}}]}}

3. Heartbeat 心跳机制

3.1 Heartbeat 概述

Heartbeat(心跳)是 OpenClaw 的主动检查机制,允许 AI 助手周期性地检查状态并主动提供服务,而不是等待用户触发。

核心特点
  • 主动性:AI 主动发起,而非被动响应
  • 灵活性:可根据上下文智能决策
  • 批量处理:一次心跳可执行多个检查任务
  • 上下文感知:在主会话中执行,可访问历史上下文

3.2 Heartbeat 配置

3.2.1 默认心跳提示词

OpenClaw 默认使用以下心跳提示词:

Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK. 
3.2.2 自定义 HEARTBEAT.md

在工作区根目录创建 HEARTBEAT.md 文件,定义心跳检查任务:

# Heartbeat 检查清单 ## 每次检查 - [ ] 检查是否在安静时间(23:00-08:00),如果是则返回 HEARTBEAT_OK ## 轮换检查(每天 2-4 次) ### 邮件检查 - 检查是否有紧急未读邮件 - 如果有重要邮件,简要汇报 ### 日程检查 - 检查未来 24 小时内的日程 - 如果有即将到来的事件(< 2 小时),提醒用户 ### 社交媒体 - 检查是否有重要通知或提及 - 汇报需要关注的内容 ### 天气检查 - 如果用户可能外出,检查天气情况 - 如有异常天气,提前提醒 ## 输出规则 - 如果所有检查都无需关注,回复 HEARTBEAT_OK - 只在有需要通知的内容时才输出信息 - 保持消息简洁,不要过度打扰 

3.3 Heartbeat 状态追踪

使用 memory/heartbeat-state.json 追踪检查状态:

{"lastChecks":{"email":1703275200,"calendar":1703260800,"weather":1703253600,"social":null},"checkIntervals":{"email":14400,"calendar":7200,"weather":28800,"social":43200},"quietHours":{"start":"23:00","end":"08:00"}}

3.4 Heartbeat 执行流程

┌─────────────────────────────────────────────────────────────────┐ │ Heartbeat 执行流程 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 周期性触发 (~30分钟) │ │ │ │ │ ▼ │ │ ┌─────────────┐ │ │ │ 读取心跳提示 │ │ │ │ HEARTBEAT.md│ │ │ └──────┬──────┘ │ │ │ │ │ ▼ │ │ ┌─────────────┐ │ │ │ 检查安静时间 │ │ │ └──────┬──────┘ │ │ │ │ │ ├── 在安静时间内 ──▶ 返回 HEARTBEAT_OK │ │ │ │ │ ▼ │ │ ┌─────────────┐ │ │ │ 读取检查状态 │ │ │ │ (上次检查时间)│ │ │ └──────┬──────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────┐ │ │ │ 执行需要检查的任务 │ │ │ │ ┌─────────┐ ┌─────────┐ ┌────────┐ │ │ │ │ │ 邮件检查│ │日程检查 │ │天气检查│ │ │ │ │ └─────────┘ └─────────┘ └────────┘ │ │ │ └──────────────┬──────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────┐ │ │ │ 有需要通知的内容? │ │ │ └──────────────┬──────────────────────┘ │ │ │ │ │ ┌───────┴───────┐ │ │ ▼ ▼ │ │ ┌──────────┐ ┌──────────────┐ │ │ │ 有内容 │ │ 无内容 │ │ │ │ 发送通知 │ │ HEARTBEAT_OK │ │ │ └──────────┘ └──────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ 

3.5 Heartbeat 与 Cron 的选择策略

┌─────────────────────────────────────────────────────────────────┐ │ 选择 Heartbeat 还是 Cron │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 需要定时执行任务? │ │ │ │ │ ┌────────────┴────────────┐ │ │ ▼ ▼ │ │ 需要精确时间 可以接受时间漂移 │ │ (如: 每天早上9点) (如: 周期性检查) │ │ │ │ │ │ ▼ ▼ │ │ ┌─────────┐ 需要访问会话上下文? │ │ │ Cron │ │ │ │ └─────────┘ ┌───────┴───────┐ │ │ ▼ ▼ │ │ 需要上下文 不需要上下文 │ │ │ │ │ │ ▼ ▼ │ │ ┌──────────┐ ┌──────────┐ │ │ │Heartbeat│ │ Cron │ │ │ └──────────┘ └──────────┘ │ │ │ │ 其他判断因素: │ │ • 需要批量检查多个来源 → Heartbeat │ │ • 需要使用不同模型 → Cron │ │ • 任务需要独立执行 → Cron │ │ • 结果需要直接发送到通道 → Cron │ │ │ └─────────────────────────────────────────────────────────────────┘ 

4. 自动化工作流设计

4.1 工作流设计原则

4.1.1 SOLID 原则
原则说明
单一职责每个工作流只做一件事
开闭原则对扩展开放,对修改关闭
里氏替换子任务可以替换父任务
接口隔离任务接口应该最小化
依赖倒置依赖抽象而非具体实现
4.1.2 设计模式
1) 管道模式 (Pipeline)
输入 → [步骤1] → [步骤2] → [步骤3] → 输出 
2) 观察者模式 (Observer)
事件源 → [观察者1] → [观察者2] → [观察者3] 
3) 责任链模式 (Chain of Responsibility)
请求 → [处理器1] → [处理器2] → [处理器3] → 最终处理 ↓ 未处理 ↓ 未处理 ↓ 处理 

4.2 工作流配置示例

4.2.1 每日简报工作流
{"workflow":{"id":"daily-briefing","name":"每日简报","trigger":{"type":"cron","schedule":"0 8 * * 1-5"},"steps":[{"id":"check-email","type":"email","action":"listUnread","params":{"maxResults":10,"priority":"high"}},{"id":"check-calendar","type":"calendar","action":"listEvents","params":{"timeRange":"today"}},{"id":"check-weather","type":"weather","action":"getCurrent","params":{"location":"auto"}},{"id":"generate-report","type":"llm","action":"summarize","params":{"template":"daily-briefing","inputs":["${check-email.result}","${check-calendar.result}","${check-weather.result}"]}},{"id":"send-notification","type":"message","action":"send","params":{"channel":"feishu","content":"${generate-report.result}"}}],"errorHandling":{"continueOnError":true,"notifyOnFailure":true}}}
4.2.2 周报生成工作流
{"workflow":{"id":"weekly-report","name":"周报生成","trigger":{"type":"cron","schedule":"0 17 * * 5"},"steps":[{"id":"collect-tasks","type":"task","action":"listCompleted","params":{"timeRange":"week"}},{"id":"collect-commits","type":"git","action":"log","params":{"since":"1 week ago","repos":["project-main","project-api"]}},{"id":"collect-calendar","type":"calendar","action":"listEvents","params":{"timeRange":"week"}},{"id":"generate-report","type":"llm","action":"generate","params":{"template":"weekly-report","model":"claude-3-sonnet"}},{"id":"save-document","type":"document","action":"create","params":{"format":"markdown","path":"/reports/weekly/${date:YYYY-MM-DD}.md"}},{"id":"send-summary","type":"message","action":"send","params":{"channel":"discord","content":"周报已生成:${save-document.url}"}}]}}

4.3 工作流执行引擎

┌─────────────────────────────────────────────────────────────────┐ │ 工作流执行引擎 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 触发器层 │ │ │ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │ Cron │ │Event │ │Manual │ │Webhook │ │ │ │ │ └────┬───┘ └────┬───┘ └────┬───┘ └────┬───┘ │ │ │ └───────┼────────────┼────────────┼────────────┼────────────┘ │ │ └────────────┴────────────┴────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 调度器层 │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ │ │ 工作流队列 │ 优先级管理 │ 并发控制 │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ └───────────────────────────────┬─────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 执行器层 │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ │ │ 步骤执行 │ 状态管理 │ 错误处理 │ 重试机制 │ │ │ │ │ └──────────────────────────────────────────────────┘ │ │ │ └───────────────────────────────┬─────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 输出层 │ │ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ │ │ Message │ │ File │ │ Webhook│ │ Log │ │ │ │ │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ 

4.4 工作流最佳实践

4.4.1 错误处理
{"errorHandling":{"strategy":"continue | stop | retry","maxRetries":3,"retryDelay":60,"fallback":{"action":"notify","message":"工作流执行失败,请手动处理"},"notifications":{"onSuccess":false,"onFailure":true,"channels":["feishu","email"]}}}
4.4.2 条件分支
{"steps":[{"id":"check-condition","type":"condition","branches":[{"condition":"${weather.result.condition == 'rain'}","steps":[{"id":"rain-alert","type":"message","action":"send","params":{"content":"今天有雨,记得带伞!"}}]},{"condition":"${weather.result.condition == 'sunny'}","steps":[{"id":"sunny-tip","type":"message","action":"send","params":{"content":"今天天气晴朗,适合户外活动"}}]}]}]}
4.4.3 并行执行
{"steps":[{"id":"parallel-checks","type":"parallel","tasks":[{"id":"check-email","type":"email","action":"listUnread"},{"id":"check-calendar","type":"calendar","action":"listEvents"},{"id":"check-weather","type":"weather","action":"getCurrent"}]}]}

5. 实战案例

5.1 案例一:智能日程助手

场景描述

创建一个智能日程助手,每天早上检查日程并提醒,会议前 15 分钟再次提醒。

配置实现
{"cron":{"jobs":[{"id":"morning-agenda","schedule":"0 8 * * 1-5","message":"检查今日日程,生成日程摘要并发送到飞书","channel":"feishu"},{"id":"meeting-reminder","schedule":"*/15 9-18 * * 1-5","message":"检查未来15分钟是否有会议,如有则发送提醒"}]}}
HEARTBEAT.md 配置
# 日程助手心跳配置 ## 检查频率 - 每次心跳都检查日程 - 安静时间(22:00-07:00)跳过 ## 检查内容 1. 获取未来 2 小时内的日程 2. 如果有即将开始的会议(< 15 分钟),立即提醒 3. 如果今天有重要事件,早上提醒 ## 输出格式 - 会议提醒:📅 **会议提醒** - [会议名称] - [剩余时间] - 日程摘要:📋 **今日日程** - 列出所有会议 

5.2 案例二:自动化内容发布

场景描述

每天定时收集 AI 行业资讯,生成文章并发布到微信公众号和小红书。

工作流配置
{"workflow":{"id":"auto-publish","name":"自动化内容发布","trigger":{"type":"cron","schedule":"0 9 * * *"},"steps":[{"id":"collect-news","type":"web-search","action":"search","params":{"queries":["AI 最新进展","人工智能行业动态","大模型新闻"],"sources":["google","bing"],"maxResults":20}},{"id":"filter-content","type":"llm","action":"filter","params":{"model":"claude-3-sonnet","criteria":"相关性 > 0.7 且 时效性 > 0.8"}},{"id":"generate-article","type":"llm","action":"generate","params":{"model":"claude-3-opus","template":"wechat-article","style":"专业但易懂"}},{"id":"create-cover","type":"image","action":"generate","params":{"prompt":"AI technology abstract background","style":"modern"}},{"id":"publish-wechat","type":"wechat","action":"publish","params":{"title":"${generate-article.title}","content":"${generate-article.content}","cover":"${create-cover.url}"}},{"id":"publish-xhs","type":"xiaohongshu","action":"publish","params":{"title":"${generate-article.title}","content":"${generate-article.summary}","images":["${create-cover.url}"]}}]}}

5.3 案例三:智能邮件管理

场景描述

自动检查邮件,识别重要邮件并分类处理,发送摘要通知。

HEARTBEAT.md 配置
# 邮件管理心跳配置 ## 检查频率 - 邮件检查:每 4 小时 - 紧急邮件:实时推送 ## 检查内容 ### 邮件优先级判断 1. 来自重要联系人(客户、老板)→ 高优先级 2. 标题包含 [紧急]、[重要] → 高优先级 3. 邮件列表订阅 → 低优先级 4. 自动化通知 → 低优先级 ### 处理动作 - 高优先级:立即通知用户 - 中优先级:加入待办清单 - 低优先级:归档处理 ## 输出规则 - 紧急邮件:🔴 **紧急邮件** - [发件人] - [主题摘要] - 普通邮件:📧 **未读邮件** - [数量] 封,其中 [N] 封重要 
状态追踪文件
{"lastChecks":{"email":1703275200},"processedEmails":["msg-id-1","msg-id-2"],"importantContacts":["[email protected]","[email protected]"]}

5.4 案例四:多时区日程协调

场景描述

团队成员分布在不同时区,自动协调会议时间并发送时区转换提醒。

Cron 配置
{"cron":{"timezone":"UTC","jobs":[{"id":"meeting-prep-beijing","schedule":"0 9 * * *","message":"北京团队:检查今日跨国会议,提供时区转换","timezone":"Asia/Shanghai"},{"id":"meeting-prep-nyc","schedule":"0 9 * * *","message":"纽约团队:检查今日跨国会议,提供时区转换","timezone":"America/New_York"},{"id":"meeting-prep-london","schedule":"0 9 * * *","message":"伦敦团队:检查今日跨国会议,提供时区转换","timezone":"Europe/London"}]}}

6. 最佳实践与注意事项

6.1 设计原则

6.1.1 任务粒度
┌─────────────────────────────────────────────────────────────────┐ │ 任务粒度选择指南 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 任务类型 粒度建议 示例 │ │ ───────────────────────────────────────────────── │ │ 监控检查 细粒度 每次检查一个来源 │ │ 数据处理 中粒度 一个处理流程 │ │ 报告生成 粗粒度 完整报告 │ │ 系统维护 细粒度 单一维护操作 │ │ │ │ 💡 原则:小而专注的任务更易于调试和维护 │ │ │ └─────────────────────────────────────────────────────────────────┘ 
6.1.2 错误处理策略
## 错误处理分级 ### 致命错误(Critical) - 立即停止工作流 - 发送紧急通知 - 记录详细日志 ### 可恢复错误(Recoverable) - 尝试重试(最多 3 次) - 使用备用方案 - 记录警告日志 ### 警告(Warning) - 继续执行 - 记录信息日志 - 最终报告中提及 ### 忽略(Ignore) - 静默处理 - 记录调试日志 

6.2 性能优化

6.2.1 避免过度轮询
{"heartbeat":{"checkIntervals":{"email":14400,"calendar":7200,"weather":28800,"social":43200}}}
6.2.2 批量处理
# 推荐:批量检查 每次心跳检查多个来源(邮件、日程、天气) 减少 API 调用次数 # 不推荐:单独任务 为每个来源创建独立的 Cron 任务 增加系统负载 
6.2.3 智能跳过
{"skipConditions":{"quietHours":{"start":"23:00","end":"08:00"},"weekends":true,"holidays":true,"outOfOffice":true}}

6.3 安全考虑

6.3.1 权限控制
{"permissions":{"email":{"read":true,"send":false},"calendar":{"read":true,"write":false},"files":{"read":true,"write":["~/reports/*"],"delete":false}}}
6.3.2 敏感信息处理
## 敏感信息处理规则 1. 不在日志中记录敏感信息 2. 使用环境变量存储 API 密钥 3. 对输出内容进行脱敏处理 4. 定期审计任务权限 

6.4 监控与调试

6.4.1 日志记录
{"logging":{"level":"info","format":"json","outputs":["file","console"],"retention":"30d"}}
6.4.2 性能指标
{"metrics":{"trackExecutionTime":true,"trackSuccessRate":true,"trackResourceUsage":true,"alertThreshold":{"executionTime":60000,"successRate":0.9}}}

6.5 故障排查清单

┌─────────────────────────────────────────────────────────────────┐ │ 故障排查清单 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ □ Cron 任务未执行 │ │ ├─ 检查任务是否启用(enabled: true) │ │ ├─ 检查时区设置是否正确 │ │ ├─ 检查 cron 表达式语法 │ │ └─ 检查系统日志是否有错误 │ │ │ │ □ Heartbeat 未触发 │ │ ├─ 检查 HEARTBEAT.md 是否存在 │ │ ├─ 检查是否在安静时间段 │ │ ├─ 检查上次心跳时间 │ │ └─ 检查主会话是否活跃 │ │ │ │ □ 任务执行失败 │ │ ├─ 检查 API 凭据是否有效 │ │ ├─ 检查网络连接 │ │ ├─ 检查目标服务是否可用 │ │ └─ 检查任务参数是否正确 │ │ │ │ □ 输出未发送到通道 │ │ ├─ 检查通道配置是否正确 │ │ ├─ 检查消息格式是否符合要求 │ │ ├─ 检查通道权限 │ │ └─ 检查是否有频率限制 │ │ │ └─────────────────────────────────────────────────────────────────┘ 

附录

A. Cron 表达式速查表

┌────────────────────────────────────────────────────────────────┐ │ Cron 表达式速查表 │ ├────────────────────────────────────────────────────────────────┤ │ │ │ 字段位置: │ │ ┌───────────── 分钟 (0-59) │ │ │ ┌───────────── 小时 (0-23) │ │ │ │ ┌───────────── 日期 (1-31) │ │ │ │ │ ┌───────────── 月份 (1-12) │ │ │ │ │ │ ┌───────────── 星期 (0-6, 0=周日) │ │ │ │ │ │ │ │ │ * * * * * │ │ │ │ 特殊字符: │ │ * 任意值 │ │ , 值列表 (1,3,5) │ │ - 范围 (1-5) │ │ / 步长 (*/5 每 5 单位) │ │ │ │ 常用示例: │ │ ─────────────────────────────────────────────────── │ │ 0 * * * * 每小时整点 │ │ */15 * * * * 每 15 分钟 │ │ 0 9 * * 1-5 工作日早 9 点 │ │ 0 0 1 * * 每月 1 号午夜 │ │ 0 18 * * 5 每周五下午 6 点 │ │ 0 9,12,18 * * * 每天 9 点、12 点、18 点 │ │ │ └────────────────────────────────────────────────────────────────┘ 

B. HEARTBEAT.md 模板

# Heartbeat 配置 ## 安静时间 - 开始:23:00 - 结束:08:00 - 规则:安静时间内返回 HEARTBEAT_OK ## 检查任务 ### 邮件检查 - 频率:每 4 小时 - 检查项:未读邮件、重要邮件 - 输出:仅在有重要邮件时通知 ### 日程检查 - 频率:每 2 小时 - 检查项:未来 24 小时内的日程 - 输出:即将开始的会议(< 2 小时) ### 天气检查 - 频率:每天早上 - 检查项:今日天气、异常天气预警 - 输出:仅在异常天气时通知 ### 社交媒体 - 频率:每 12 小时 - 检查项:重要提及、互动提醒 - 输出:仅重要内容 ## 输出规则 1. 安静时间不输出 2. 无重要内容返回 HEARTBEAT_OK 3. 保持消息简洁 4. 优先级排序:紧急 > 重要 > 一般 

C. 工作流配置模板

{"workflow":{"id":"template-workflow","name":"工作流模板","version":"1.0.0","description":"工作流配置模板","trigger":{"type":"cron | event | manual | webhook","schedule":"0 9 * * *"},"variables":{"timezone":"Asia/Shanghai","outputPath":"/reports"},"steps":[{"id":"step-id","name":"步骤名称","type":"action-type","action":"action-name","params":{},"condition":"${variable} == 'value'","onError":"continue | stop | retry"}],"errorHandling":{"strategy":"continue","maxRetries":3,"retryDelay":60,"notifications":{"onSuccess":false,"onFailure":true,"channels":["feishu"]}},"output":{"type":"message | file | webhook","format":"markdown | json | html","destination":"channel-id | file-path | url"}}}

总结

OpenClaw 的定时任务和自动化工作流为 AI 助手提供了强大的主动性能力。通过合理配置 Cron 和 Heartbeat,可以构建高效、可靠的自动化系统:

功能CronHeartbeat
定时提醒✅ 精确时间触发✅ 周期检查
数据处理✅ 独立执行✅ 上下文感知
条件检查⚠️ 需脚本支持✅ 原生智能判断
批量任务⚠️ 需合并配置✅ 天然支持
错误恢复✅ 可配置重试✅ 上下文恢复

选择合适的机制,遵循最佳实践,可以让 OpenClaw 成为真正智能的个人助理。


Read more

基于腾讯云HAI + DeepSeek快速设计自己的个人网页

基于腾讯云HAI + DeepSeek快速设计自己的个人网页

前言:通过结合腾讯云HAI 强大的云端运算能力与DeepSeek先进的 AI技术,本文介绍高效、便捷且低成本的设计一个自己的个人网页。你将了解到如何轻松绕过常见的技术阻碍,在腾讯云HAI平台上快速部署DeepSeek模型,仅需简单几步,就能获取一个包含个人简介、技能特长、项目经历及联系方式等核心板块的响应式网页。 目录 一、DeepSeek模型部署在腾讯云HAI 二、设计个人网页 一、DeepSeek模型部署在腾讯云HAI 把 DeepSeek 模型部署于腾讯云 HAI,用户便能避开官网访问限制,直接依托腾讯云 HAI 的超强算力运行 DeepSeek-R1 等模型。这一举措不仅降低了技术门槛,还缩短了部署时间,削减了成本。尤为关键的是,凭借 HAI 平台灵活且可扩展的特性,用户能够依据自身特定需求定制专属解决方案,进而更出色地适配特定业务场景,满足各类技术要求 。 点击访问腾讯云HAI控制台地址: 算力管理 - 高性能应用服务 - 控制台 腾讯云高性能应用服务HAI已支持DeepSeek-R1模型预装环境和CPU算力,只需简单的几步就能调用DeepSeek - R1

By Ne0inhk
AI革命先锋:DeepSeek与蓝耘通义万相2.1的无缝融合引领行业智能化变革

AI革命先锋:DeepSeek与蓝耘通义万相2.1的无缝融合引领行业智能化变革

云边有个稻草人-ZEEKLOG博客 目录 引言 一、什么是DeepSeek? 1.1 DeepSeek平台概述 1.2 DeepSeek的核心功能与技术 二、蓝耘通义万相2.1概述 2.1 蓝耘科技简介 2.2 蓝耘通义万相2.1的功能与优势 1. 全链条智能化解决方案 2. 强大的数据处理能力 3. 高效的模型训练与优化 4. 自动化推理与部署 5. 行业专用解决方案 三、蓝耘通义万相2.1与DeepSeek的对比分析 3.1 核心区别 3.2 结合使用的优势 四、蓝耘注册流程 五、DeepSeek与蓝耘通义万相2.1的集成应用 5.1 集成应用场景 1. 智能医疗诊断

By Ne0inhk
如何通过 3 个简单步骤在 Windows 上本地运行 DeepSeek

如何通过 3 个简单步骤在 Windows 上本地运行 DeepSeek

它是免费的——社区驱动的人工智能💪。         当 OpenAI 第一次推出定制 GPT 时,我就明白会有越来越多的人为人工智能做出贡献,并且迟早它会完全由社区驱动。         但从来没有想过它会如此接近😂让我们看看如何在 Windows 机器上完全免费使用第一个开源推理模型!  步骤 0:安装 Docker 桌面         我确信很多人已经安装了它,所以可以跳过,但如果没有 — — 这很简单,只需访问Docker 的官方网站,下载并运行安装 👍         如果您需要一些特定的设置,例如使用 WSL,那么有很多指导视频,请查看!我将继续下一步。 步骤 1:安装 CUDA 以获得 GPU 支持         如果您想使用 Nvidia 显卡运行 LLM,则必须安装 CUDA 驱动程序。(嗯……是的,它们需要大量的计算能力)         打开CUDA 下载页面,

By Ne0inhk
在 VSCode 中本地运行 DeepSeek,打造强大的私人 AI

在 VSCode 中本地运行 DeepSeek,打造强大的私人 AI

本文将分步向您展示如何在本地安装和运行 DeepSeek、使用 CodeGPT 对其进行配置以及开始利用 AI 来增强您的软件开发工作流程,所有这些都无需依赖基于云的服务。  步骤 1:在 VSCode 中安装 Ollama 和 CodeGPT         要在本地运行 DeepSeek,我们首先需要安装Ollama,它允许我们在我们的机器上运行 LLM,以及CodeGPT,它是集成这些模型以提供编码辅助的 VSCode 扩展。 安装 Ollama Ollama 是一个轻量级平台,可以轻松运行本地 LLM。 下载Ollama 访问官方网站:https://ollama.com * 下载适合您的操作系统(Windows、macOS 或 Linux)的安装程序。 * 验证安装 安装后,打开终端并运行: ollama --version  如果 Ollama 安装正确,

By Ne0inhk