用途:将自然语言描述(如“下周二下午 3 点开会”)转换为有效的 iCalendar(RFC 5545).ics 文件,写入当前工作目录并自动用 open <filename>.ics 打开,可直接在 Apple 日历中查看。
主要能力:解析标题、日期时间、时长、地点、重复、参会人、提醒等字段;解析“下周二”“本周五 3 点”等相对日期;生成 UUID v4 作为 UID、当前 UTC 的 DTSTAMP;构建 VEVENT、VALARM 提醒、RRULE 重复规则;支持全天事件、多日事件、单文件多事件、EXDATE 排除日期以及 VTIMEZONE 时区定义。
使用方式:默认时区 America/New_York,除非事件明显在其他时区否则不询问;未指定时长默认 1 小时,未指定提醒默认提前 15 分钟;文件名按事件标题转为 kebab-case,如 team-meeting.ics;写文件后执行 open <filename>.ics。
关键限制与注意:全天事件 DTEND 为排他(1 月 15 日全天需 DTEND:20250116);UID 必须全局唯一;DTSTAMP 必填;VTIMEZONE 须在 VEVENT 之前;行尾用 CRLF,长行需折行(超过 75 个八位组插入 CRLF 加一个空格),不得有行尾空白;组件内属性间不允许空行;RRULE 中的 UNTIL 必须为带 Z 的 UTC 时间;文本属性需转义反斜杠、分号、逗号、换行。时区名称映射如 Eastern/ET/EST/EDT 对应 America/New_York,London/GMT/BST 对应 Europe/London 等。完整属性表、RRULE 语法、全部时区定义和校验清单见 references/ics-format.md。
适用场景:需要快速批量生成会议、约会、提醒、重复日程的 .ics 文件。
收费、平台、安装命令等资料暂未提供。