Casual Cron

✨ 自然语言定时提醒,精准送达

用自然语言创建定时提醒任务,支持一次性或周期性调度,通过 Telegram 等渠道精准送达,代码简洁安全无依赖。

收藏
13.2k
安装
2.9k
版本
2.0.1
CLS 安全性认证2026-06-04
点击查看完整报告 >

使用说明

核心用法

Casual Cron 是一款将自然语言转换为定时任务(Cron Job)的实用工具,专为 Clawdbot 生态设计。用户可通过口语化指令(如"每天下午3点提醒我喝水"或"/every 2h")快速创建一次性或周期性提醒,任务通过 Telegram、WhatsApp、Slack、Discord、Signal 等渠道推送。

调度模式

  • 一次性任务(/at):支持绝对时间(如"8pm"自动转为 DST 感知的 ISO 时间)或相对时间(如"20m"),执行后自动删除
  • 周期性任务(/every):支持自然频率(daily、weekdays、hourly)或自定义 Cron 表达式,默认 America/New_York 时区自动处理夏令时

关键特性

  • 会话隔离:所有任务在 --session isolated 环境中运行,确保安全边界
  • 精准投递:通过 --deliver --channel <通道> --to <目标> 精确控制送达位置
  • 运行守卫:Cron 任务执行时禁止故障排查、重启网关或时间检查,仅输出纯消息载荷

显著优点

1. 零依赖安全:纯 Python 标准库实现(json/os/re/sys/unittest),无第三方包,供应链攻击面为零
2. DST 智能感知:自动处理 America/New_York 时区夏令时转换,避免时间漂移

3. 多通道原生支持:内置 5 种主流 IM 渠道,通过环境变量 CRON_DEFAULT_CHANNEL 可灵活配置默认通道

4. 严格运行约束:Cron 执行时的"硬规则"确保任务纯净输出,避免调试信息污染用户消息

潜在局限

  • 时区固定:默认锁定 America/New_York,非该时区用户需手动转换
  • T3 来源可信度:社区/个人开发者维护,缺乏官方背书,长期维护持续性待观察
  • 输入解析边界:复杂自然语言(如"每个月最后一个周五")可能超出当前正则解析能力
  • 无外部集成:不连接日历、天气等外部 API,功能纯粹但扩展性受限

适合人群

  • Telegram 重度用户需要轻量提醒功能
  • 开发者寻求无依赖、可审计的定时任务方案
  • 对供应链安全敏感、要求代码 100% 透明的场景

常规风险

  • 配置依赖:需正确设置 CRON_DEFAULT_CHANNEL 环境变量,否则可能投递失败
  • 权限管理openclaw cron add 命令需适当系统权限,多用户环境需防范任务注入
  • 任务累积:长期运行的周期性任务需定期清理,避免僵尸任务堆积

安全解读

核心用法

casual-cron 是 Clawdbot 生态中的自然语言定时任务调度 Skill,用户可通过口语化指令(如"明早8点提醒我开会"、"/every 2h")快速创建 cron 任务。

工作流程
1. 识别用户调度意图(支持 /at 单次、/every 周期两种触发方式)

2. 解析时间、频率、渠道、目标、消息内容五要素

3. 构建 openclaw cron add CLI 命令(非直接 API 调用)

4. 执行前向用户确认解析结果(时间、任务名、Job ID)

关键特性

  • DST 安全:美东时区自动处理夏令时转换
  • 多渠道投递:Telegram、WhatsApp、Slack、Discord、Signal 统一支持
  • 运行守护(Run Guard):cron 执行环境下严格禁止排障、重启网关、时间检查等操作,仅输出纯净消息负载

---

显著优点

| 维度 | 表现 |
|------|------|
| **安全架构** | 纯 Python 标准库实现,零外部依赖,无网络请求,无文件写入 |
| **代码质量** | 94 分安全评级,42 个单元测试覆盖,无危险函数(eval/exec/subprocess)|
| **隐私合规** | 仅读取用户输入文本与 `CRON_DEFAULT_CHANNEL` 环境变量,GDPR 数据最小化 |
| **使用体验** | 自然语言解析灵活,支持 "8am"、"noon"、"every 2 hours" 等丰富表达 |
| **防护设计** | 目标地址占位符机制(`<TELEGRAM_CHAT_ID>`),强制用户显式确认,防止误发 |

---

潜在局限

1. 时区单一:默认锁定 America/New_York,国际用户需手动处理时区转换
2. 渠道依赖外部 CLI:实际消息投递依赖 openclaw 二进制,Skill 本身仅生成命令字符串

3. 确认环节增加交互成本:每次创建需用户确认解析结果,批量场景效率受限

4. 无持久化 UI:纯命令行交互,无可视化的任务管理界面

---

适合人群

  • Clawdbot / OpenClaw 用户:已部署该生态的 Telegram/Slack 等自动化工作流
  • 轻量提醒需求者:不需要复杂日历集成,只需简单定时消息
  • 隐私敏感用户:拒绝第三方 SaaS 日历服务,偏好本地可控方案
  • 开发者/运维:需要通过环境变量标准化团队默认通知渠道

---

常规风险

| 风险项 | 等级 | 说明 |
|--------|------|------|
| 占位符未替换导致命令执行失败 | 低 | 设计意图,强制检查点 |
| 环境变量配置错误致默认渠道失效 | 低 | 显性配置,易于排查 |
| 正则解析边界情况 | 极低 | 42 个测试覆盖主流模式 |
| 依赖 `openclaw` CLI 可用性 | 中 | 运行时外部依赖,非 Skill 可控 |

Casual Cron 内容

scripts文件夹
skills文件夹
casual-cron文件夹
scripts文件夹
test文件夹
test文件夹
手动下载zip · 16.3 kB
cron_builder.pytext/plain
请选择文件