Caldav Cli

📅 命令行统一管控多平台日历

跨平台命令行CalDAV日历管理工具,支持iCloud/Google/Yandex等多账户同步,OAuth2安全认证,适合开发者和效率极客自动化日程管理。

收藏
8.2k
安装
2.1k
版本
0.1.3
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

caldav-cli 是一款基于 Node.js 的命令行 CalDAV 客户端,专为需要从终端管理多平台日历的用户设计。安装后通过 caldav-cli account add 启动交互式向导,支持 iCloud(App专用密码)、Google(OAuth2)、Yandex、Fastmail、Nextcloud、Baikal 及自定义 CalDAV 服务器的账户配置。

核心功能分为两大模块:

  • 事件查询caldav-cli events list 支持按日期范围(--from/--to)、账户(-a)、日历(-c)筛选,默认输出表格,加 --json 可管道化到脚本
  • 事件创建caldav-cli events create 支持全交互式向导或纯命令行参数(标题、起止时间、描述、地点等),满足自动化场景

数据存储采用分层安全策略:敏感凭证(密码、OAuth2 refresh token)存入系统钥匙串(macOS Keychain/Linux libsecret/Windows Credential Vault),账户元数据(用户名、服务器URL)以明文 JSON 存于 ~/.config/caldav-cli/config.json

显著优点

  • 多账户原生支持:无缝切换工作/个人日历,无需频繁登录登出
  • OAuth2 安全流:Google 集成采用标准授权码流程,refresh token 隔离在系统钥匙串
  • 跨平台兼容:Node.js ≥18 即可运行,覆盖 macOS/Linux/Windows
  • 自动化友好:JSON 输出模式便于与 cron、GitHub Actions、个人脚本集成
  • 零配置体验:交互式向导降低 CalDAV 协议门槛,非技术用户亦可快速上手

潜在局限

  • Node.js 依赖:需维护 Node 运行时环境,相比 Go/Rust 编译型工具资源占用较高
  • OAuth2 客户端凭证明文存储:Google Client ID/Secret 存于 config.json,虽非 bearer token 但仍需文件权限管控
  • 功能边界:专注 CRUD 操作,不支持日历共享管理、附件上传、循环事件编辑等高级功能
  • 协议支持范围:纯 CalDAV 实现,不支持 Microsoft Graph API(Exchange/Outlook365 需第三方桥接)

适合人群

  • 开发者/DevOps 工程师:将日历查询集成到 CI/CD 流水线或终端工作流
  • 多平台日历用户:iCloud + Google 双持用户希望统一命令行入口
  • 隐私敏感者:拒绝 SaaS 日历客户端,偏好本地凭证管理
  • 效率工具极客:配合 fzf、tmux、polybar 构建自定义日程 HUD

常规风险

  • 钥匙串权限:首次运行需授权终端访问系统钥匙串,误拒会导致认证失败
  • config.json 泄露:若备份点包含该文件且未加密,攻击者可获取服务器端点信息(虽无法直接取 token)
  • OAuth2 令牌过期:Google refresh token 可能因用户撤销权限或长期未使用失效,需重新授权
  • CalDAV 服务器差异:各厂商实现细节不同(如 iCloud 的 App 专用密码机制),异常时需查阅提供商文档

Caldav Cli 内容

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