核心用法
macos-calendar-assistant 是一套面向 macOS 用户的 Calendar.app 自动化工具集,专为 IM-first 工作流设计(支持 Telegram、Discord、飞书、iMessage、Slack 等场景)。其核心能力包括:
1. 智能提取:从聊天截图或消息文本中解析日程信息(标题、时间、时区、地点、备注等),自动识别用户意图与对方约束条件。
2. 幂等操作:通过 upsert_event.py 实现创建/更新/跳过判断,避免重复写入,支持 --dry-run 预览。
3. 冲突管理:写入前自动调用 list_events.swift 检测时段占用,支持显式覆盖(需用户确认)或警告提示。
4. 灵活调度:支持移动/延长/改期(move_event.swift、幂等更新),可设置提醒闹钟(set_alarm.py),并智能路由至对应日历(Training/Work/Product/Life)。
5. 卫生维护:提供重复事件扫描清理(calendar_clean.py)、近两小时事件快查(within_2h.py)、每日自动检查通知等辅助工具。
显著优点
- 深度系统集成:直接调用 EventKit,原生支持 iCloud/CalDAV/本地日历,权限受 macOS 沙盒管控。
- 工作流闭环:从 IM 消息→解析→冲突检查→写入→提醒→复盘同步,形成完整日程管理链路。
- 容错设计:幂等写入、dry-run 预览、快照备份(
--snapshot-out),降低误操作风险。 - 智能路由:内置分类映射规则,自动选择目标日历,减少用户决策负担。
潜在局限
- 平台锁定:仅限 macOS,依赖 EventKit 框架与 Calendar 权限,Windows/Linux 用户无法使用。
- 脚本依赖:需本地安装 Swift/Python3 环境,部分命令依赖特定脚本文件路径。
- 时区处理:默认回退 Asia/Shanghai,跨时区协作场景需用户显式指定。
- 语义理解边界:截图/消息解析基于启发式规则,复杂排版或非标准表达可能误识别。
适合人群
- macOS 重度用户,习惯在 IM 中协调日程
- 需要快速将聊天中的会议安排同步至系统日历的职场人士
- 追求日历整洁、关注重复事件清理的效率爱好者
- 开发者/自动化爱好者,希望将日历操作脚本化、流水线化
常规风险
- 权限风险:需授予 Calendar 完全访问权限,脚本理论上可读取/修改全部日历数据(尽管代码意图明确)。
- 误操作覆盖:
--apply与--confirm yes组合会直接执行删除/修改,建议始终先 dry-run。 - 时区歧义:未明确指定时区时可能因默认回退导致跨区会议时间错位。
- 外部依赖:脚本运行依赖本地 Python/Swift 环境及配置文件完整性,环境异常可能导致操作失败。