为OpenClaw提供安全的iCloud日历操作,支持CalDAV和macOS原生桥接提供程序,适用于日历列表、事件检索、事件...
iCalendar Sync
功能概述
iCalendar Sync是一项面向实际任务的技能,主要用于使用此技能执行 OpenClaw 代理的 iCloud 日历 CRUD 操作.;Prepare Census Secure: 只使用 App- Specific 密码( 从未使用过 Apple ID 密码)。
核心要点
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
使用与执行
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
结果检查与注意事项
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
iCalendar 同步
使用此技能,可让 OpenClaw 智能体执行 iCloud 日历的增删改查(CRUD)操作。
1. 安全地准备凭据
仅使用应用专用密码(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
2. 明确选择同步提供者
--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"
3. 执行日历操作
列出所有日历:
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"
4. 输入契约(Input Contract)
对于 create 操作,至少需提供以下字段:
summary(字符串)dtstart(ISO 格式日期时间)dtend(ISO 格式日期时间,且必须晚于dtstart)
可选字段包括:
descriptionlocationstatuspriority(取值范围:0–9)alarmsrrule
5. 安全规则
- 校验日历名称,拒绝含路径特征的输入(如包含
/、..等)。 - 确保凭据信息不出现在日志或标准输出中。
- 优先选用 keyring 存储,而非文件存储。
- 若必须使用文件存储,则须严格限制文件权限(应设为
0600)。
6. 故障处理
若在 macOS 上使用 auto 或 caldav 提供者时发生 CalDAV 认证或网络错误,则自动切换至 macos-native 提供者,并重试相同操作。
若 JSON 负载以文件路径形式传入,请在解析前确认该文件大小处于安全范围内。
热门AI工具
相关专题
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题梳理XORM框架的入门路径,从框架定位、依赖安装、连接数据库到跑通第一个增删改查示例,讲清Engine初始化、日志开启与项目目录规划,并对比GORM等同类ORM的差异,帮助Go开发者建立整体认知。
0
2026.11.04
本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。
0
2026.11.03
想使用Docker Desktop将本地项目构建成Docker镜像?本专题围绕镜像构建的实际操作展开,介绍Dockerfile编写、构建命令使用、镜像标签设置和构建日志查看等内容,同时整理镜像无法生成、依赖安装失败及构建缓存异常等问题的排查思路。
0
2026.11.03
本专题聚焦Docker Desktop容器创建与运行配置,介绍通过本地镜像或远程镜像创建容器的方法,以及容器启动、终端访问、日志查看和基础管理等操作。针对端口冲突、参数配置不当、容器无法启动等情况,也整理了相应的排查方向。
0
2026.11.03
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.7万人学习
共6课时 | 54.7万人学习