OpenClaw 工作流自动化:Cron 任务与定时执行
自动化是提高工作效率的关键。OpenClaw 提供了强大的 Cron 工具,可以创建定时任务,让你的 AI 助手自动执行各种操作。本文将详细介绍如何使用 OpenClaw 的自动化功能。
什么是 Cron 工具?
Cron 工具是 OpenClaw 内置的任务调度器,类似于 Linux 的 crontab,但专为 AI Agent 设计:
- 定时触发:按照 Cron 表达式定时触发任务
- Agent 集成:直接调用指定的 AI Agent 执行任务
- 灵活配置:支持复杂的调度规则
- 日志记录:完整的执行日志和历史记录
基础 Cron 表达式
Cron 表达式格式
Cron 表达式由 5 个字段组成,分别表示:
┌────────── 分钟 (0 - 59)
│ ┌──────── 小时 (0 - 23)
│ │ ┌────── 日 (1 - 31)
│ │ │ ┌──── 月 (1 - 12)
│ │ │ │ ┌── 星期 (0 - 6, 0=周日)
│ │ │ │ │
* * * * *
常用示例
| 表达式 | 说明 |
|---|---|
0 * * * * |
每小时执行一次 |
0 0 * * * |
每天午夜执行 |
0 9 * * * |
每天上午 9 点执行 |
0 9 * * 1 |
每周一上午 9 点执行 |
0 0 1 * * |
每月 1 号午夜执行 |
*/15 * * * * |
每 15 分钟执行一次 |
0 9-17 * * 1-5 |
工作日 9-17 点每小时执行 |
配置定时任务
方法一:配置文件
在 openclaw.json 中配置定时任务:
{
"automation": {
"cron": [
{
"name": "daily-summary",
"description": "生成每日摘要",
"schedule": "0 9 * * *",
"enabled": true,
"agent": "default",
"message": "生成今天的日程和任务摘要",
"timezone": "Asia/Shanghai"
},
{
"name": "backup-check",
"description": "检查备份状态",
"schedule": "0 2 * * 0",
"enabled": true,
"agent": "coder",
"message": "检查所有系统的备份状态并报告",
"timezone": "UTC"
},
{
"name": "weekly-report",
"description": "生成周报",
"schedule": "0 17 * * 5",
"enabled": true,
"agent": "default",
"message": "生成本周的工作总结和下周计划"
}
]
}
}
方法二:命令行
使用命令行添加定时任务:
# 添加定时任务
$ openclaw cron add --name "daily-summary" --schedule "0 9 * * *" --agent default --message "生成今日摘要"
# 启用任务
$ openclaw cron enable daily-summary
# 禁用任务
$ openclaw cron disable daily-summary
高级配置
执行历史
配置任务执行历史记录:
{
"automation": {
"cron": [
{
"name": "daily-summary",
"schedule": "0 9 * * *",
"enabled": true,
"agent": "default",
"message": "生成今日摘要",
"history": {
"enabled": true,
"maxSize": 100
}
}
]
}
}
超时设置
为任务设置超时限制:
{
"automation": {
"cron": [
{
"name": "backup-check",
"schedule": "0 2 * * 0",
"timeout": 600,
"enabled": true,
"agent": "coder",
"message": "检查备份状态"
}
]
}
}
重试策略
配置任务失败时的重试策略:
{
"automation": {
"cron": [
{
"name": "sync-data",
"schedule": "0 */6 * * *",
"retry": {
"maxRetries": 3,
"retryDelay": 60
},
"enabled": true,
"agent": "default",
"message": "同步数据到云端"
}
]
}
}
管理定时任务
列出所有任务
# 列出所有任务
$ openclaw cron list
# 显示详细信息
$ openclaw cron list --verbose
查看任务详情
# 查看任务详情
$ openclaw cron show daily-summary
手动触发任务
# 手动触发任务
$ openclaw cron run daily-summary
查看执行历史
# 查看最近 10 次执行
$ openclaw cron history daily-summary --limit 10
实际应用场景
场景 1:每日晨报
每天早上 9 点发送晨报,包含天气、日程和重要信息:
{
"name": "morning-report",
"schedule": "0 9 * * 1-5",
"enabled": true,
"agent": "default",
"message": "发送晨报:包含今天天气、日程安排、待办事项和重要提醒",
"timezone": "Asia/Shanghai"
}
场景 2:系统监控
每小时检查系统健康状态:
{
"name": "health-check",
"schedule": "0 * * * *",
"enabled": true,
"agent": "coder",
"message": "检查服务器健康状态(CPU、内存、磁盘、网络)"
}
场景 3:数据备份提醒
每周日提醒进行数据备份:
{
"name": "backup-reminder",
"schedule": "0 10 * * 0",
"enabled": true,
"agent": "default",
"message": "提醒用户进行每周数据备份"
}
场景 4:新闻摘要
每天晚上推送科技新闻摘要:
{
"name": "tech-news",
"schedule": "0 20 * * *",
"enabled": true,
"agent": "default",
"message": "搜索并总结今天的科技新闻,发送到 Telegram"
}
场景 5:代码审查
每周五下午进行代码审查:
{
"name": "code-review",
"schedule": "0 16 * * 5",
"enabled": true,
"agent": "coder",
"message": "检查本周的代码变更,生成代码审查报告"
}
时区处理
正确配置时区非常重要,确保任务在正确的时间执行:
| 时区 | Cron 表达式 |
|---|---|
| 中国(北京) | Asia/Shanghai |
| 美国(纽约) | America/New_York |
| 欧洲(伦敦) | Europe/London |
| 日本(东京) | Asia/Tokyo |
| UTC | UTC |
{
"automation": {
"timezone": "Asia/Shanghai",
"cron": []
}
}
故障排查
任务未执行
- 检查任务是否启用:
openclaw cron list - 检查 Cron 表达式是否正确
- 查看网关日志:
openclaw gateway logs
任务执行失败
- 查看执行历史:
openclaw cron history - 检查 Agent 配置是否正确
- 确认消息格式是否正确
最佳实践
命名规范
- 使用有意义的任务名称
- 添加描述说明任务用途
- 按功能分组(如
daily-*、weekly-*)
频率控制
- 避免设置过于频繁的任务
- 考虑 Agent 响应时间和 API 限制
- 合理使用缓存减少重复调用
错误处理
- 配置适当的重试策略
- 设置超时避免长时间运行
- 监控任务执行状态
总结
Cron 工具是 OpenClaw 自动化功能的核心,通过合理配置定时任务,可以让你的 AI 助手自动完成各种重复性工作,大幅提高效率。
相关资源
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。







