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 助手自动完成各种重复性工作,大幅提高效率。

相关资源

发表回复

后才能评论