calctl 是一个 Apple 日历命令行工具,用于在终端中管理 Apple Calendar 事件。其读取部分使用 icalBuddy 实现快速查询,写入部分通过 AppleScript 完成。
用途 calctl 面向需要在命令行环境中查看和创建 Apple 日历事件的场景,可用于快速浏览日程、按条件筛选事件,以及在不打开日历应用的情况下添加新事件。
主要能力 工具提供以下命令:
- calctl calendars:列出所有日历。
- calctl show [filter]:显示事件,支持 today(今天)、tomorrow(明天)、week(本周)以及 YYYY-MM-DD 格式的指定日期。
- calctl add <title>:创建新事件。
- calctl search <query>:按标题搜索未来 30 天内的事件。
使用方式 使用前需要安装依赖:brew install ical-buddy。
常用示例:
- 列出日历:calctl calendars
- 显示今天的事件:calctl show today
- 显示本周事件:calctl show week
- 显示指定日历的事件:calctl show week --calendar Work
- 显示指定日期的事件:calctl show 2026-01-25
- 添加事件:calctl add "Meeting with John" --date 2026-01-22 --time 14:00
- 添加到指定日历:calctl add "Team Standup" --calendar Work --date 2026-01-22 --time 09:00 --end 09:30
- 添加全天事件:calctl add "Holiday" --date 2026-01-25 --all-day
- 添加带备注的事件:calctl add "Project Review" --date 2026-01-22 --time 15:00 --notes "Bring quarterly report"
- 搜索事件:calctl search "meeting"
add 命令的选项:
- -c, --calendar <name>:事件所属日历,默认 Privat。
- -d, --date <YYYY-MM-DD>:事件日期,默认今天。
- -t, --time HH:MM:开始时间,默认 09:00。
- -e, --end HH:MM:结束时间,默认开始时间后 1 小时。
- -n, --notes <text>:事件备注,默认无。
- --all-day:创建全天事件,默认 false。
适用场景 适合在 macOS 上通过终端或脚本快速查看日程、按日历或日期筛选事件、搜索近期事件,以及批量或自动化地添加日历事件。
限制 资料中未提供关于平台兼容性、权限要求、错误处理、性能表现或收费情况的更多说明。可用日历因系统而异,资料中列出的常见日历包括 Privat(个人)、Work、Familien Kalender、rainbat solutions GmbH 和 TimeTrack。