with one click
openclaw-with-apple
Apple iCloud 全功能访问 + Apple Health 深度健康分析 + 双向待办同步
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Apple iCloud 全功能访问 + Apple Health 深度健康分析 + 双向待办同步
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | OpenClaw with Apple |
| description | Apple iCloud 全功能访问 + Apple Health 深度健康分析 + 双向待办同步 |
| icon | 🍎 |
| os | linux, macos |
| tools | pyicloud, caldav |
| install | pip install pyicloud caldav icalendar |
| tags | icloud, health, tasks, reminders, notes |
用户在对话中提到任何行动事项(吃饭、开会、洗车、取快递等)或知识笔记时,你必须:
| 用户说的话 | 要运行的命令 | 说明 |
|---|---|---|
| "明天去吃烤肉"(行动,无具体时间) | python tasks_tool.py add "吃烤肉" --date tomorrow --target reminder | 只写提醒事项JSON,不写日历 |
| "明天2点开会"(行动,有具体时间) | python tasks_tool.py add "开会" --date tomorrow --time 14:00 --target reminder + python icloud_calendar.py new tomorrow 14:00 15:00 "开会" | 写提醒事项JSON + 写日历 |
| "记一下:React useEffect空数组只执行一次"(笔记) | python tasks_tool.py add "React笔记" --target note --notes "useEffect空数组只执行一次" | 只写备忘录JSON |
违反以上任何一条 = 严重错误。
Apple iCloud 服务访问 + Apple Health 深度健康分析 + 双向待办同步(AI→iPhone 提醒事项/备忘录)的 AI Skill。
重要:启用此 Skill 后,请严格按照以下流程与用户交互。
Skill 启用后,直接告知用户需要什么、怎么拿:
你好!我来帮你配置 OpenClaw with Apple。
我需要以下信息来连接你的 iCloud 服务:
1️⃣ 应用专用密码(必选)— 用于读写日历
→ 获取方式:https://appleid.apple.com →「登录与安全」→「应用专用密码」→ 生成
2️⃣ Apple ID 邮箱 + 主密码(可选)— 用于照片、iCloud Drive、查找设备、Health 健康分析
→ 就是你登录 Apple ID 的邮箱和密码
如果你只需要日历功能,提供应用专用密码即可。
如果还需要照片/文件/设备/健康分析,请同时提供 Apple ID 邮箱和主密码。
设置环境变量并验证日历:
export ICLOUD_APP_PASSWORD="xxxx-xxxx-xxxx-xxxx"
python icloud_calendar.py list # 验证日历
验证成功后进入第二步。
AI 直接通过环境变量设置凭证并登录,全程非交互式:
export ICLOUD_USERNAME="用户提供的邮箱"
export ICLOUD_PASSWORD="用户提供的主密码"
python icloud_tool.py login # 尝试登录
脚本会自动判断是否需要双重认证:
你的 iPhone 上应该收到了一个 6 位验证码弹窗,把验证码发给我。
用户发来验证码后,AI 执行:
python icloud_tool.py verify 123456 # 用验证码完成登录
认证成功后 session 会被缓存到
~/.pyicloud/,后续使用不再需要密码。
验证成功后,进入第二步。
iCloud 登录完成后,依次询问用户是否需要以下三个功能。每个功能独立引导,用户可以选择全部启用或部分启用。
先询问:
你需要启用 Apple Health 健康分析吗?
基于 iPhone 的心率、睡眠、步数、活动能量,给你做深度健康分析和压力评估。
用户需要时,发送以下引导:
🏥 配置 Apple Health:
📱 第 1 步:导入快捷指令
用 iPhone Safari 打开以下链接,点击「添加快捷指令」:
https://www.icloud.com/shortcuts/4a5dff0072a6463a9a1fef47d6ec13e2
⚠️ 必须用 iPhone Safari 打开,电脑上打不开!
🔓 第 2 步:进入快捷指令内部,开启所有健康数据权限
1. 打开「快捷指令」App → 找到「Health Daily Export」
2. 点击右上角「...」进入编辑模式
3. 找到每个「查找所有健康样本」操作,点击展开
4. 系统会为每个数据类型(步数、心率、睡眠分析、活动能量、步行+跑步距离)依次弹出授权弹窗,全部点「允许」
5. 授权完成后,点左上角「完成」退出编辑
💡 如果编辑时没弹窗:iPhone →「设置」→「隐私与安全性」→「健康」→「快捷指令」→ 手动开启所有数据类型
🔐 第 3 步:开启共享大量数据
iPhone →「设置」→「快捷指令」→「高级」→ 开启「允许共享大量数据」
⏰ 第 4 步:设置 iPhone 自动化
快捷指令 App → 底部「自动化」→ 右上角 + →「特定时间」
→ 每天 22:00 运行「Health Daily Export」→ 关闭「运行前询问」
这样每晚 22:00 手机自动采集健康数据,保存到 iCloud Drive/Shortcuts/Health/
🖥️ 第 5 步:OpenClaw 服务端定时任务
配置完成后,我会在服务端设置定时任务:
每晚 22:30 自动从 iCloud Drive/Shortcuts/Health/ 拉取今天的健康数据文件,
进行深度分析,生成健康报告。
📊 第 6 步:分析 & 报告
数据拉取后自动运行分析,输出包含以下内容的健康报告:
- 运动与代谢评估
- 心率分析(静息心率、HRV、突变检测)
- 睡眠质量分析(深睡/REM/碎片化)
- 综合健康评分(0-100分)
你也可以随时问我:"我最近睡眠怎么样""分析一下过去一周的数据"
AI 执行服务端配置(用户确认已完成 iPhone 端步骤后):
# 设置每晚 22:30 的定时任务
python scripts/setup_tasks_cron.py install
你需要启用「提醒事项同步」功能吗?
你平时跟我说的行动事项("明天开会"、"后天买牛奶"),
我会自动写入待办文件,每晚推送到你 iPhone 的「提醒事项」App。
用户需要时,发送以下引导:
📋 配置提醒事项同步:
📱 第 1 步:导入快捷指令
用 iPhone Safari 打开以下链接,点击「添加快捷指令」:
https://www.icloud.com/shortcuts/de68c5443f054355bdb332f246c24a94
⚠️ 必须用 iPhone Safari 打开,电脑上打不开!
导入后手动运行一次(首次运行会在 iCloud Drive 中创建 Shortcuts/Tasks/ 文件夹)。
⏰ 第 2 步:设置 iPhone 自动化
快捷指令 App → 底部「自动化」→ 右上角 + →「特定时间」
→ 每天 22:15 运行「Tasks Import」→ 关闭「运行前询问」
然后进入 iPhone「设置」→「快捷指令」→「高级」→ 开启「允许共享大量数据」
💡 第 3 步:了解什么内容会被存
你跟我聊天时,以下内容会自动存入提醒事项:
- 有具体时间的行动 → 同时写入日历 + 提醒事项JSON
例:"明天2点开会" → 日历(14:00)+ 提醒事项
- 没有具体时间的行动 → 只写提醒事项JSON(不写日历)
例:"明天去洗车" → 只写提醒事项
- 你不需要说"帮我记",我会自动识别并存储
🖥️ 第 4 步:服务端如何工作
我会把识别到的待办存成 JSON 文件(tasks_latest.json),存在服务器中。
每晚 21:00,服务端自动把这个文件推送到 iCloud Drive/Shortcuts/Tasks/ 中。
📱 第 5 步:手机自动导入
每晚 22:15,iPhone 自动运行「Tasks Import」快捷指令,
读取 Tasks/ 文件夹中的 JSON,逐条创建为 iPhone「提醒事项」,导入后自动删除文件。
你需要启用「备忘录同步」功能吗?
你跟我说的笔记、想法、灵感、会议纪要等,
我会自动写入备忘录文件,每晚推送到你 iPhone 的「备忘录」App。
用户需要时,发送以下引导:
📝 配置备忘录同步:
📱 第 1 步:导入快捷指令
用 iPhone Safari 打开以下链接,点击「添加快捷指令」:
https://www.icloud.com/shortcuts/2229591d96a849a6ad9b4e44b4b6ce80
⚠️ 必须用 iPhone Safari 打开,电脑上打不开!
导入后手动运行一次(首次运行会在 iCloud Drive 中创建 Shortcuts/Notes/ 文件夹)。
⏰ 第 2 步:设置 iPhone 自动化
快捷指令 App → 底部「自动化」→ 右上角 + →「特定时间」
→ 每天 22:15 运行「Notes Import」→ 关闭「运行前询问」
然后进入 iPhone「设置」→「快捷指令」→「高级」→ 开启「允许共享大量数据」
💡 第 3 步:了解什么内容会被存
你跟我聊天时,以下内容会自动存入备忘录:
- 知识/笔记/记录类内容 → 写入备忘录JSON
例:"记一下:useEffect空数组只执行一次"
例:"今天学到:Python的walrus运算符很好用"
例:"会议纪要:决定用React重构前端"
- 你不需要说"帮我记",我会自动识别并存储
🖥️ 第 4 步:服务端如何工作
我会把识别到的备忘存成 JSON 文件(notes_latest.json),存在服务器中。
每晚 21:00,服务端自动把这个文件推送到 iCloud Drive/Shortcuts/Notes/ 中。
📱 第 5 步:手机自动导入
每晚 22:15,iPhone 自动运行「Notes Import」快捷指令,
读取 Notes/ 文件夹中的 JSON,合并为一条备忘录(标题为日期),导入后自动删除文件。
所有功能配置完成后:
✅ 全部配置完成!
你启用的功能:
🏥 Apple Health — 每晚 22:00 采集,22:30 自动分析出报告
📋 提醒事项 — 行动事项自动存储,每晚 21:00 推送,22:15 手机导入
📝 备忘录 — 笔记/想法自动存储,每晚 21:00 推送,22:15 手机导入
现在你可以正常跟我聊天了,我会自动识别需要记录的内容。
以下规则是对顶部铁律的详细补充。铁律优先级最高。
当用户问某个功能怎么用、或者第一次使用某功能时,必须先引导用户完成 iPhone 端配置(参考上方对应功能的配置引导),不能直接教用法就完事。
主动识别(最重要):用户说的话只要涉及以下任何一种,必须立即自动存储,无需用户明确说"帮我记":
三种存储目标的判断规则(核心,严格执行):
用户说了一句话后,按以下决策树判断写入哪里,并实际运行对应命令:
用户说的内容是什么类型?
│
├─ 行动/事件类(开会、洗车、吃饭、取快递...)
│ │
│ ├─ 有具体时间点("2点"、"14:00"、"早上8点")
│ │ → ✅ 实际运行: python tasks_tool.py add "xxx" --date xxx --time xx:xx --target reminder
│ │ → ✅ 实际运行: python icloud_calendar.py new xxx xx:xx xx:xx "xxx"
│ │
│ └─ 没有具体时间点("明天"、"晚上"、"下周"等模糊时间)
│ → ❌ 不写日历(严禁编造时间!)
│ → ✅ 实际运行: python tasks_tool.py add "xxx" --date xxx --target reminder
│
└─ 知识/笔记/记录类("记一下xxx"、想法、灵感、纪要、学到的东西...)
→ ❌ 不写日历
→ ❌ 不写提醒事项
→ ✅ 实际运行: python tasks_tool.py add "xxx" --target note --notes "内容"
⛔ 严禁行为:
✅ 完整示例(含实际要执行的命令):
| 用户说的话 | 必须执行的命令 |
|---|---|
| "明天2点开会" | python tasks_tool.py add "开会" --date tomorrow --time 14:00 --target reminder + python icloud_calendar.py new tomorrow 14:00 15:00 "开会" |
| "明天去洗车" | python tasks_tool.py add "洗车" --date tomorrow --target reminder(不写日历) |
| "明天晚上去开会" | python tasks_tool.py add "开会" --date tomorrow --target reminder("晚上"不是具体时间,不写日历) |
| "记一下:useEffect依赖数组为空时只执行一次" | python tasks_tool.py add "useEffect笔记" --target note --notes "依赖数组为空时只执行一次" |
智能解析:从自然语言中提取日期("明天"、"下周三")、时间("下午2点")、优先级("重要"→high)
主动确认:命令执行成功后,简短确认告知用户:
合并整理:用户说"帮我看看明天的待办"时,调用 tasks_tool.py list --date tomorrow
手动同步:用户说"现在就推送到手机"时,调用 tasks_tool.py sync(不等定时任务)
同样遵守铁律:用户问健康相关问题时,直接运行分析命令,不要反问"你想分析哪天的?"——默认分析今天,用户没指定就用最新数据。
~/Library/Mobile Documents/com~apple~CloudDocs/Shortcuts/Health/health_YYYY-MM-DD.txtpython scripts/health_tool.py analyze <file> 或 python scripts/health_tool.py todaypython scripts/health_tool.py report <dir> --days 7python scripts/icloud_auth.py status 检查 session 状态iCloud 登录已过期,需要重新登录:
请提供你的 Apple ID 邮箱和密码,我来帮你登录。
python icloud_tool.py login,如需 2FA 则让用户发验证码,再运行 python icloud_tool.py verify <验证码>photos list 返回的是很久以前的照片(不是最近的),说明 session 或 pyicloud 版本有问题。解决方案:
ICLOUD_CHINA=1 已设置(中国大陆用户必须)python icloud_tool.py login + verifypip install --upgrade pyicloudpython icloud_tool.py photos albums
python icloud_tool.py photos list 20
python icloud_tool.py photos download 1
python icloud_tool.py drive list # 列出根目录
python icloud_tool.py drive list Work/Projects # 列出多级目录
python icloud_tool.py drive cd Downloads # 进入并列出文件夹
python icloud_tool.py drive download Work/doc.pdf # 下载文件
python icloud_tool.py drive download Work/doc.pdf ~/Desktop/doc.pdf # 下载到指定路径
python icloud_tool.py drive cat Work/notes.txt # 查看文本文件内容
python icloud_tool.py drive upload local.pdf Work # 上传文件
python icloud_tool.py drive mkdir Work/新项目 # 创建文件夹
python icloud_tool.py drive rename Work/旧名 新名 # 重命名
python icloud_tool.py drive delete Work/废弃文件.txt # 删除文件/文件夹
python icloud_tool.py devices # 列出所有设备(型号、电量、状态)
python icloud_tool.py find locate # 定位默认设备(iPhone)
python icloud_tool.py find locate iPad # 定位指定设备
python icloud_tool.py find status # 设备详细状态(电量、充电、位置)
python icloud_tool.py find play # 播放声音(找手机)
python icloud_tool.py find lost 13800138000 "请归还" # 启用丢失模式
python icloud_calendar.py list
python icloud_calendar.py today
python icloud_calendar.py week 7
python icloud_calendar.py new 2026-03-15 10:00 11:00 "开会"
python icloud_calendar.py new today "买牛奶" -c "家庭看板"
python icloud_calendar.py search 开会
python icloud_calendar.py delete 开会
选项: --calendar/-c 指定日历, --location/-l 地点, --description/-d 描述
# 登录(通过环境变量,非交互式)
export ICLOUD_USERNAME="邮箱"
export ICLOUD_PASSWORD="主密码"
python icloud_tool.py login # 尝试登录(如需2FA退出码为2)
python icloud_tool.py verify 123456 # 用2FA验证码完成登录
# Session 状态管理
python icloud_auth.py status # 检查 session
python icloud_auth.py refresh # 刷新
python icloud_auth.py logout # 清除
python tasks_tool.py add "开会" --date tomorrow --time 14:00 --priority high
python tasks_tool.py add "读书笔记" --target note --notes "第三章要点"
python tasks_tool.py add "买牛奶" --date 明天 --priority low
python tasks_tool.py list # 列出所有
python tasks_tool.py list --date tomorrow # 列出明天
python tasks_tool.py list --status pending # 列出未完成
python tasks_tool.py done <id> # 标记完成
python tasks_tool.py remove <id> # 删除
python tasks_tool.py edit <id> --title "新标题" --time 15:00
python tasks_tool.py clear --done # 清理已完成
python tasks_tool.py show # 显示完整 JSON
选项: --date 日期, --time 时间, --priority high/medium/low, --notes 备注, --target reminder/note, --list 列表名
python tasks_tool.py sync # 上传到 iCloud Drive
python tasks_tool.py sync --download # 从 iCloud 下载合并
python setup_tasks_cron.py install # 安装每晚 22:00 自动同步
python setup_tasks_cron.py uninstall # 卸载
python setup_tasks_cron.py status # 查看状态
用户对话 → tasks_tool.py add → ~/.openclaw/tasks.json (本地)
│
21:00 launchd 定时
│
┌─────────┴─────────┐
▼ ▼
Shortcuts/Tasks/ Shortcuts/Notes/
tasks_latest.json notes_latest.json
│ │
22:15 自动化 22:15 自动化
▼ ▼
iPhone 提醒事项 iPhone 备忘录
(逐条创建) (每天一条,标题为日期)
(导入后删除文件) (导入后删除文件)
用 iPhone 打开 iCloud 链接添加快捷指令: https://www.icloud.com/shortcuts/4a5dff0072a6463a9a1fef47d6ec13e2
快捷指令每天自动采集 4 项健康数据(步数、活动能量、心率详细、睡眠详细), 保存为 TXT/JSON 到 iCloud Drive/Shortcuts/Health/。
python health_tool.py today # 分析今日数据
python health_tool.py analyze health_2026-03-10.txt # 分析单日文件
python health_tool.py analyze <dir> [--days 7] # 分析目录中所有数据
python health_tool.py report <dir> [--days 7] # 多日趋势报告
默认数据目录: ~/Library/Mobile Documents/com~apple~CloudDocs/Shortcuts/Health/
每日文件名: health_YYYY-MM-DD.txt(或 .json),内容为 JSON:
{
"date": "2026-03-10",
"steps": 5444,
"active_energy_kcal": 169.08,
"heart_rate": [{"t": "08:32", "v": 72}, ...],
"sleep": [{"start": "23:30", "end": "00:15", "type": "Core"}, ...]
}
| 服务 | 凭证 | 环境变量 | 获取方式 |
|---|---|---|---|
| iCloud 日历 | 应用专用密码 | ICLOUD_APP_PASSWORD | appleid.apple.com →「应用专用密码」生成 |
| iCloud 照片/Drive/设备/Health | Apple ID 邮箱 + 主密码 | ICLOUD_USERNAME + ICLOUD_PASSWORD | 用户直接提供给 AI,AI 通过环境变量自动登录 |
| Apple Health | (不需要) | (不需要) | iPhone 打开 iCloud 链接 导入快捷指令 |
| 待办同步 | 复用 iCloud 凭证 | (同上) | 本地 ~/.openclaw/tasks.json + iCloud Drive 同步 |
ICLOUD_CHINA=1~/.pyicloud/,过期时询问用户是否重新登录~/.openclaw/tasks.json,每晚 21:00 通过 launchd 自动上传scripts/
├── icloud_auth.py # iCloud 认证管理
├── icloud_tool.py # iCloud 照片 / Drive / 设备
├── icloud_calendar.py # iCloud 日历 (CalDAV)
├── health_tool.py # Apple Health 深度分析
├── tasks_tool.py # 待办事项管理(增删改查 + iCloud 同步)
├── setup_tasks_cron.py # 定时任务安装/卸载
└── generate_tasks_shortcut.py # iPhone 快捷指令创建指南
~/.openclaw/
├── tasks.json # 本地待办数据
└── logs/
└── tasks-sync.log # 同步日志