需依次完成五步配置:一、启用openclaw-scheduler服务并确认健康;二、按UTC时区设置六位Cron表达式(如0 0 1 ?);三、用Pipeline串联AI日报API调用与企业微信推送;四、验证任务状态为ENABLED、下次执行时间准确,并手动触发测试;五、统一系统时区为UTC,重发带report:read和message:send权限的Token。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 如果您希望借助OpenClaw平台实现每日AI日报的自动推送,但尚未完成定时任务的正确配置,则可能是由于任务触发机制、时间表达式或推送链路未对齐所致。以下是完成该功能所需的关键配置步骤: 一、确认OpenClaw任务执行环境已启用 OpenClaw依赖后台Job Scheduler服务来驱动定时任务,若该服务未启动或处于降级状态,所有定时任务将无法注册与触发。需确保容器或进程内Scheduler模块已加载且健康运行。 1、登录OpenClaw部署服务器,执行命令 systemctl statusopenclaw-scheduler 检查服务状态。 2、若显示 inactive 或 failed,运行 systemctl start openclaw-scheduler 启动服务。 3、执行 journalctl -u openclaw-scheduler -n 50 --no-pager 查看最近日志,确认无“Scheduler disabled”或“Quartz initialization failed”类错误。 二、配置Cron表达式以匹配每日固定时间 Cron表达式是OpenClaw识别执行周期的核心语法,必须严格遵循六位格式(秒 分 时 日 月 周),且需适配平台默认时区(UTC)。若使用本地时区(如CST),需手动换算为UTC时间再填写。 1、确定目标推送时间为每日上午9:00(中国标准时间CST,即UTC+8),对应UTC时间为 01:00 。 2、构造六位Cron表达式:秒位设为0,分位为0,时位为1(UTC),日位为*,月位为*,周位为?,完整表达式为 0 0 1 * * ? 。 3、在OpenClaw管理控制台「任务编排」→「新建定时任务」页面中,将该表达式粘贴至「Cron表达式」输入框。 三、绑定AI日报生成逻辑与消息推送动作 单个定时任务需串联两个原子操作:先调用AI日报数据生成接口,再将返回内容封装为消息体并投递至指定通道(如企业微信/钉钉/邮件)。二者须通过OpenClaw内置的Pipeline串联,不可拆分为独立任务。 1、在任务编辑页点击「添加步骤」,选择「HTTP请求」组件,配置AI日报API地址,方法设为GET,Header中加入 Authorization: Bearer {your_api_token} 。 OpenClaw 开源的自托管AI智能体助手,曾用名Clawdbot、Moltbot 下载 2、再添加一个「消息推送」组件,类型选择「企业微信应用消息」,填入AgentId、Secret及接收部门ID;消息模板中使用 ${step_1.response.body} 引用上一步响应体。 3、检查Pipeline连线,确保第二步的「触发条件」设为「上一步成功」,避免空响应导致静默失败。 四、验证任务注册状态与首次触发行为 任务保存后不会立即执行,OpenClaw仅将其注册至调度中心。是否生效取决于Cron解析结果与下一次匹配时间点,因此需主动检查注册记录并模拟触发验证链路完整性。 1、进入「任务监控」页面,搜索任务名称,在「状态」列确认显示为 ENABLED 而非 DISABLED 或 ERROR。 2、点击任务右侧「详情」,查看「下次执行时间」字段,比对是否与预期UTC时间一致(如设置为0 0 1 * * ?,则下次应显示当日UTC 01:00)。 3、点击「立即执行」按钮发起一次手动触发,观察「执行日志」中两步组件是否均返回200且无timeout标记,同时检查目标群组是否收到含标题“AI日报|YYYY-MM-DD”的消息。 五、处理常见时间偏移与权限异常 部分用户反馈日报推送时间偏差8小时或提示“Access denied”,本质是系统时区未统一或Token权限范围不足。OpenClaw各组件默认读取宿主机时区,而API网关校验Token时依赖JWT中声明的scope字段。 1、在OpenClaw主配置文件 application.yml 中确认存在 spring.jackson.time-zone: UTC 和 server.time-zone: UTC 两项配置。 2、重新生成用于AI日报接口的API Token,勾选 scope 选项中的 report:read 与 message:send ,禁用全量admin scope。 3、重启openclaw-server服务使配置生效:执行 systemctl restart openclaw-server ,随后再次检查任务下次执行时间是否修正。