核心用法
Apple Calendar Manager 是一款面向 macOS 用户的自动化技能,允许通过 AppleScript 直接操控 Apple Calendar 应用。核心功能围绕事件创建展开,提供两条路径:
1. 智能日期解析(add_event_smart.sh):支持自然语言输入,如 "today"、"tomorrow"、"next Monday" 甚至俄语日期("понедельник"),系统自动转换为绝对时间。
2. 绝对日期格式(add_event.scpt):直接接受 YYYYMMDDHHMMSS 格式的时间戳,适合精确控制场景。
用户只需指定日历名称、事件标题、可选描述及起止时间,即可在后台静默完成事件写入,无需打开 Calendar.app。
显著优点
- 原生集成:直接调用
osascript与 Apple Calendar 通信,数据完全保留在本地 iCloud 或 Exchange 账户中,无第三方云服务介入。 - 智能日期理解:
parse_relative_date.sh脚本降低了时间输入门槛,口语化指令即可生成标准日程。 - 轻量无依赖:纯 Shell + AppleScript 实现,无需额外安装运行时或库。
- 扩展潜力:文档已标记编辑、删除、搜索为 Future 能力,架构预留了迭代空间。
潜在局限
- 平台锁定:仅限 macOS,Windows/Linux 用户无法使用。
- 权限门槛:首次运行需用户在系统设置中授予"自动化"权限给终端/Tools,否则 AppleScript 执行会被系统拦截。
- 功能残缺:当前仅实现"新增",编辑、删除、查询尚未落地,无法形成完整 CRUD 闭环。
- 日历硬编码:依赖用户本地已存在的日历名称,若输入错误名称会导致执行失败。
- 无冲突检测:不会自动检查时间冲突或重复事件,可能产生日程重叠。
适合人群
- 重度 macOS 用户,希望用命令行或自动化工具(如 Alfred、Raycast、OpenClaw)快速创建日程
- 需要批量导入事件的技术用户
- 偏好本地原生日历而非 Notion、Google Calendar 等在线服务的隐私敏感用户
常规风险
- 权限弹窗疲劳:macOS 自动化权限管理严格,频繁调用可能导致用户多次确认"是否允许控制 Calendar"。
- 脚本注入隐患:若 calendar_name 或 event_summary 来自不可信输入,可能触发 AppleScript 注入(尽管当前实现未显示对特殊字符的转义处理)。
- 数据误写风险:无预览确认机制,错误参数会直接写入系统日历,需依赖用户自行核对。
- 单点故障:Apple Calendar 应用必须处于可访问状态,若应用崩溃或被用户退出,脚本将执行失败。