OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  casual-cron:通过自然语言创建严格的 Clawdbot 定时任务

casual-cron:通过自然语言创建严格的 Clawdbot 定时任务

 
  ci ·  2026-02-07 04:41:36 · 3 次点击  · 0 条评论  

名称: casual-cron
描述: "通过自然语言创建 Clawdbot 定时任务,并遵循严格的运行守卫规则。使用场景:当用户请求安排提醒或消息(重复或单次),特别是通过 Telegram,或当他们使用 /at 或 /every 命令时。示例:'创建一个每天早上 8 点的提醒'、'20 分钟后提醒我'、'下午 3 点给我发一条 Telegram 消息'、'/every 2h'。"
元数据: {"openclaw":{"emoji":"⏰","requires":{"bins":["python3","openclaw"],"env":["CRON_DEFAULT_CHANNEL"]}}}


简易定时任务

通过自然语言创建 Clawdbot 定时任务。支持单次和重复计划,并具备安全的运行守卫规则。

定时任务运行守卫(硬性规则)

  • 在定时任务内部运行时:禁止故障排除、禁止重启网关、禁止检查时间。
  • 禁止发送确认信息或解释说明。
  • 仅输出确切的消息负载,然后立即停止。

工作原理

  1. 代理从用户消息(或 /at / /every 命令)中检测出调度意图。
  2. 解析:时间、频率、渠道、目的地、消息内容。
  3. 使用正确的标志构建 openclaw cron add 命令。
  4. 在执行前,向用户确认已解析的时间、任务名称和任务 ID。

调度规则

当消息以 /at/every 开头时,通过 CLI 进行调度(不使用定时任务工具 API)。

使用命令:openclaw cron add

/at(单次任务)

  • 如果用户提供时钟时间(例如 "3pm"),则转换为 ISO 格式,并计算该日期在 America/New_York 时区的偏移量(支持夏令时)。
  • 对于近期提醒,优先使用相对时间(例如 --at "20m")。
  • 使用 --session isolated --message "Output exactly: <task>"
  • 始终包含 --delete-after-run
  • 始终包含 --deliver --channel <channel> --to <destination>

/every(重复任务)

  • 如果是时间间隔:使用 --every "<duration>"(无需时区)。
  • 如果是时钟时间:使用 --cron "<expr>" --tz "America/New_York"
  • 使用 --session isolated --message "Output exactly: <task>"
  • 始终包含 --deliver --channel <channel> --to <destination>

确认

  • 在最终确定前,始终向用户确认已解析的时间、任务名称和任务 ID。

命令参考

单次任务(时钟时间,支持夏令时):

openclaw cron add \
  --name "提醒示例" \
  --at "2026-01-28T15:00:00-05:00" \
  --session isolated \
  --message "Output exactly: <任务内容>" \
  --deliver --channel telegram --to <TELEGRAM_CHAT_ID> \
  --delete-after-run

单次任务(相对时间):

openclaw cron add \
  --name "20分钟后提醒" \
  --at "20m" \
  --session isolated \
  --message "Output exactly: <任务内容>" \
  --deliver --channel telegram --to <TELEGRAM_CHAT_ID> \
  --delete-after-run

重复任务(时钟时间,支持夏令时):

openclaw cron add \
  --name "每日下午3点提醒" \
  --cron "0 15 * * *" --tz "America/New_York" \
  --session isolated \
  --message "Output exactly: <任务内容>" \
  --deliver --channel telegram --to <TELEGRAM_CHAT_ID>

重复任务(时间间隔):

openclaw cron add \
  --name "每2小时" \
  --every "2h" \
  --session isolated \
  --message "Output exactly: <任务内容>" \
  --deliver --channel telegram --to <TELEGRAM_CHAT_ID>

配置

设置项
默认时区 America/New_York(支持夏令时)
默认渠道 telegram(可通过环境变量 CRON_DEFAULT_CHANNEL 覆盖)
支持的渠道 telegram, whatsapp, slack, discord, signal

支持的模式

时间格式

输入 Cron 表达式
8am 0 8 * * *
8:45pm 45 20 * * *
noon 0 12 * * *
midnight 0 0 * * *
14:30 30 14 * * *

频率

输入 行为
daily / every day 每天在指定时间
weekdays / mon-fri 周一至周五在指定时间
mondays / every monday 每周一
hourly / every hour 每小时在整点
every 2 hours 0 */2 * * *
weekly 每周(默认为周一)
monthly 每月(默认为每月1号)
3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor