用途:在 macOS 终端中检查和管理 Apple Reminders,包括查看、添加、编辑、完成、删除提醒,以及管理列表、截止日期、闹钟、重复规则和授权状态。基于 Apple 公开的 EventKit API,改动通过正常 Reminders/iCloud 路径同步,可出现在 iPhone、iPad 或 Mac 上。
前提:macOS 14+ 且装有 Reminders.app;remindctl 已安装并在 PATH 中,安装命令为 brew install steipete/tap/remindctl;运行 remindctl 的终端应用需获得 Reminders 访问权限。修改数据前先用 remindctl status 检查权限状态。
主要能力:remindctl 默认执行 show today;show 支持 today、tomorrow、week、overdue、upcoming、open、completed、all 或日期字符串过滤,show --list <name> 限定单个列表。list 无参数显示所有列表及提醒和逾期计数,带名称显示指定列表中的提醒,并支持 --create、--delete、--rename、--force。add 创建提醒,支持 --list、--due、--alarm、--notes、--url、--repeat、--priority、--location、--radius、--leaving 等选项。edit 按索引或 ID 前缀更新标题、列表、截止日期、闹钟、备注、URL、重复、优先级和完成状态,也可用 edit <id> --list <new-list> 直接移动提醒。complete 和 delete 接受一个或多个 ID 或索引,均支持 --dry-run,delete 默认需确认。别名:lists/ls 对应 list,rm 对应 delete,done 对应 complete。
输出与日期:--json、-j、--json-output、--jsonOutput 输出 JSON;--plain 输出制表符分隔;--quiet 精简输出;--no-color 禁用颜色;--no-input 禁用交互提示。日期支持 today、tomorrow、yesterday、YYYY-MM-DD、YYYY-MM-DD HH:mm、带时区或不带时区的 ISO 8601;仅日期创建全天提醒,日期时间创建定时提醒。重复支持 daily、weekly、biweekly、monthly、yearly 及 every N days/weeks/months/years。
限制:不适用于非 Reminders 的代理提醒、cron 或定时聊天提醒,也不用于日历事件;不支持原生分区、标签、智能列表、附件或 Apple 私有“紧急”开关。权限被拒时需前往系统设置 > 隐私与安全性 > Reminders 授权;若提示未出现,可用 osascript -e 'tell application "Reminders" to get name of reminders' 作为当前变通方法。通过 SSH 运行时需在实际运行 remindctl 的 Mac 上授权。未提供默认列表名称,不应假定固定默认列表;无默认列表时需指定 --list。--radius 和 --leaving 必须与 --location 同时使用。创建前若标题、列表或截止日期不明确应先确认。