Apple Calendar CLI

📅 终端直控 Apple 日历,自动化日程管理

macOS 原生 Apple Calendar 命令行工具,支持日程查询、创建/修改/删除事件及空闲时间检测,需 Node.js 环境。

收藏
16.6k
安装
5.6k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

accli 是基于 JavaScript for Automation (JXA) 的 macOS 专属 CLI 工具,通过 Node.js 包装实现与 Apple Calendar 的深度集成。主要功能模块包括:

  • 日历管理:列出所有日历并获取持久化 ID,支持设置默认日历简化后续操作
  • 事件操作:查询(支持时间范围过滤、关键词搜索)、创建、更新、删除全流程管理
  • 空闲检测:跨多日历分析忙闲状态,自动排除已取消、已拒绝及透明事件

关键特性

  • 纯 JSON 输出模式(--json)便于脚本集成
  • 支持 ISO 8601 标准时间格式(YYYY-MM-DDTHH:mmYYYY-MM-DD
  • 日历 ID 优先机制(比名称更稳定)

显著优点

1. 原生集成:直接调用 Apple Calendar 数据库,无需 iCloud API 或第三方同步
2. 离线可用:完全本地运行,不依赖网络连接

3. 自动化友好:JSON 输出配合标准 Unix 时间操作,适合 Shell 脚本与定时任务

4. 权限复用:继承 macOS 系统日历权限,无需额外 OAuth 流程

潜在局限

  • 平台锁定:仅支持 macOS,无法跨平台使用
  • 权限依赖:首次运行需用户授权访问日历,无 GUI 交互时可能阻塞
  • 功能边界:不支持高级功能如会议邀请发送、附件管理、重复规则创建
  • npm 分发:依赖 Node.js 生态,企业环境可能受软件源策略限制

适合人群

  • macOS 重度用户需自动化日程管理
  • 开发团队构建内部效率工具(如 Slack/钉钉机器人集成)
  • 个人用户偏好终端工作流(配合 cronfzf 等工具)

常规风险

  • 数据误操作delete 命令永久删除,建议二次确认或先备份
  • 时区歧义:未明确指定时区时依赖系统设置,跨时区场景需谨慎
  • 并发冲突:无事务机制,多进程同时修改可能导致日历状态不一致
  • 权限持久化:系统权限变更后需手动重新授权,自动化场景可能中断

安全解读

Apple Calendar CLI (accli) 综合评估

核心用法

accli 是一个专为 macOS 设计的命令行工具,它通过 JavaScript for Automation (JXA) 与系统自带的 Apple Calendar 应用进行交互。用户或 AI Agent 可以利用它来执行一系列日历管理任务,包括:列出所有日历及其 ID、查询特定时间范围内的日程、创建带有时间、地点和描述的会议、更新或删除已有事件,以及最重要的 -- 跨日历检查空闲/忙碌状态。这为自动化会议排期提供了强大的底层支持,只需一条命令即可快速找到所有人的共同空档,替代了手动翻看日历的繁琐操作。

显著优点

  • 原生集成,轻量高效:作为 macOS 的原生接口封装,accli 无需通过复杂的网络 API(如 CalDAV)去同步数据,它直接读取本地日历数据库,响应速度极快,且支持离线操作。
  • 面向自动化的设计:Skill 文档强制推荐使用 --json 标志,这使得输出结果可以被 jq 等工具轻松解析。对于需要将日程编排集成到脚本或 AI 工作流中的开发者来说,这是至关重要的设计。
  • 强大的空闲检查freebusy 命令是该工具的核心亮点。它能自动排除已取消、已拒绝的日程以及标记为"空闲"的透明事件,智能地计算出真正的忙碌时段,避免虚假冲突。
  • 完善的操作准则:Skill 文档内置了安全操作的最佳实践,强制 Agent 在删除事件前必须与用户二次确认,并在创建新事件前先检查忙闲状态,从流程上减少了操作失误。

潜在缺点与局限性

  • 平台锁定:该工具明确限制只能在 macOS 系统上运行,Windows 或 Linux 用户完全无法使用。
  • 供应链成熟度低:作为其核心的 @joargp/accli npm 包由个人开发者维护,项目较新(安全审计报告显示仅发布约 5 个月),社区采用率和第三方安全审计记录有限,存在潜在的维护中断或代码质量风险。
  • 缺乏原生版本锁定:当前文档推荐的全局安装命令 npm install -g @joargp/accli 未锁定版本,未来若作者发布存在漏洞或破坏性变更的新版本,可能会自动引入风险。
  • 功能依赖项单一:所有功能都强依赖于这一个 npm 包,一旦该包出现问题,整个 Skill 将完全瘫痪。

适合的目标群体

  • macOS 重度用户与开发者:习惯使用终端、希望通过脚本自动化处理日常事务的技术人员。
  • AI Agent 与自动化爱好者:正在搭建私人助理或工作流自动化,需要让 AI 具备读取和写入真实日历能力的人。
  • 自由职业者与小型团队:需要一个轻量级的命令行工具来快速查看日程和安排会议,无需部署复杂的协作套件。

使用可能存在的常规风险

  • 隐私数据敏感性:通过此工具可读取日历标题、地点、参会人和备注等高度私密的日程信息。虽然这在上文是优点,但一旦系统或 Agent 上下文被攻击,日历数据可能成为信息泄露的重灾区。
  • 依赖项安全漂移:其唯一依赖 @joargp/accli 若在未来的版本更新中被植入恶意代码(尽管当前安全扫描未见异常),由于全局安装的特性,可能会影响系统环境。强烈建议锁定版本或在使用前审计包源码(共 16 个文件)。
  • 权限依赖:该工具的运行完全依赖于 macOS 在"系统偏好设置 > 安全性与隐私 > 日历"中对终端或相关进程的授权。如果系统权限配置不当,工具将完全无法工作。
  • 数据误操作风险:虽然 Skill 指导了确认流程,但若用户在使用时关闭或忽略了确认机制,命令行工具存在错误删除整个系列日程或覆盖重要会议信息的可能性。

Apple Calendar CLI 内容

手动下载zip · 2.2 kB
SKILL.mdtext/markdown
请选择文件