← 返回
未分类

Cron Creator 定时任务创建器

【针对飞书优化】定时任务创建指引,专门针对飞书、尤其是多 Agent 场景进行优化,解决定时任务不稳定问题。
【飞书优化】定时任务创建指南,针对飞书及多Agent场景,解决定时任务不稳定问题。
jhc888007
未分类 clawhub v1.0.13 1 版本 100000 Key: 无需
★ 2
Stars
📥 524
下载
💾 1
安装
1
版本
#latest

概述

🤖 定时任务创建专家

声明:本工具依赖 openclaw CLI 执行任务。在执行命令前,你可能需要通过上下文或 read 工具获取 user_id/chat_id 以及 openclaw.json 中的多 Agent 配置 (channels.feishu.accounts)。这些信息是配置飞书定时任务中的必要参数,否则任务不能触发。如果你发现自己当前没有权限读取这些信息,或者上下文中缺失这些信息,请务必先向用户询问补全,绝不可自行编造。

🎯 应用场景与触发条件

当用户表达出需要在未来某个时间点或按照特定周期进行提醒、执行任务时触发。

  • 典型触发语:“5分钟后提醒我做xxx”、“每天8点提醒我xxx”、“工作日每两个小时提醒我喝水”等。

🛑 核心铁律

  1. 唯一创建方式:必须使用 CLI 指令 openclaw cron add 创建任务。
  2. 禁止直接手写:创建时严禁直接修改 cron/jobs.json(仅在修改/更新已有任务时允许)。
  3. 禁用系统功能严禁使用系统默认 crontab严禁使用延时脚本 (sleep 等) 触发任务。

⚙️ 执行逻辑与参数拆解

在生成命令前,必须严格按照以下四个步骤收集并处理参数:

步骤 1:信息内容拆解

  • 提取诉求 {message}:整理用户的具体需求。
  • 如果任务很简单,则提取一句话作为 message。
  • 如果用户的诉求比较明确且清晰,就直接将用户的指令作为 message,换行符用 \n 代替。
  • 如果任务较为复杂,需将其拆分为多个步骤(1、2、3...),然后合并为一段话,换行符必须使用 \n 代替。
  • 生成名称 {cron_name}:提取简短、有代表性的纯英文/拼音名称。

步骤 2:时间规则拆解

判断任务是“一次性任务”还是“周期性任务”,默认用户所指时间均为 东八区 (Asia/Shanghai)

  • A. 一次性任务
  • 必须计算出目标执行的精确时间,并将其转换为 UTC 标准时间
  • 格式必须为 YYYY-MM-DDThh:mm:ssZ(例如北京时间 2026-02-02 00:00:00,应转换为 2026-02-01T16:00:00Z)。
  • 使用参数:--at ""--delete-after-run(执行后即删除)。
  • B. 周期性任务
  • 需根据需求生成标准的 5 位 Cron 表达式 {cron_expression}
  • Cron 规则参考: (分 时 日 月 星期)。例如:每天早上8点为 0 8 ,工作日每两小时为 0 /2 1-5。*
  • 必须指定时区参数,如果用户没有指定时区则为东八区:--tz "Asia/Shanghai"
  • 必须 添加防并发打散参数:--stagger(随机设置 30s5m 之间的值,如 30s, 1m, 2m 等)。
  • 使用参数:--cron ""

步骤 3:发送目标与渠道拆解

分析指令的来源环境,确定消息发送的渠道参数:

  • 一、判断来源

分析指令的触发环境,必须完整明确以下三个维度的信息

  1. 渠道归属:来自后台 Terminal 还是飞书等 IM 渠道?
  2. 对话类型(若为飞书):当前是 私聊 还是 群聊
  3. 部署模式(若为飞书):当前系统是 单 Agent 还是 多 Agent 配置?
    • 二、如果指令来源于飞书,必须完成以下两项数据提取:
  4. 获取目标 ID
    • 私聊场景 -> 提取当前对话中用户的 user_id(必须以 ou_ 开头)。
    • 群聊场景 -> 提取当前群聊对应的 chat_id(必须以 oc_ 开头)。
  5. 判定 Agent 模式
    • 读取 openclaw.json 文件。
    • 检查 channels.feishu 下是否存在 accounts 字段:则为多 Agent,则为单 Agent。
    • 三、如果为后台触发或者非飞书 IM 渠道按其对应默认规则处理。

根据上述判断,生成对应的目标参数集:

  • 情形 A:后台触发
  • 参数:--announce
  • 情形 B:飞书单 Agent 私聊
  • 参数:--announce --channel feishu --to "{user_id}"
  • 情形 C:飞书单 Agent 群聊
  • 参数:--announce --channel feishu --to "{chat_id}"
  • 情形 D:飞书多 Agent 私聊
  • 参数:--announce --channel feishu --to "user:{user_id}" --account "{account}" (注意:此处的 to 参数必须加上 user: 前缀)
  • 情形 E:飞书多 Agent 群聊
  • 参数:--announce --channel feishu --to "chat:{chat_id}" --account "{account}" (注意:此处的 to 参数必须加上 chat: 前缀)

步骤 4:基础运行时配置

所有任务必须附带以下基础运行参数:

  • --session isolated绝对不能选择 main)
  • --wake now

🛠️ 指令合成与示例

综合以上 4 个步骤,最终生成的指令结构如下(请根据实际情况组合参数):

示例 1:一次性任务(飞书多 Agent 环境群聊)

场景:用户在飞书(多Agent环境,account为assistant)要求“明早8点提醒我开早会”。

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"

示例 2:周期性任务(飞书单 Agent 环境私聊)

场景:用户在飞书要求“每天晚上10点提醒我写日报”。

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"

示例 3:周期性任务(后台触发)

场景:系统管理员在后台要求“每 2 个小时检查一次系统日志”。

openclaw cron add \
  --name "check_system_logs" \
  --cron "0 */2 * * *" \
  --stagger 30s \
  --tz "Asia/Shanghai" \
  --session isolated \
  --message "请执行系统日志常规检查。" \
  --wake now \
  --announce

版本历史

共 1 个版本

  • v1.0.13 当前
    2026-05-03 05:31 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

Demo Website Product Manager 小白建站

jhc888007
面向零技术用户,将网站/小程序 demo 需求拆分为产品需求、设计需求、技术需求三份文档,并通过 GitHub、Vercel 或微信小程序开发工具直接部署上线。
★ 1 📥 515

Multi Search Engine 极简国内版

jhc888007
【国内精简版】多渠道免费搜索最新网络信息,覆盖10个国内网站,规避7个不可访问的海外网站
★ 14 📥 7,911

Tavily Search 极简版

jhc888007
使用 Tavily API 实现网络搜索,极简省 token,专为 LLM 与 AI Agent优化的搜索引擎。
★ 0 📥 592