核心用法
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命令需适当系统权限,多用户环境需防范任务注入 - 任务累积:长期运行的周期性任务需定期清理,避免僵尸任务堆积