caldav-cli

📅 跨平台日历安全管理专家

支持iCloud/Google/Yandex的CalDAV命令行客户端,采用系统钥匙串安全存储凭据,实现多账户日历的高效管理与同步。

收藏
13.4k
安装
3.1k
版本
v0.1.5
CLS 安全性认证2026-05-13
点击查看完整报告 >

使用说明

caldav-cli 是一款专为命令行环境设计的 CalDAV 日历管理工具,支持 iCloud、Google Calendar、Yandex 等主流日历服务,让开发者和技术用户能够直接在终端中高效管理多平台日历事件,无需依赖重型图形界面应用。

核心用法
该工具通过 npm 全局安装后,提供直观的交互式向导和灵活的命令行参数两种操作模式。用户首先通过 caldav-cli account add 配置账户,支持 Basic 认证(iCloud/Yandex)和 OAuth2(Google)两种方式。配置完成后,可使用 events list 查看指定时间范围内的事件,支持按账户和日历名称过滤,并输出为表格或 JSON 格式便于脚本处理。创建事件可通过 events create 命令,既支持完整的非交互式参数传入,也支持部分参数加向导补全的混合模式,满足自动化脚本和日常交互的不同需求。

显著优点
安全性是最大亮点,工具利用操作系统原生钥匙串(macOS Keychain、Linux libsecret、Windows Credential Vault)加密存储所有敏感信息,包括密码、OAuth2 Token 和客户端密钥,配置文件仅存储元数据且权限严格限制为 0600。多账户架构允许用户同时管理个人和工作日历,通过 -a 参数快速切换。输出格式支持人类可读的表格和机器可解析的 JSON,方便与现有工作流集成。对 Google Calendar 的 OAuth2 支持完整,自动处理 Token 刷新流程,且支持自动迁移旧版本明文存储的凭据。

潜在缺点或局限性
作为命令行工具,它对非技术用户存在学习曲线,缺乏图形界面可能降低部分用户的使用意愿。依赖 Node.js 运行时环境(要求 >= 18),在部分轻量级环境中可能增加部署负担。虽然 skill 本身为纯文档,但实际功能依赖外部 npm 包 caldav-cli,存在供应链安全风险。此外,开发者 cyberash-dev 为个人账号(T3 来源),缺乏企业级维护保障,长期更新和支持稳定性有待观察。Google Calendar 配置需预先在 Cloud Console 创建 OAuth 应用,流程较为繁琐。

适合的目标群体
主要面向软件开发者、DevOps 工程师、系统管理员等习惯命令行工作流的技术人员。适合需要自动化日历操作(如通过 cron 定时同步)、快速查看日程而不打开重型日历应用、或在远程服务器/SSH 环境中管理日历的场景。对于重视隐私和安全,不希望将日历凭据存储在第三方云端服务,且偏好本地加密存储的用户尤为合适。

使用风险
首要风险来自 npm 供应链,需确保从官方仓库安装正品包,防范 typosquatting 攻击。系统钥匙串访问可能在 Linux 服务器或无图形界面环境中遇到权限配置问题,libsecret 依赖需要正确设置。由于采用外部二进制依赖,若 caldav-cli 包本身存在漏洞或恶意代码,skill 本身无法提供运行时防护。建议定期检查 npm 包更新,在生产环境使用前进行充分测试,并审计 ~/.config/caldav-cli/config.json 的文件权限设置。

安全解读

核心用法

caldav-cli 是一款跨平台 CalDAV 命令行客户端,允许用户通过终端直接管理多个日历账户。安装后通过交互式向导添加账户,支持 Apple iCloud(应用专用密码)、Google Calendar(OAuth2 授权流)、Yandex 及任意自定义 CalDAV 服务器。核心操作包括:

  • 事件查看caldav-cli events list 支持按日期范围、账户、日历名称筛选,默认输出表格,加 --json 可获取结构化数据供脚本调用
  • 事件创建caldav-cli events create 支持纯交互式或全参数化(--title/--start/--end/--location 等),灵活适配自动化与手动场景

显著优点

1. 安全性设计突出:OAuth2 刷新令牌、应用密码、Client ID/Secret 全部存储于系统钥匙串(macOS Keychain / Linux libsecret / Windows Credential Vault),配置文件仅保留非敏感元数据,且权限强制 0600
2. 多账户原生支持:可同时管理个人 iCloud、工作 Google、备用 Yandex 等账户,通过 -a 参数快速切换上下文

3. 脚本友好:JSON 输出模式完整暴露事件字段,易于与 jq、CI/CD 流水线或自动化提醒系统集成

4. 零配置门槛:交互式向导覆盖从账户添加到事件创建的全流程,降低 CalDAV 协议的使用门槛

潜在局限

  • Node.js 依赖:要求 Node >= 18,轻量级容器或嵌入式环境需额外运行时
  • OAuth2 前置步骤繁琐:Google Calendar 需用户自行前往 Google Cloud Console 创建项目、启用 API、生成桌面应用类型凭证,对非开发者不够友好
  • 功能边界明确:仅支持事件列表查询与创建,尚不支持修改、删除、重复规则(RRULE)管理等进阶 CalDAV 操作
  • 生态成熟度:v0.1.5 版本较新,长期维护稳定性待观察,社区反馈积累有限

适合人群

  • 偏好命令行工作流、需要跨日历提供商统一管理的效率用户
  • 需要将日历数据集成到自动化脚本或内部工具集的开发者/DevOps
  • 注重凭证安全、不希望明文存储密码的隐私敏感用户

常规风险

尽管本 Skill 本身为纯文档型(T-MD),实际使用时 caldav-cli 工具会:

  • 与 iCloud/Google/Yandex 官方服务器建立 TLS 1.3 加密连接,传输日历数据
  • 在首次 OAuth2 授权时打开系统默认浏览器
  • 需要网络访问权限以发现 CalDAV 服务端点

建议用户定期通过 npm audit 检查工具本身的依赖安全,并关注 GitHub 仓库的更新动态。

caldav-cli 内容

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