前几期我们学会了安装技能、创建技能、使用知识图谱。今天来玩点更牛的——**让 AI 主动帮你干活**,设置定时任务,自动执行、定期提醒、周期性工作。
一、为什么需要定时任务?
传统 AI 的局限
用户:每天早上 9 点提醒我开会
AI:好的,我设个提醒
(然后呢?没有然后了...
**问题:**大多数 AI 只能"响应",不能"主动"。
OpenClaw 的解决方案:Cron 技能
Cron 技能让 AI 可以:
✅ 定时提醒("每天早上 9 点叫我起床")
✅ 定期报告("每周一生成周报")
✅ 周期性任务("每半小时检查一次邮件")
✅ 定时执行脚本("每天凌晨 2 点备份数据")
二、Cron 核心概念
1. 时间表达式
Cron 使用"时间表达式"来定义执行时间:
| 表达式 | 含义 |
|--------|------|
|`* * * * *`| 每分钟 |
|`0 9 * * *`| 每天早上 9 点 |
|`0 9 * * 1`| 每周一早上 9 点 |
|`0 0 1 * *`| 每月 1 号午夜 |
|`*/30 * * * *`| 每 30 分钟 |
**格式说明:**
┌──────────── 分钟 (0-59)
│ ┌────────── 小时 (0-23)
│ │ ┌──────── 日期 (1-31)
│ │ │ ┌────── 月份 (1-12)
│ │ │ │ ┌──── 星期 (0-6, 0=周日)
│ │ │ │ │
* * * * *
2. 任务类型
系统事件— 发送提醒到聊天窗口 Agent 任务— 让 AI 自动执行某些操作
三、配置 Cron 技能
步骤 1:安装技能
```bash
openclaw skill install cron
步骤 2:查看当前任务
```bash
openclaw cron list
步骤 3:添加新任务
```bash
方式一:命令行
openclaw cronadd--name"每日提醒"--schedule"0 9 * * *"--message"早上好!今天有 3 个会议"
方式二:配置文件
cat>~/.openclaw/workspace/cron/jobs.json<<'EOF'
{
"jobs": [
{
"name": "每日站会提醒",
"schedule": "0 9 * * 1-5",
"message": "早上好!9:30 站会别忘了",
"enabled": true
},
{
"name": "周报生成",
"schedule": "0 18 * * 5",
"message": "生成本周工作周报",
"action": "agent",
"prompt": "汇总本周完成的任务,生成一份周报"
}
]
}
EOF
四、实战案例
案例 1:定时提醒
场景:每天早上 9 点提醒当天重要事项
配置:
{
"name": "早上提醒",
"schedule": "0 9 * * *",
"message": "新的一天开始!记得:\n1. 查看邮件\n2. 检查日程\n3. 更新任务状态"
}
**效果:**
>🤖 每天早上 9:00
>新的一天开始!记得:
>1.查看邮件
>2.检查日程
>3.更新任务状态
案例 2:会议提前提醒
场景:会议前 15 分钟提醒
配置:
{
"name": "会议提前提醒",
"schedule": "*/15 * * * *",
"check": "calendar",
"message": "会议还有 15 分钟开始:{meeting_title}"
}
案例 3:定期周报
场景:每周五下午 6 点生成周报
配置:
{
"name": "周五周报",
"schedule": "0 18 * * 5",
"action": "agent",
"prompt": "请执行以下操作:\n1. 查询 ontology 中本周完成的任务\n2. 统计项目进度\n3. 生成 Markdown 格式周报\n4. 保存到 ~/weekly-report.md"
}
案例 4:健康提醒
场景:每工作日下午 2 点提醒活动一下
配置:
{
"name": "下午活动提醒",
"schedule": "0 14 * * 1-5",
"message": "久坐伤身!起来活动 5 分钟吧 🚶"
}
案例 5:定时检查 + 自动处理
场景:每小时检查一次是否有紧急邮件
配置:
{
"name": "邮件检查",
"schedule": "0 * * * *",
"action": "agent",
"prompt": "检查邮箱是否有未读的重要邮件(来自 boss 或重要客户)。如果有,发送通知到我的微信。"
}
五、高级用法
1. 条件触发
```json
{
"name":"雨天提醒",
"schedule":"0 7 * * *",
"condition":"weather.rain > 0",
"message":"今天有雨,记得带伞 ☔"
}
2. 一次性的定时任务
```json
{
"name":"生日祝福",
"schedule":"0 0 25 3 *",// 3月25日
"once":true,
"message":"祝冰凌生日快乐!🎂"
}
3. 任务链
```json
{
"name":"早晨自动化",
"schedule":"0 8 * * *",
"tasks": [
{"action":"check_weather","output":"weather_data"},
{"action":"read_calendar","output":"calendar_data"},
{"action":"generate_summary","input": ["weather_data","calendar_data"]},
{"action":"send_message"}
]
}
六、管理定时任务
查看所有任务
```bash
openclaw cron list
或
openclaw cron list--include-disabled
手动触发任务
```bash
openclaw cron run--name"每日提醒"
暂停/恢复任务
```bash
openclaw cron disable--name"每日提醒"
openclaw cron enable--name"每日提醒"
删除任务
```bash
openclaw cron remove--name"每日提醒"
查看执行历史
```bash
openclaw cron runs--name"每日提醒"--limit10
七、最佳实践
✅ 应该做的
**合理设置频率** — 不要太频繁,避免打扰 **设置静默时段** — 晚上 23:00 到早上 8:00 不打扰 **明确提醒内容** — 每次提醒要有具体行动项 **定期清理任务** — 完成后的任务及时删除
❌ 避免这样做
**设置过多提醒** — 超过 5 个就会让人烦躁 **提醒太模糊** — "记得做事" 这种没用 **忘记检查** — 定期看看任务是否正常执行 **敏感信息** — 提醒中不要包含密码等敏感内容
八、常见问题
**Q1:定时任务在电脑关机时还会执行吗?**
A:不会。OpenClaw 需要保持运行才能执行定时任务。建议使用 VPS 或让电脑保持开机/睡眠状态。
**Q2:如何实现"会议前 10 分钟提醒"?**
A:目前版本需要在任务中查询日历数据。未来版本会支持"基于事件的触发"。
**Q3:可以同时运行多少个定时任务?**
A:建议控制在 20 个以内。过多任务会影响系统性能。
**Q4:任务执行失败怎么办?**
A:Cron 技能会自动重试 3 次。失败后会记录日志,可以用`openclaw cron logs`查看。
**Q5:可以发送邮件/微信通知吗?**
A:可以。通过配置 message 技能,可以发送到微信、邮件、Slack 等渠道。
九、创意任务推荐
| 场景 | 定时 | 建议内容 |
|------ |------|----------|
| 每日计划 | 8:00 | 当天任务清单 |
| 会议提醒 | 提前 15 分钟 | 会议主题+链接 |
| 定时休息 | 9:00-18:00 每小时 | "起来活动" |
| 每日总结 | 18:00 | 当天完成事项 |
| 周报生成 | 每周五 | 自动汇总 |
| 月报生成 | 每月最后一天 | 自动统计 |
| 生日祝福 | 定时 | 朋友生日提醒 |
| 节日关怀 | 节日当天 | 节日祝福 |
总结
Cron 技能让 AI 从"被动响应"升级为"主动服务":
| 功能 | 被动 AI | + Cron |
|--------- |---------|---------|
| 提醒开会 | ❌ 需要手动 | ✅ 自动提醒 |
| 定期报告 | ❌ 需要催问 | ✅ 自动生成 |
| 健康提醒 | ❌ 说了就忘 | ✅ 定时关怀 |
| 数据备份 | ❌ 经常忘记 | ✅ 自动执行 |
**今天就设置:**
安装 cron 技能 设置 1 个早上提醒 设置 1 个会议提醒 设置 1 个下班总结
一周后,你会发现 AI 真的"活"了。
💡**下期预告:**我们将学习如何让 AI 帮你管理文件——使用文件管理技能,自动整理、分类、备份你的资料。
**👇 互动时间**
*本文使用 OpenClaw + cron 技能辅助创作*
**关注「私享斋」,获取更多科技技能实操干货 👆**
**觉得有用?点个「在看」让更多人看到 👀**
夜雨聆风