声明:本工具依赖 openclaw CLI 执行任务。在执行命令前,你可能需要通过上下文或 read 工具获取 user_id/ chat_id 以及 openclaw.json 中的多 Agent 配置 ( channels.feishu.accounts)。这些信息是配置飞书定时任务中的必要参数,否则任务不能触发。 如果你发现自己当前没有权限读取这些信息,或者上下文中缺失这些信息,请务必先向用户询问补全,绝不可自行编造。
当用户表达出需要在未来某个时间点或按照特定周期进行提醒、执行任务时触发。
openclaw cron add 创建任务。cron/jobs.json(仅在修改/更新已有任务时允许)。crontab, 严禁 使用延时脚本 ( sleep 等) 触发任务。在生成命令前,必须严格按照以下四个步骤收集并处理参数:
提取诉求 {message}:整理用户的具体需求。
\n 代替。\n 代替。生成名称 {cron_name}:提取简短、有代表性的纯英文/拼音名称。
判断任务是“一次性任务”还是“周期性任务”,默认用户所指时间均为 东八区 (Asia/Shanghai)。
YYYY-MM-DDThh:mm:ssZ(例如北京时间 2026-02-02 00:00:00,应转换为 2026-02-01T16:00:00Z)。--at "<UTC时间>" 和 --delete-after-run(执行后即删除)。需根据需求生成标准的 5 位 Cron 表达式 {cron_expression}。
* * * * * (分 时 日 月 星期)。例如:每天早上8点为 0 8 * * *,工作日每两小时为 0 */2 * * 1-5。必须指定时区参数,如果用户没有指定时区则为东八区: --tz "Asia/Shanghai"。
必须 添加防并发打散参数: --stagger(随机设置 30s 到 5m 之间的值,如 30s, 1m, 2m 等)。
使用参数: --cron "<Cron表达式>"。
分析指令的来源环境,确定消息发送的渠道参数:
一、 判断来源: 分析指令的触发环境, 必须完整明确以下三个维度的信息:
二、如果指令来源于飞书, 必须 完成以下两项数据提取:
获取目标 ID:
user_id(必须以 ou_ 开头)。chat_id(必须以 oc_ 开头)。判定 Agent 模式:
openclaw.json 文件。channels.feishu 下是否存在 accounts 字段: 有 则为多 Agent, 无 则为单 Agent。三、如果为后台触发或者非飞书 IM 渠道按其对应默认规则处理。
根据上述判断,生成对应的目标参数集:
--announce--announce --channel feishu --to "{user_id}"--announce --channel feishu --to "{chat_id}"--announce --channel feishu --to "user:{user_id}" --account "{account}" (注意:此处的 to 参数必须加上 user: 前缀)--announce --channel feishu --to "chat:{chat_id}" --account "{account}" (注意:此处的 to 参数必须加上 chat: 前缀)所有任务必须附带以下基础运行参数:
--session isolated( 绝对不能 选择 main)--wake now综合以上 4 个步骤,最终生成的指令结构如下(请根据实际情况组合参数):
场景:用户在飞书(多Agent环境,account为 assistant)要求“明早8点提醒我开早会”。
bash
openclaw cron add \
--name "morning_meeting_reminder" \
--at "2026-03-01T00:00:00Z" \
--session isolated \
--message "记得参加早会哦!" \
--wake now \
--delete-after-run \
--announce \
--channel feishu \
--to "chat:oc_1a2b3c4d5e6f" \
--account "assistant"
场景:用户在飞书要求“每天晚上10点提醒我写日报”。
bash
openclaw cron add \
--name "daily_report" \
--cron "0 22 * * *" \
--stagger 2m \
--tz "Asia/Shanghai" \
--session isolated \
--message "该写日报啦!\n1. 总结今日进度\n2. 规划明日目标\n3. 归纳并调用 message 工具发送给用户" \
--wake now \
--announce \
--channel feishu \
--to "ou_9z8y7x6w5v4u"
场景:系统管理员在后台要求“每 2 个小时检查一次系统日志”。
bash
openclaw cron add \
--name "check_system_logs" \
--cron "0 */2 * * *" \
--stagger 30s \
--tz "Asia/Shanghai" \
--session isolated \
--message "请执行系统日志常规检查。" \
--wake now \
--announce