核心用法
calctl 是一个命令行工具,用于在 macOS 终端中管理 Apple Calendar(日历.app)事件。它采用双引擎架构:使用 icalBuddy 实现高性能只读查询,使用 AppleScript 处理事件创建与修改操作。
主要功能模块
查询类命令
calctl calendars:列出所有可用日历calctl show [filter]:按时间范围(today/tomorrow/week/指定日期)或日历名称筛选显示事件calctl search <query>:在接下来30天内按标题搜索事件
创建类命令
calctl add <title>:创建新事件,支持指定日历、日期时间、持续时长、备注及全天事件标记
显著优点
1. 效率提升:无需打开日历应用即可完成常见操作,特别适合键盘优先用户
2. 脚本自动化:天然支持 Shell 脚本集成,可结合 cron、launchd 实现定时任务
3. 快速查询:icalBuddy 的解析速度显著优于原生 AppleScript 查询
4. 灵活的日期语法:支持自然语言(today/week)与 ISO 日期格式混用
潜在局限
- macOS 独占:依赖 Apple Calendar 与 AppleScript 运行时,无法跨平台使用
- 依赖外部工具:需单独安装
icalBuddy(Homebrew 提供) - 权限管理:首次运行需授权终端访问日历隐私数据
- 功能边界:不支持复杂重复规则编辑、日历共享管理、邀请处理等高级功能
适合人群
- 日常重度使用终端的开发者/运维人员
- 需要批量导入或定时创建日历事件的自动化场景
- 追求最小上下文切换效率的键盘流用户
常规风险
- 数据误操作:命令行无二次确认,错误参数可能导致事件创建到错误日历或时间
- 时区处理:跨时区场景下需验证
--date与--time的解析行为 - 权限撤销:系统隐私设置变更可能导致工具突然失效