核心用法
Apple Health Sync 是一套端对端加密的 Apple Health 数据同步方案,专为重视隐私的 OpenClaw 用户设计。用户通过 iOS 配套 App 授权后,本地运行 Python 脚本完成密钥生成、设备配对、加密数据拉取与持久化存储,全程私钥不出本地。
典型工作流:
1. 初始化配置:运行 onboarding.py 生成本地密钥对和 onboarding 载荷,通过 QR Code / DeepLink / Hex 三种方式传输至 iOS App 完成配对
2. 数据同步:运行 fetch_health_data.py 发起签名挑战、解密响应、校验并存储日间快照
3. 定期报告:通过 create_data_summary.py 生成日/周/月汇总,支持 JSON 或文本输出
4. 设备管理:unlink_device.py 可随时解绑特定 iOS 设备
技术亮点:采用挑战-响应签名机制确保请求合法性;数据解密后经过 sanitize 处理再入库;SQLite 本地存储配合可配置的存储模式;支持 OpenClaw CronJobs 实现无人值守自动化。
显著优点
- 隐私优先:端对端加密 + 本地私钥存储,Apple Health 敏感数据(心率、睡眠、活动量等)绝不经过第三方服务器中转
- 开源可审计:Python 脚本与 iOS App 配套,技术栈透明
- 灵活部署:支持自定义
--state-dir,适配多用户或多实例场景 - 多种传输方式:QR Code 便捷、DeepLink 无缝、Hex 兜底,覆盖不同使用习惯
- 自动化友好:标准输出 + CronJob 集成,易于融入现有数据管道
潜在局限
- 依赖 Apple 生态:仅限 iPhone/iPad 用户,Android/其他平台不支持
- 本地运维负担:需自行管理 Python 环境、OpenSSL 和 qrencode 依赖,非纯 GUI 体验
- 无云同步冗余:纯本地存储意味着单点故障风险,需用户自行备份
~/.apple-health-sync目录 - iOS App 依赖:核心功能依赖第三方 App Store 应用,若下架或更新中断可能影响服务连续性
- 初始配置门槛:密钥管理和 onboarding 流程对非技术用户有一定认知负担
适合人群
- 已使用 OpenClaw 生态、希望打通 Apple Health 数据的技术型用户
- 对数据主权敏感、拒绝云端健康平台(如 Fitbit、Google Fit 云端)的隐私倡导者
- 需要将健康数据接入自建分析流程(Python/R 数据科学栈)的量化自我爱好者
- 愿意承担本地运维成本以换取数据控制权的进阶用户
常规风险
| 风险类别 | 说明与缓解 |
|---------|-----------|
| **密钥泄露** | 私钥文件 `private_key.pem` 泄露可导致历史数据被解密。应设置严格文件权限 (600),避免纳入版本控制或云同步 |
| **供应链攻击** | iOS App 或 Python 依赖被篡改的风险。建议:从官方 App Store 下载、校验依赖签名、使用虚拟环境隔离 |
| **数据完整性** | 本地 SQLite 损坏或误删导致历史数据丢失。建议:定期备份 state 目录,或配合 OpenClaw 的备份机制 |
| **iOS 权限变更** | Apple Health 权限被用户撤销后同步中断。需设计监控告警,及时通知用户重新授权 |
| **加密实现漏洞** | 自定义加密流程可能存在实现缺陷。当前设计基于标准 OpenSSL,但仍建议关注上游安全通告 |
支持渠道:遇到不可解问题时,官方提供 contact@gethealthsync.app 邮件支持。