Apple Calendar CLI

该技能用于与 macOS 上的苹果日历交互,支持列出日历、查看、创建、更新、删除日历事件以及检查忙碌状态。当用户请求“查看日历”、“安排会议”、“我的日程”、“明天有空吗”或进行日历相关操作时触发。

安装

概览

什么是Apple Calendar CLI

Apple Calendar CLI(accli)是一款专为 macOS 系统设计的命令行工具,通过 JavaScript for Automation(JXA)技术直接与苹果原生日历应用交互。该工具为开发者、自动化脚本用户和高级终端使用者提供了一套完整的日历管理接口,无需依赖图形界面即可完成日常日历操作。其核心优势在于能够无缝集成到 shell 脚本、CI/CD 流程或自动化工作流中,实现会议安排、日程查询等任务的程序化执行。accli 支持多种输出格式,尤其推荐使用 JSON 模式以便其他程序解析处理,极大提升了与其他工具的协同效率。 该工具覆盖了从基础信息获取到复杂事件管理的全功能链条。用户可以通过简单的命令列出所有可用日历及其持久化 ID,避免因日历名称变更导致的脚本失效问题。对于事件操作,accli 提供了创建、更新、删除以及精确检索等能力,并支持设置标题、时间、地点、描述及全天事件等多种属性。特别值得注意的是,它内置了空闲状态检测功能,可扫描指定时间段内多个日历的忙碌情况,帮助用户快速识别可用时段,从而高效安排新会议或协调团队时间。 此外,accli 还具备灵活的配置机制,允许用户设定默认日历以简化重复性操作。结合 ISO 8601 标准的时间格式输入要求,该工具确保了跨平台和国际化场景下的数据一致性。无论是用于个人日程管理、团队协作调度还是构建智能助理类应用,accli 都展现出了强大的实用性和可扩展性。

核心功能特点

  1. 支持列出所有日历并获取持久化 ID,确保脚本稳定性
  2. 可创建、编辑、删除日历事件,包括设置标题、时间、地点和描述
  3. 提供空闲/忙碌状态检查功能,支持多日历联合查询可用时段
  4. 支持 JSON 格式输出,便于程序化解析与集成
  5. 允许设置默认日历,减少重复参数输入
  6. 兼容全天事件与定时事件的混合管理

适用场景

在日常工作中,当需要快速查看当天或未来几天的会议安排时,可以使用 accli 查询特定日历中的事件列表。例如,在终端中运行 `accli events Work –from $(date +%Y-%m-%d) –to $(date -v+1d +%Y-%m-%d) –json` 即可获取今日至明日的全部工作安排,并以结构化数据形式呈现,方便进一步处理或展示。这种能力特别适合远程办公环境下通过 SSH 连接服务器时进行轻量级日程确认。 对于频繁组织会议的用户而言,accli 的空闲检测功能是高效协调的关键。例如,在尝试为团队成员安排一对一沟通前,可先执行 `accli freebusy –calendar Work –calendar Personal –from 2025-01-15T09:00 –to 2025-01-15T18:00 –json` 来扫描双方当天的占用情况,找出共同空闲窗口后再创建具体事件,避免时间冲突带来的不便。这一流程可通过编写简单脚本自动完成,显著提升协作效率。 在开发自动化工具或构建个人效率系统时,accli 的 JSON 输出特性尤为有用。开发者可将事件创建命令嵌入到通知提醒、任务同步或日历备份等脚本中,实现端到端的自动化闭环。比如,结合天气 API 判断是否适合外出,若条件良好则自动在日历中添加户外散步记录;或者将待办事项管理系统中的截止提醒同步为日历事件,形成统一的时间视图。这些场景均体现了 accli 作为底层服务组件的价值所在。