首页 资讯 下载 教程 Skills 社群

OpenClaw 定时任务与自动化指南

什么是 OpenClaw 定时任务

OpenClaw 内置了一套完整的任务调度器,运行在网关内部而非模型端。你可以安排 AI 助手在指定时间自动执行任务,比如:

  • 每天早上 7 点发送新闻早报
  • 每小时检查一次服务器状态
  • 每周五下午生成周报摘要
  • 设置一次性的会议提醒

定时任务持久化存储在 ~/.openclaw/cron/ 目录下,网关重启后会自动恢复。

启用定时任务

~/.openclaw/openclaw.json 中启用:

{
  cron: {
    enabled: true,
    store: "~/.openclaw/cron/jobs.json",
    maxConcurrentRuns: 1
  }
}

如需临时禁用,可以设置环境变量 OPENCLAW_SKIP_CRON=1

三种调度类型

一次性任务(at)

指定一个精确的时间点执行,适合提醒和倒计时:

openclaw cron add \
  --name "开会提醒" \
  --at "2026-03-15T14:00:00+08:00" \
  --session main \
  --system-event "15分钟后有产品评审会议,请提醒我准备演示文稿" \
  --wake now

固定间隔任务(every)

按固定时间间隔重复执行,单位为毫秒:

# 每 30 分钟执行一次
openclaw cron add \
  --name "服务器健康检查" \
  --every 1800000 \
  --session isolated \
  --message "检查所有监控端点的状态,如有异常立即通知我"

Cron 表达式(cron)

使用标准的 5 字段 cron 表达式,支持 IANA 时区:

# 每天早上 7 点(北京时间)
openclaw cron add \
  --name "每日早报" \
  --cron "0 7 * * *" \
  --tz "Asia/Shanghai" \
  --session isolated \
  --message "总结今天的科技新闻和 AI 领域动态,生成一份简洁的早报"

Cron 表达式速查:

表达式 含义
0 7 * * * 每天 7:00
0 9 * * 1-5 工作日 9:00
*/30 * * * * 每 30 分钟
0 18 * * 5 每周五 18:00
0 0 1 * * 每月 1 号 0:00

两种执行模式

主会话模式

任务在你的主聊天会话中执行,就像你亲自发了一条消息:

openclaw cron add \
  --name "提醒喝水" \
  --every 3600000 \
  --session main \
  --system-event "提醒:该喝水了" \
  --wake now

隔离会话模式

任务在独立的 cron:<jobId> 会话中执行,不会干扰你的主对话。可以配置将结果投递到指定频道:

openclaw cron add \
  --name "每日摘要" \
  --cron "0 20 * * *" \
  --tz "Asia/Shanghai" \
  --session isolated \
  --message "回顾今天所有对话,生成一份简洁的每日工作摘要" \
  --deliver announce \
  --channel discord \
  --to "你的频道ID"

管理定时任务

# 查看所有任务
openclaw cron list

# 手动触发一次任务
openclaw cron run <jobId>

# 编辑任务配置
openclaw cron edit <jobId>

# 删除任务
openclaw cron remove <jobId>

# 查看任务执行历史
openclaw cron runs <jobId>

实用场景示例

自动化日报生成

openclaw cron add \
  --name "项目日报" \
  --cron "0 18 * * 1-5" \
  --tz "Asia/Shanghai" \
  --session isolated \
  --message "查看今天的 Git 提交记录和已关闭的 Issue,生成一份项目日报"

定期备份提醒

openclaw cron add \
  --name "备份检查" \
  --cron "0 9 * * 1" \
  --tz "Asia/Shanghai" \
  --session main \
  --system-event "每周一提醒:请检查数据库备份是否正常运行" \
  --wake now

竞品监控

openclaw cron add \
  --name "竞品动态" \
  --cron "0 10 * * *" \
  --tz "Asia/Shanghai" \
  --session isolated \
  --message "搜索竞品公司最新的产品发布和新闻动态,总结关键信息"

存储与调试

任务定义存储在 ~/.openclaw/cron/jobs.json,执行记录存储在 ~/.openclaw/cron/runs/<jobId>.jsonl

如果任务没有按预期执行:

  • 检查时区设置是否正确(使用 IANA 格式如 Asia/Shanghai
  • 确认 cron.enabledtrue
  • 查看网关日志中是否有调度相关的错误信息
  • 使用 openclaw cron runs <jobId> 查看执行历史