01. 前言:Apple Health 的数据围城

导出过 Apple 健康数据的朋友都深有体会:苹果给我们的不仅是数据,更是一道技术门槛。

1、文件巨大: 数 GB 的 导出.xml

2、格式混乱: 记事本打不开,Excel 内存溢出。

3、AI 难读: 原始 XML 的层级结构让 LLM在处理长周期趋势时产生幻觉。

为打破这道门槛,我开发了Apple Health Pro🍎 


02. 用户指南:3 步实现“健康数据自由”

第一步:iPhone 端的原始导出

在健康 App 中点击头像 -> “导出所有健康数据”。这一步你将得到一个 导出.zip

第二步:Apple Health Pro 精准洗数

启动应用(支持 macOS 和 windows 双平台)

1、加载: 点击 SELECT DATA ARCHIVE

2、过滤: 在 IDENTIFIED SOURCES 列表中勾选你信任的来源,剔除冗余的第三方 App 记录。

3、执行: 点击 EXECUTE EXPORT

第三步:让 AI 成为你的“数字私人医生”

导出的 CSV 经过了维度归纳(心率、呼吸、睡眠等 7 大类以及 8.3.0 新增的对跑步、游泳、骑行三个运动的细化指标提取)。你可以直接将这些文件喂给 ChatGPT或 Gemini等等,配合我推荐的提示词

[你是一名具备运动生理学、 心血管医学 和健康数据建模能力的专业分析师。我将提供Apple Health原始数据(CSV),请基于数据进行接近专业体检级别的分析,并严格按照以下结构输出:首先给出【一句话结论】,直接判断整体健康状态(健康 / 亚健康 / 风险状态),不得模糊;然后进行【生理系统拆解分析】,从心血管系统(心率、HRV、静息心率)、神经系统(基于HRV分析交感/副交感平衡)、睡眠恢复系统、代谢与活动水平四个层面分析,必须解释背后的生理机制而非表象;接着进行【趋势建模】,基于时间序列判断是否存在周期性波动、长期改善或恶化趋势]


03. 技术深挖:我是如何驯服“数据巨兽”的?

你一定好奇这套引擎是如何搭建的。

⚡️核心突破:内存流式解析

传统的 DOM 解析会将整个 XML 加载到内存,面对 2GB 的文件,8GB 内存的电脑会瞬间崩溃。

我采用了 xml.etree.ElementTree.iterparse 方案:

1、空间复杂度优化: 内存占用不再随文件体积增长,峰值始终保持在约 90MB

2、清除缓存: 在解析完每一个 Record 节点后,通过 elem.clear() 立即释放内存。


🎨 视觉方案:跨平台的 PyQt6 适配

为了实现极致的视觉体验,我在 UI 层做了以下工作:

1、调色盘: 全局注入 #9B2C2C

2、响应式布局: 确保 Windows 和 macOS 都能完美呈现深色模式。


📦 工业级打包

一个成熟的项目,打包流程和源码同样重要:

1、Windows: 使用 Inno Setup 编写安装脚本,注入版权信息,制作单文件安装包。

2、macOS: 封装为 DMG 格式,实现“拖拽即安装”的原生体验。


04. 开源与未来

目前项目已在 GitHub 开源,欢迎各位 Star 指教。

GitHub 地址 leecdiang/Apple-Health-Pro
未来计划: 支持更多运动指标提取,图标显示数据 ..

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐