核心功能
icloud-reminders 是一款基于 CloudKit API 的 iCloud 提醒事项 CLI 管理工具,以纯 Go 语言实现,完全脱离 Python 生态(无需 pyicloud)。提供提醒事项的完整 CRUD 操作,包括创建、编辑、完成、删除、搜索及层级子任务管理,支持按列表筛选和批量操作。
显著优点
1. 原生实现,零依赖:认证、2FA、会话管理及 CloudKit API 调用均为 Go 原生实现,摆脱 Python 环境限制,部署更轻量
2. 企业级安全设计:支持 2FA 保护账户,会话通过 session.json 本地缓存,提供 export-session/import-session 机制实现安全共享
3. 层级任务管理:完整支持子任务(subtask)层级结构,可通过 --parent 参数创建嵌套提醒
4. 灵活的认证方式:支持环境变量、配置文件、交互式提示三级凭证解析,适配 CI/CD 与本地开发场景
5. 批量操作效率:add-batch 支持一次性添加多条提醒,提升工作流效率
潜在局限
- Apple 生态锁定:仅支持 iCloud 账户,无法跨平台同步至 Google/Microsoft 待办
- 会话过期风险:需手动重新认证,长期自动化任务可能因会话失效中断
- 非官方 API:基于 CloudKit 私有 API,存在 Apple 接口变更导致功能失效的风险
- 2FA 交互依赖:首次配置需人工参与,纯自动化部署受限
适合人群
- Apple 生态深度用户,需在终端高效管理提醒事项
- 开发者寻求轻量化、无 Python 依赖的 iCloud 自动化方案
- 团队需共享 iCloud 提醒访问权限(通过会话导出机制)
- 习惯命令行工作流的效率型用户
常规风险
| 风险类型 | 说明 |
|---------|------|
| 凭证泄露 | `credentials` 文件与 `session.json` 包含敏感信息,需严格限制文件权限(建议 `chmod 600`) |
| 会话劫持 | 导出的会话包若传输不当,可能被第三方利用 |
| API 变更 | 非官方接口,Apple 更新可能导致功能不可用 |
| 数据误操作 | `delete`/`complete` 命令无二次确认,脚本执行需谨慎验证 |
版本与维护
当前版本 0.1.1,通过 Homebrew 分发,活跃维护中。