OpenClaw
08·3 分钟阅读·免费

自动化

配置自动化任务

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:00
0 9,21 * * * 每天 9:00 和 21:00
0 * * * * 每小时整点
*/30 * * * * 每 30 分钟
0 8 * * 1 每周一 8:00
0 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 启动