配置自动化任务
OpenClaw 有两种自动化机制:Cron(精确时刻触发)和 Heartbeat(周期检查)。
1. 启用 Cron
json
{"cron": {"enabled": true,"maxConcurrentRuns": 2}}
改完配置执行 openclaw gateway restart。
2. Cron 命令操作
bash
# 新增任务(每天 9 点发资讯摘要到 Telegram)openclaw cron add \--schedule "0 9 * * *" \--message "搜集今天最新 AI 资讯,整理成摘要发给我" \--channel telegram --target <你的ChatID># 新增任务(每周一早 8 点)openclaw cron add \--schedule "0 8 * * 1" \--message "生成本周工作计划建议,发到飞书" \--channel feishu --target <飞书用户ID># 查看所有任务openclaw cron list# 暂停某个任务openclaw cron pause <cron-id># 恢复openclaw cron resume <cron-id># 删除openclaw cron remove <cron-id># 立即手动触发(测试用)openclaw cron run <cron-id>
3. Cron 表达式速查
bash
分 时 日 月 周0 9 * * * 每天 9:000 9,21 * * * 每天 9:00 和 21:000 * * * * 每小时整点*/30 * * * * 每 30 分钟0 8 * * 1 每周一 8:000 9 1 * * 每月 1 号 9:00
4. Heartbeat(周期检查)
Heartbeat 在后台定期唤醒 Agent,复用同一上下文,适合持续监控类任务:
json
{"agents": {"defaults": {"heartbeat": {"every": "30m","target": "last","model": "deepseek/deepseek-chat"}}}}
target: "last" 表示把结果发给最近对话的用户。
在工作空间新建 HEARTBEAT.md,写清楚每次检查的任务:
markdown
# Heartbeat 任务清单每次唤醒时依次执行:1. 检查 GitHub 仓库有无新 Issue 或 PR,有则发飞书通知2. 检查竞品网站首页是否有新内容(对比上次快照),有变化则报告3. 查看今天日历,提前 30 分钟提醒下一个会议以上任务有结果才通知,无变化则静默跳过。
5. 何时用 Cron,何时用 Heartbeat
| 场景 | 用哪个 | 原因 |
|---|---|---|
| 每天固定时间发摘要 | Cron | 精确时刻,一次性任务 |
| 每周生成报告 | Cron | 固定周期,独立任务 |
| 实时监控邮件 / 日历 | Heartbeat | 需要持续感知,复用上下文 |
| 竞品网站变更监控 | Heartbeat | 频繁检查,有变化才通知 |
6. 调试失败的 Cron 任务
bash
# 查看 Cron 任务执行历史和错误openclaw cron logs <cron-id># 查看所有自动化相关日志openclaw logs --follow --filter cron# 手动触发一次验证任务内容是否正确openclaw cron run <cron-id>
常见 Cron 失败原因:
- 消息发不出去:渠道配置有误或 Gateway 未运行
- 任务无响应:模型 API Key 失效或余额不足
- 时间不对:服务器时区和预期不一致,用
TZ=Asia/Shanghai启动