为OpenClaw提供安全的iCloud日历操作,支持CalDAV和macOS原生桥接提供程序,适用于日历列表、事件检索、事件...
iCalendar Sync是一项面向实际任务的技能,主要用于使用此技能执行 OpenClaw 代理的 iCloud 日历 CRUD 操作.;Prepare Census Secure: 只使用 App- Specific 密码( 从未使用过 Apple ID 密码)。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
使用此技能,可让 OpenClaw 智能体执行 iCloud 日历的增删改查(CRUD)操作。
仅使用应用专用密码(App-Specific Password),切勿使用主 Apple ID 密码。
优先使用 keyring 存储:
python -m icalendar_sync setup --username user@icloud.com
如需自动化部署,请使用非交互式设置:
export ICLOUD_USERNAME="user@icloud.com" export ICLOUD_APP_PASSWORD="xxxx-xxxx-xxxx-xxxx" python -m icalendar_sync setup --non-interactive
仅当 keyring 不可用时(例如无图形界面或 GUI 受限的运行环境),才使用文件存储:
python -m icalendar_sync setup --non-interactive --storage file --config ~/.openclaw/icalendar-sync.yaml
--provider auto:macOS 使用原生桥接(native bridge),非 macOS 系统使用 CalDAV。--provider caldav:强制直连 iCloud CalDAV 服务。--provider macos-native:强制通过 Calendar.app 桥接(仅限 macOS)。如需 CalDAV 调试信息,请添加以下参数:
--debug-http --user-agent "your-agent/1.0"
列出所有日历:
python -m icalendar_sync list
获取指定日历中的事件(未来 7 天):
python -m icalendar_sync get --calendar "Personal" --days 7
创建事件:
python -m icalendar_sync create --calendar "Personal" --json '{
"summary": "Meeting",
"dtstart": "2026-02-15T14:00:00+03:00",
"dtend": "2026-02-15T15:00:00+03:00"
}'
更新事件(简单模式):
python -m icalendar_sync update --calendar "Personal" --uid "event-uid" --json '{"summary":"Updated title"}'
更新重复事件的某一个实例:
python -m icalendar_sync update
--calendar "Work"
--uid "series-uid"
--recurrence-id "2026-03-01T09:00:00+03:00"
--mode single
--json '{"summary":"One-off change"}'
重复事件更新支持的模式:
single:仅更新单个实例(需指定 --recurrence-id)all:更新整个重复系列future:将系列拆分为两段,并更新当前实例及其后续所有实例(需指定 --recurrence-id)删除事件:
python -m icalendar_sync delete --calendar "Personal" --uid "event-uid"
对于 create 操作,至少需提供以下字段:
summary(字符串)dtstart(ISO 格式日期时间)dtend(ISO 格式日期时间,且必须晚于 dtstart)可选字段包括:
descriptionlocationstatuspriority(取值范围:0–9)alarmsrrule/、.. 等)。0600)。若在 macOS 上使用 auto 或 caldav 提供者时发生 CalDAV 认证或网络错误,则自动切换至 macos-native 提供者,并重试相同操作。
若 JSON 负载以文件路径形式传入,请在解析前确认该文件大小处于安全范围内。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习