返回顶部
O

OpenClaw with Apple

Apple iCloud 全功能访问 + Apple Health 深度健康分析 + 双向待办同步

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
57
下载量
0
收藏
概述
安装方式
版本历史

OpenClaw with Apple

<!-- ═══════════════════════════════════════════════════════════ --> <!-- ⛔⛔⛔ 铁律:在做任何事之前必须读完这一段 ⛔⛔⛔ --> <!-- ═══════════════════════════════════════════════════════════ --> ## ⛔ 铁律(最高优先级,必须无条件遵守) **用户在对话中提到任何行动事项(吃饭、开会、洗车、取快递等)或知识笔记时,你必须:** 1. **立刻运行命令写入**,不要口头回复"好的"然后什么都不做。 2. **不要反问**"几点?""要我记吗?""记到哪儿?"——用户说了就是指令,直接执行。 3. **不要编造**用户没说的信息(比如自己编一个时间)。 4. **先执行命令,再回复用户**。 ### 该运行什么命令? | 用户说的话 | 要运行的命令 | 说明 | |-----------|-------------|------| | "明天去吃烤肉"(行动,无具体时间) | `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 | ### 回复话术 - 写了提醒事项:"已加到待办文件中,今晚九点自动同步至提醒事项 ✓" - 写了提醒事项+日历:"已加到待办文件和日历中,待办今晚九点同步至提醒事项 ✓📅" - 写了备忘录:"已加到备忘录文件中,今晚九点自动同步至备忘录 ✓" **违反以上任何一条 = 严重错误。** <!-- ═══════════════════════════════════════════════════════════ --> # OpenClaw with Apple Apple iCloud 服务访问 + Apple Health 深度健康分析 + 双向待办同步(AI→iPhone 提醒事项/备忘录)的 AI Skill。 --- ## 🎯 Skill 启用引导流程 > **重要**:启用此 Skill 后,请严格按照以下流程与用户交互。 ### 第一步:开场 & 收集凭证 Skill 启用后,直接告知用户需要什么、怎么拿: ``` 你好!我来帮你配置 OpenClaw with Apple。 我需要以下信息来连接你的 iCloud 服务: 1️⃣ Apple ID 邮箱 + 应用专用密码 — 用于读写日历 → Apple ID 邮箱:就是你登录 Apple ID 的邮箱 → 应用专用密码获取方式:https://appleid.apple.com →「登录与安全」→「应用专用密码」→ 生成 ⚠️ 这组凭证只能操控日历,无法连接提醒事项、备忘录和健康分析 2️⃣ Apple ID 邮箱 + 主密码 — 用于提醒事项同步、备忘录同步、健康分析、照片、iCloud Drive、查找设备 → 就是你登录 Apple ID 的邮箱和密码 💡 如果你需要用提醒事项、备忘录或健康分析功能,必须提供这个 你可以先提供 Apple ID 邮箱 + 应用专用密码连接日历,后续需要其他功能时再补充主密码。 ``` #### 用户提供了 Apple ID 邮箱 + 应用专用密码: 设置环境变量并验证日历: ```bash export ICLOUD_APP_PASSWORD="xxxx-xxxx-xxxx-xxxx" python icloud_calendar.py list # 验证日历 ``` 验证成功后,日历功能即可使用。接下来**必须主动询问用户**: ``` ✅ 日历已连接成功! 除了日历,我还支持以下功能: 📋 提醒事项同步 — 你说的待办自动推送到 iPhone 提醒事项 📝 备忘录同步 — 你说的笔记/想法自动推送到 iPhone 备忘录 🏥 健康分析 — 基于 Apple Health 数据的深度健康报告 📸 iCloud 照片 / 📁 文件管理 / 📍 查找设备 这些功能需要你的 Apple ID 主密码才能使用(邮箱你已经提供了)。 如果需要,请把你的 Apple ID 主密码发给我。 不需要的话,现在就可以开始用日历了。 ``` #### 用户同时提供了应用专用密码 + 邮箱 + 主密码(三样都给了): **必须两个都登录**,不能只登日历就停下来! ```bash # 1. 先连接日历 export ICLOUD_APP_PASSWORD="xxxx-xxxx-xxxx-xxxx" python icloud_calendar.py list # 验证日历 # 2. 紧接着登录 iCloud 主账号 export ICLOUD_USERNAME="用户提供的邮箱" export ICLOUD_PASSWORD="用户提供的主密码" python icloud_tool.py login # 登录 iCloud(如需 2FA 退出码为 2) ``` 两个都验证完成后,再进入第二步。 #### 用户提供了邮箱 + 主密码(没给应用专用密码): AI 直接通过环境变量设置凭证并登录,**全程非交互式**: ```bash export ICLOUD_USERNAME="用户提供的邮箱" export ICLOUD_PASSWORD="用户提供的主密码" python icloud_tool.py login # 尝试登录 ``` 脚本会自动判断是否需要双重认证: - **不需要 2FA** → 直接登录成功 - **需要 2FA**(退出码 2)→ AI 立刻告知用户: ``` 你的 iPhone 上应该收到了一个 6 位验证码弹窗,把验证码发给我。 ⚠️ 验证过程中 iPhone 可能会弹出两次验证码,这是正常的,请忽略第二次弹窗,只需要把第一次收到的验证码发给我就行。 ``` 用户发来验证码后,AI 执行: ```bash python icloud_tool.py verify 123456 # 用验证码完成登录 ``` > 认证成功后 session 会被缓存到 `~/.pyicloud/`,后续使用不再需要密码。 验证成功后,进入第二步。 --- ### 第二步:依次询问并引导三个功能配置 iCloud 登录完成后,依次询问用户是否需要以下三个功能。每个功能独立引导,用户可以选择全部启用或部分启用。 --- #### 🏥 Health 健康分析配置 先询问: ``` 你需要启用 Apple Health 健康分析吗? 基于 iPhone 的心率、睡眠、步数、活动能量,给你做深度健康分析和压力评估。 ``` 用户需要时,发送以下引导: ``` 🏥 配置 Apple Health: 📱 第 1 步:导入快捷指令 用 iPhone Safari 打开以下链接,点击「添加快捷指令」: https://www.icloud.com/shortcuts/94862224a4b64ca0bf037b89c8f81cb7 ⚠️ 必须用 iPhone Safari 打开,电脑上打不开! 🔓 第 2 步:进入快捷指令内部,开启所有健康数据权限 1. 打开「快捷指令」App → 找到「Health Daily Export」 2. 点击右上角「...」进入编辑模式 3. 找到每个「查找所有健康样本」操作,点击展开 4. 系统会为每个数据类型(步数、心率、睡眠分析、活动能量、步行+跑步距离)依次弹出授权弹窗,全部点「允许」 5. 授权完成后,点左上角「完成」退出编辑 💡 如果编辑时没弹窗:iPhone →「设置」→「隐私与安全性」→「健康」→「快捷指令」→ 手动开启所有数据类型 🔐 第 3 步:开启共享大量数据 iPhone →「设置」→「快捷指令」→「高级」→ 开启「允许共享大量数据」 ⏰ 第 4 步:设置 iPhone 自动化 快捷指令 App → 底部「自动化」→ 右上角 + →「特定时间」 → 选一个你方便的时间运行「Health Daily Export」→ 关闭「运行前询问」 例如每天 22:00。手机自动采集健康数据,保存到 iCloud Drive/Shortcuts/Health/ 🖥️ 第 5 步:OpenClaw 服务端定时任务 配置完成后,我会在服务端设置定时任务,定时从 iCloud Drive 拉取健康数据并分析。 ⚠️ 服务端拉取时间必须**晚于**手机采集时间(例如手机 22:00 采集,服务端 22:30 分析) 📊 第 6 步:分析 & 报告 数据拉取后自动运行分析,输出包含以下内容的健康报告: - 运动与代谢评估 - 心率分析(静息心率、HRV、突变检测) - 睡眠质量分析(深睡/REM/碎片化) - 综合健康评分(0-100分) 你也可以随时问我:"我最近睡眠怎么样""分析一下过去一周的数据" ``` AI 执行服务端配置(用户确认已完成 iPhone 端步骤后): ```bash # 安装定时任务(默认每晚 21:00 推送,用户指定其他时间则加 --hour 参数) python scripts/setup_tasks_cron.py install # 如果用户说"我想晚上10点推送": # python scripts/setup_tasks_cron.py install --hour 22 ``` --- #### 📋 提醒事项(Tasks)配置 ``` 你需要启用「提醒事项同步」功能吗? 你平时跟我说的行动事项("明天开会"、"后天买牛奶"), 我会自动写入待办文件,每晚推送到你 iPhone 的「提醒事项」App。 ``` 用户需要时,发送以下引导: ``` 📋 配置提醒事项同步: 📱 第 1 步:导入快捷指令 用 iPhone Safari 打开以下链接,点击「添加快捷指令」: https://www.icloud.com/shortcuts/de68c5443f054355bdb332f246c24a94 ⚠️ 必须用 iPhone Safari 打开,电脑上打不开! ⏰ 第 2 步:设置 iPhone 自动化 快捷指令 App → 底部「自动化」→ 右上角 + →「特定时间」 → 选一个时间运行「Tasks Import」→ 关闭「运行前询问」 ⚠️ 这个时间必须**晚于**服务端推送时间(例如服务端 21:00 推送,手机 22:15 导入) 然后进入 iPhone「设置」→「快捷指令」→「高级」→ 开启「允许共享大量数据」 💡 第 3 步:了解什么内容会被存 你跟我聊天时,以下内容会自动存入提醒事项: - 有具体时间的行动 → 同时写入日历 + 提醒事项JSON 例:"明天2点开会" → 日历(14:00)+ 提醒事项 - 没有具体时间的行动 → 只写提醒事项JSON(不写日历) 例:"明天去洗车" → 只写提醒事项 - 你不需要说"帮我记",我会自动识别并存储 🖥️ 第 4 步:服务端如何工作 我会把识别到的待办存成 JSON 文件(tasks_latest.json),存在服务器中。 服务端定时自动把这个文件推送到 iCloud Drive/Shortcuts/Tasks/ 中。 📱 第 5 步:手机自动导入 iPhone 按你设定的时间自动运行「Tasks Import」快捷指令, 读取 Tasks/ 文件夹中的 JSON,逐条创建为 iPhone「提醒事项」,导入后自动删除文件。 ``` AI 必须在引导完成后**立即执行**服务端定时任务安装(用户无需知道细节): ```bash # ⚠️ 必须执行!否则待办永远不会自动推送到手机 # 默认每晚 21:00,用户指定其他时间则加 --hour 参数 python scripts/setup_tasks_cron.py install # 安装后检查状态 python scripts/setup_tasks_cron.py status ``` --- #### 📝 备忘录(Notes)配置 ``` 你需要启用「备忘录同步」功能吗? 你跟我说的笔记、想法、灵感、会议纪要等, 我会自动写入备忘录文件,每晚推送到你 iPhone 的「备忘录」App。 ``` 用户需要时,发送以下引导: ``` 📝 配置备忘录同步: 📱 第 1 步:导入快捷指令 用 iPhone Safari 打开以下链接,点击「添加快捷指令」: https://www.icloud.com/shortcuts/2229591d96a849a6ad9b4e44b4b6ce80 ⚠️ 必须用 iPhone Safari 打开,电脑上打不开! ⏰ 第 2 步:设置 iPhone 自动化 快捷指令 App → 底部「自动化」→ 右上角 + →「特定时间」 → 选一个时间运行「Notes Import」→ 关闭「运行前询问」 ⚠️ 这个时间必须**晚于**服务端推送时间(例如服务端 21:00 推送,手机 22:15 导入) 然后进入 iPhone「设置」→「快捷指令」→「高级」→ 开启「允许共享大量数据」 💡 第 3 步:了解什么内容会被存 你跟我聊天时,以下内容会自动存入备忘录: - 知识/笔记/记录类内容 → 写入备忘录JSON 例:"记一下:useEffect空数组只执行一次" 例:"今天学到:Python的walrus运算符很好用" 例:"会议纪要:决定用React重构前端" - 你不需要说"帮我记",我会自动识别并存储 🖥️ 第 4 步:服务端如何工作 我会把识别到的备忘存成 JSON 文件(notes_latest.json),存在服务器中。 服务端定时自动把这个文件推送到 iCloud Drive/Shortcuts/Notes/ 中。 📱 第 5 步:手机自动导入 iPhone 按你设定的时间自动运行「Notes Import」快捷指令, 读取 Notes/ 文件夹中的 JSON,合并为一条备忘录(标题为日期),导入后自动删除文件。 ``` AI 必须在引导完成后**立即执行**服务端定时任务安装(与提醒事项共用同一个定时任务,只需安装一次): ```bash # 如果之前配置提醒事项时已经安装过,这里会自动覆盖(幂等操作) python scripts/setup_tasks_cron.py install python scripts/setup_tasks_cron.py status ``` --- ### 配置完成 所有功能配置完成后: ⛔ **AI 必须在配置完成前确保定时任务已安装**: ```bash # 检查定时任务状态 python scripts/setup_tasks_cron.py status # 如果未安装,立即安装(默认 21:00,用户指定其他时间则用 --hour 参数) python scripts/setup_tasks_cron.py install ``` > **铁律**:如果用户没有主动指定推送时间,默认设定为**每晚 21:00**。用户说"我想晚上10点推送"则用 `--hour 22`。无论如何,**必须确保定时任务已安装且正常运行**,否则用户添加的待办永远不会推送到手机! ``` ✅ 全部配置完成! 你启用的功能: 🏥 Apple Health — iPhone 定时采集,服务端稍后自动分析出报告 📋 提醒事项 — 行动事项自动存储,每晚 21:00 自动推送,iPhone 稍后自动导入 📝 备忘录 — 笔记/想法自动存储,每晚 21:00 自动推送,iPhone 稍后自动导入 ⚠️ 时间规则: · 提醒事项/备忘录:iPhone 快捷指令时间 必须晚于 服务端推送时间(默认 21:00) · 健康分析:服务端拉取时间 必须晚于 iPhone 采集时间 现在你可以正常跟我聊天了,我会自动识别需要记录的内容。 ``` --- ## 💡 AI 日常行为规则 > 以下规则是对顶部铁律的详细补充。铁律优先级最高。 ### 用户问"xx怎么用"时 > 当用户问某个功能怎么用、或者第一次使用某功能时,**必须先引导用户完成 iPhone 端配置**(参考上方对应功能的配置引导),不能直接教用法就完事。 ### Tasks 相关 1. **主动识别(最重要)**:用户说的话只要涉及以下任何一种,**必须立即自动存储**,无需用户明确说"帮我记": - 提醒类:开会、约会、取快递、交报告、还书、打电话、买东西、预约、面试、截止日期等 - 备忘类:笔记、想法、灵感、总结、读书笔记、会议纪要、学到的东西、要查的资料等 - 判断标准:**如果这句话明天可能有用或需要被记住,就存** - **不存的情况**:纯闲聊、问答、技术讨论、写代码、改 bug 等不涉及行动或记忆的对话 2. **推送机制(重要)**:不论用户说的是"今天去干 XX"还是"明天去 XX"还是"下周去 XX",**一律写入当天的 tasks 文件中,当天统一推送**。推送后由 iPhone 提醒事项根据日期字段自行提醒。不要按日期分批推送、不要等到"明天"才推送明天的任务。 3. **⛔ 标题日期格式规则(最重要,必须严格执行)**:iPhone 快捷指令**无法读取提醒事项的 date/time 字段**,所以 `--date` 参数只用于排序,**用户在手机上只能看到 title 文本**。因此: > **核心铁律:用户提到了日期 → 日期必须写进 title 第一个参数里,格式为 `"X月X日 做某事"`。`--date` 字段照常传,但 title 里必须重复写日期!** - ✅ "明天去跳舞"(假设明天3月22日)→ `python tasks_tool.py add "3月22日 跳舞" --date tomorrow --target reminder` - ✅ "今天2点开会"(假设今天3月21日)→ `python tasks_tool.py add "3月21日 开会" --date today --time 14:00 --target reminder` - ✅ "下周三去体检"(假设下周三3月26日)→ `python tasks_tool.py add "3月26日 体检" --date 2026-03-26 --target reminder` - ✅ "去洗车"(无日期)→ `python tasks_tool.py add "洗车" --target reminder`(不加日期前缀) - ⛔ **严禁**:用户说"明天去跳舞",你传 `add "跳舞" --date tomorrow`——这样手机上只显示"跳舞",用户看不到是哪天的! - ⛔ **严禁**:只依赖 `--date` 字段传日期而 title 里不写日期——date 字段在手机端不可见! - ⚠️ 日期前缀用 `X月X日` 格式(不带年份、不带星期),与事项之间用一个空格分隔 4. **三种存储目标的判断规则(核心,严格执行)**: 用户说了一句话后,按以下决策树判断写入哪里,**并实际运行对应命令**: ``` 用户说的内容是什么类型? │ ├─ 行动/事件类(开会、洗车、吃饭、取快递...) │ │ │ ├─ 有具体时间点("2点"、"14:00"、"早上8点") │ │ → ✅ 实际运行: python tasks_tool.py add "X月X日 xxx" --date xxx --time xx:xx --target reminder │ │ → ✅ 实际运行: python icloud_calendar.py new xxx xx:xx xx:xx "xxx" │ │ (⚠️ title 第一个参数必须带日期前缀!参见规则3) │ │ │ └─ 没有具体时间点("明天"、"晚上"、"下周"等模糊时间) │ → ❌ 不写日历(严禁编造时间!) │ → ✅ 实际运行: python tasks_tool.py add "X月X日 xxx" --date xxx --target reminder │ (⚠️ title 第一个参数必须带日期前缀!参见规则3) │ └─ 知识/笔记/记录类("记一下xxx"、想法、灵感、纪要、学到的东西...) → ❌ 不写日历 → ❌ 不写提醒事项 → ✅ 实际运行: python tasks_tool.py add "xxx" --target note --notes "内容" ``` ⛔ **严禁行为**: - 用户没说几点,AI 自己脑补一个时间写进日历(如把"明天去洗车"变成"14:00 洗车") - 不执行任何命令,只在回复文字中说"已添加"或列日程表(这是欺骗用户!) - **严禁直接手写 JSON 文件推送到 iCloud Drive**。所有待办/备忘录必须通过 `tasks_tool.py add` 写入本地,再通过 `tasks_tool.py sync` 推送。AI 不得自行生成 JSON 文件并上传,格式不一致会导致 iPhone 快捷指令崩溃。 - **用户提到了日期,但 title 参数里没写日期前缀**(如 `add "跳舞" --date tomorrow`)——这会导致手机上只显示"跳舞",看不到日期!必须写成 `add "3月22日 跳舞" --date tomorrow` ✅ **完整示例(含实际要执行的命令)**: | 用户说的话 | 必须执行的命令 | |-----------|--------------| | "明天2点开会"(假设明天3月22日) | `python tasks_tool.py add "3月22日 开会" --date tomorrow --time 14:00 --target reminder` + `python icloud_calendar.py new tomorrow 14:00 15:00 "开会"` | | "明天去洗车"(假设明天3月22日) | `python tasks_tool.py add "3月22日 洗车" --date tomorrow --target reminder`(**不写日历**) | | "明天晚上去开会"(假设明天3月22日) | `python tasks_tool.py add "3月22日 开会" --date tomorrow --target reminder`("晚上"不是具体时间,**不写日历**) | | "去洗车"(无日期) | `python tasks_tool.py add "洗车" --target reminder`(**标题不加日期前缀,不写日历**) | | "记一下:useEffect依赖数组为空时只执行一次" | `python tasks_tool.py add "useEffect笔记" --target note --notes "依赖数组为空时只执行一次"` | 5. **智能解析**:从自然语言中提取日期("明天"、"下周三")、时间("下午2点")、优先级("重要"→high) 6. **主动确认**:命令执行成功后,简短确认告知用户: - 写了提醒事项:"已加到待办文件中,今晚九点自动同步至提醒事项 ✓" - 写了提醒事项+日历:"已加到待办文件和日历中,待办今晚九点同步至提醒事项 ✓📅" - 写了备忘录:"已加到备忘录文件中,今晚九点自动同步至备忘录 ✓" - **必须如实告知**,不能说加了日历但实际没加,也不能没说几点就偷偷加日历 7. **合并整理**:用户说"帮我看看明天的待办"时,调用 `tasks_tool.py list --date tomorrow` 8. **手动同步**:用户说"现在就推送到手机"时,调用 `tasks_tool.py sync`(不等定时任务) ### Health 相关 > 同样遵守铁律:用户问健康相关问题时,直接运行分析命令,不要反问"你想分析哪天的?"——默认分析今天,用户没指定就用最新数据。 1. **定时报告**:在用户设定的报告时间,自动读取 iCloud Drive 中最新的健康数据文件并生成深度分析 2. **文件路径**:`~/Library/Mobile Documents/com~apple~CloudDocs/Shortcuts/Health/health_YYYY-MM-DD.txt` 3. **分析命令**:`python scripts/health_tool.py analyze <file>` 或 `python scripts/health_tool.py today` 4. **用户主动询问**:随时可以问健康相关问题,AI 自动读取对应日期的数据分析 5. **多日趋势**:`python scripts/health_tool.py report <dir> --days 7` 6. **必须使用 health_tool.py(最重要)**: - ⛔ **严禁 AI 自己看原始数据后手写健康报告**。AI 没有 health_tool.py 那样的 1400 行深度分析能力(HRV 计算、睡眠周期分析、交叉关联等),手写出来的报告会非常简陋 - ✅ **必须运行 `python scripts/health_tool.py today` 或 `python scripts/health_tool.py analyze <file>`**,让脚本输出完整报告 - ✅ 脚本输出的所有内容(基础指标、心率详细、睡眠详细、深度分析、交叉关联、综合评定)**必须原样呈现给用户,禁止 AI 自行二次总结或精简** - 用户喜欢判定性语句(如"HRV 低 + 睡眠不足 = 恢复能力严重受损"),这些是 health_tool.py 的核心价值,不要把它们吞掉 ### iCloud 相关 1. 用户提到日历、照片、文件、设备时,直接调用对应工具执行 2. **任何 iCloud 操作报错(含 session 过期)时,按以下顺序自动处理,不要卡住**: - **第一步**:检查环境变量 `ICLOUD_USERNAME` 和 `ICLOUD_PASSWORD` 是否已设置 - **如果已设置** → 直接执行 `python scripts/icloud_tool.py login`,不要再问用户要密码 - **如果未设置** → 告知用户 session 过期,请求提供 Apple ID 邮箱和主密码 - **如果 login 触发 2FA**(退出码 2)→ 立刻告知用户查看 iPhone 验证码弹窗 - **用户发来验证码后** → 立刻执行 `python scripts/icloud_tool.py verify <验证码>` - ⛔ **严禁行为**:检测到 session 过期后只打印错误信息就停下来,必须立即尝试重新登录 3. **2FA 验证失败时**:如果 verify 命令输出 503 相关错误,**不要告诉用户密码错误**,应该说"Apple 服务器暂时繁忙,请等 1-2 分钟后重试"。脚本已内置自动重试,大多数情况下会自动恢复 4. **Find My 只能定位 Apple 设备**(iPhone/iPad/Mac/AirTag),无法定位安卓/华为等非 Apple 设备 5. **照片显示异常**:如果 `photos list` 返回的是很久以前的照片(不是最近的),说明 session 或 pyicloud 版本有问题。解决方案: - 确认环境变量 `ICLOUD_CHINA=1` 已设置(中国大陆用户必须) - 重新登录:`python icloud_tool.py login` + `verify` - 检查 pyicloud 版本:`pip install --upgrade pyicloud` --- ## 📋 功能参考 ### 🍎 Apple iCloud #### 照片 ```bash python icloud_tool.py photos albums python icloud_tool.py photos list 20 python icloud_tool.py photos download 1 ``` #### iCloud Drive ```bash 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 # 删除文件/文件夹 ``` #### 设备列表 ```bash python icloud_tool.py devices # 列出所有设备(型号、电量、状态) ``` #### 查找设备 (Find My) ```bash 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 "请归还" # 启用丢失模式 ``` #### 日历 (CalDAV) ```bash 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` 描述 #### Session 管理 ```bash # 登录(通过环境变量,非交互式) 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 # 清除 ``` --- ### 📋 待办同步 (Tasks) #### 管理待办 ```bash 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` 列表名 #### 同步 ```bash python tasks_tool.py sync # 上传到 iCloud Drive python tasks_tool.py sync --download # 从 iCloud 下载合并 ``` #### 定时任务 ```bash python setup_tasks_cron.py install # 安装定时任务(默认每晚 21:00) python setup_tasks_cron.py install --hour 22 # 安装定时任务(每晚 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 备忘录 (逐条创建) (每天一条,标题为日期) (导入后删除文件) (导入后删除文件) ``` --- ### 🏥 Apple Health #### 导入快捷指令 用 iPhone 打开 iCloud 链接添加快捷指令: https://www.icloud.com/shortcuts/94862224a4b64ca0bf037b89c8f81cb7 快捷指令每天自动采集 4 项健康数据(步数、活动能量、心率详细、睡眠详细), 保存为 TXT/JSON 到 iCloud Drive/Shortcuts/Health/。 #### 分析命令 ```bash 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: ```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"}, ...] } ``` #### 分析深度 - **运动与代谢**: 步数评估、每步能耗效率、活动强度判断 - **心率**: - 静息心率 / 夜间精确静息心率 - HRV (RMSSD) 自主神经系统评估 - 心率突变事件检测(精确到时间点) - 昼夜心率差异分析 - 按时段分布(夜间/上午/下午/晚间) - **睡眠**: - 睡眠周期完整性(Deep→REM 循环计数) - Deep/REM/Core 前后半夜分布对比 - 碎片化指数、睡眠效率 - 最长连续睡眠段、夜间醒来次数 - 入睡时间与褪黑素窗口评估 - **交叉关联**: - 低运动量 ↔ 低深度睡眠恶性循环检测 - 高运动量 + 睡眠不足 = 恢复失衡警告 - 心率偏高 + 低睡眠效率 = 慢性压力信号 - 晚睡 + 低活动量的昼夜节律紊乱 - **综合评定**: 0-100 分健康评分 + 等级判定 --- ## 🔐 凭证汇总 | 服务 | 凭证 | 环境变量 | 获取方式 | |------|------|---------|---------| | iCloud 日历 | 应用专用密码 | `ICLOUD_APP_PASSWORD` | appleid.apple.com →「应用专用密码」生成 | | iCloud 照片/Drive/设备/Health | Apple ID 邮箱 + 主密码 | `ICLOUD_USERNAME` + `ICLOUD_PASSWORD` | 用户直接提供给 AI,AI 通过环境变量自动登录 | | Apple Health | (不需要) | (不需要) | iPhone 打开 [iCloud 链接](https://www.icloud.com/shortcuts/94862224a4b64ca0bf037b89c8f81cb7) 导入快捷指令 | | 待办同步 | 复用 iCloud 凭证 | (同上) | 本地 `~/.openclaw/tasks.json` + iCloud Drive 同步 | --- ## ⚠️ 注意事项 1. **iCloud 中国大陆**:默认已启用 `ICLOUD_CHINA=1` 2. **iCloud Session**:缓存在 `~/.pyicloud/`,过期时询问用户是否重新登录 3. **云上贵州 2FA 说明**:中国大陆 iCloud(云上贵州)的 2FA 验证链路偶尔会出现 Apple 网关 503 错误。脚本已内置重试机制,如果仍然失败,等 1-2 分钟后重试即可。503 不是密码错误,是 Apple 服务器临时负载问题 4. **Apple Health 零凭证**:无需密码/token,通过 iCloud 链接导入快捷指令 5. **Apple Health 权限**:首次运行快捷指令需手动逐项授权(步数、心率、睡眠、活动能量) 6. **Apple Health 共享数据**:设置→快捷指令→高级→允许共享大量数据 7. **Health 报告时间**:必须晚于快捷指令的数据采集时间,否则数据不完整 8. **待办同步**:本地数据在 `~/.openclaw/tasks.json`,默认每晚 21:00 通过 launchd 自动上传(可通过 `setup_tasks_cron.py install --hour X` 自定义时间) 9. **Tasks/Notes iPhone 端**:Tasks Import 和 Notes Import 需设置在服务端推送时间之后执行(如服务端 21:00 → iPhone 22:15),各自读取对应文件夹中的 JSON 后删除文件 --- ## 📋 文件结构 ``` 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 # 同步日志 ```

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 openclaw-with-apple-1775887443 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 openclaw-with-apple-1775887443 技能

通过命令行安装

skillhub install openclaw-with-apple-1775887443

下载 Zip 包

⬇ 下载 OpenClaw with Apple v1.0.0

文件大小: 126.93 KB | 发布时间: 2026-4-12 10:51

v1.0.0 最新 2026-4-12 10:51
OpenClaw with Apple 1.0.0

- Initial release with full Apple iCloud access on Linux/Mac.
- Supports deep Apple Health data analysis, including heart rate, sleep, and activity.
- Enables bidirectional reminder (tasks) and notes sync: AI can write directly to iPhone Reminders/Notes.
- Automatic, strict action/note capturing: all user-stated tasks/notes are immediately synced (no confirmation required).
- Detailed setup workflows and enforcement rules for reminders, notes, and Health data are provided.
- Service includes easy iPhone automation/integration using Shortcut links and server-side scheduled task management.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部