一部 iPhone 健身中枢把训练、营养、睡眠和身体成分连接在隐私保护盾之后。

FitMe:以隐私为先的 iPhone 健身中枢

FitMe 将训练、营养、恢复和身体成分集中到一个 iPhone 健身中枢中,并以本地规则、保护隐私的群体 AI 和明确的源码构建流程为核心。

要点摘要
  • FitMe 把训练、营养、恢复、身体成分和统计数据集中到一款以 iPhone 为中心的 SwiftUI 应用中。
  • 训练模块包含 87 个动作、6 天推拉腿计划、逐组 RPE、个人纪录检测、Epley 1RM 和带触感反馈的休息计时器。
  • 截至检查时没有公开的 App Store 条目,也没有 GitHub Release,因此正确的安装方式是从源码构建 Xcode 项目。
  • 本地规则之后可以接入分桶的云端群体分析和设备端 Foundation Models;同步与服务商仍需单独审查隐私边界。

很多健身应用会用更多个人背景数据换取更多便利。FitMe 选择了相反的起点:把训练、营养、恢复和身体成分放进一个 iPhone 健身中枢,同时让数据流尽可能留在本地且清晰可见。项目 README 将它定位为隐私优先、使用联邦式 AI 的应用,而不是默默吸收完整个人档案的云端仪表盘。

FitMe 是产品名,GitHub 仓库仍然叫 FitTracker2。它是 Regev Barak 开发的开源 SwiftUI iOS 项目,当前应以 GitHub 仓库为准。配套的 FitMe showcase负责讲清产品叙事和架构,但最新的设置要求与代码都在仓库中。

它能做什么

训练是应用的核心。仓库介绍了一个包含 87 个动作的训练库,以及 6 天推拉腿训练安排;用户可以逐组记录重量、次数和 RPE。悬浮休息计时器提供触感反馈,个人纪录检测帮助标记进步,Epley 公式则估算单次最大重量,让一次训练既能成为日志,也能沉淀为长期力量趋势。

营养模块与训练上下文相连,而不是单独的卡路里笔记。动态宏量营养目标可以根据训练日和计划阶段调整;餐食可以手动输入、从模板添加、通过英文或希伯来文标签 OCR 录入,或者使用 Open Food Facts 条码查询。补剂连续记录,以及训练日和休息日不同的饮水目标,也属于日常管理的一部分。

恢复和身体指标补上了许多单纯训练记录应用缺少的上下文。HealthKit 可以提供心率、HRV、VO2 Max 和睡眠阶段;Xiaomi S400 智能秤可以提供 10 项身体成分指标。FitMe 将准备度评分描述为 HRV 占 40%、静息心率占 30%、睡眠占 30%,并通过 Recovery Studio 在身体尚未准备好时给出低强度替代方案。

如何安装

截至检查时,FitMe 没有公开的 App Store 条目,GitHub 仓库也没有可下载的公开 Release 资源。README 给出的路径是使用 Xcode 16 或更高版本打开 Xcode 项目,并以 iOS 17.0 及以上为部署目标。因此这篇文章应把源码构建作为诚实的主要安装方式;不要把仓库当成已经打包好的 IPA 下载页。

# Clone the source repository:
git clone https://github.com/Regevba/FitTracker2.git
cd FitTracker2

# Open in Xcode 16+, select an iOS 17+ simulator or device,
# then run the FitTracker scheme.
open FitTracker.xcodeproj

这是面向开发者的设置流程,不是一键安装的消费级下载。你需要 Xcode 16 或更高版本、iOS 17 或更高版本的模拟器或设备,以及仓库针对可选服务的配置说明。HealthKit 权限会在运行时请求,认证、同步和分析服务还需要各自配置。建议先用模拟器或测试设备运行,不要把生产环境密钥写进公开检出的代码目录。

如何使用

Today 页面适合作为每天的入口:准备度、当前训练计划、宏量营养和饮水目标,以及下一步要做的事情,都可以在一个页面查看。训练时逐组记录重量、次数和 RPE;需要固定休息时使用计时器,然后让应用根据本次训练计算个人纪录和估算的单次最大重量。

实际使用是一个循环。训练日会改变营养和饮水上下文,恢复数据可以帮助判断计划中的训练是否合适,而完成的训练又会进入统计页面。统计支持日、周、月、3 个月和 6 个月等窗口,覆盖 18 项指标,因此不必用一次表现很好的训练代表全部进展。

iPhone
├─ SwiftUI views
├─ EncryptedDataStore
│  ├─ AES-256-GCM + ChaCha20-Poly1305
│  └─ Keychain / Secure Enclave
├─ HealthKit service
├─ AI Orchestrator
│  ├─ local rules
│  ├─ cloud cohort (banded, k≥50)
│  └─ Foundation Models (iOS 26+)
└─ encrypted .ftenc sync → CloudKit / Supabase

FitMe 的隐私承诺会在设置里变得具体。项目文档描述了加密的本地数据、通过 Keychain 和 Secure Enclave 控制的生物识别访问、可选的 HealthKit 集成,以及零知识同步设计:服务器拿到的是加密的 .ftenc 数据块,而不是可直接读取的健身记录。Apple 登录和 Passkeys 都可以作为认证方式,但开启账号并不等于可以忽略每一项已启用服务的数据路径。

Morning
├─ sleep + HRV + resting heart rate
├─ readiness score
├─ training-day macros and hydration target
└─ today's workout / Recovery Studio

During the day
├─ log sets, RPE, meals and supplements
├─ optional barcode / OCR entry
└─ keep the data local unless sync is enabled

Evening
└─ review trends and prepare tomorrow's plan

关于截图

公开 README 目前仍把详细演示截图标为 coming soon,所以还没有一套完整截图可以证明每个页面都已完成。showcase 网站提供产品叙事和架构图,本文封面是编辑用插画,不是应用实际截图。要判断当前版本真正能做什么,应以仓库中的构建结果和文档为准。

底层如何工作

FitMe 的存储设计不是把“登录”和“隐私”画等号,而是叠加了多层保护。仓库描述了 AES-256-GCM 和 ChaCha20-Poly1305 加密、HMAC-SHA512 完整性保护,以及 Keychain 或 Secure Enclave 的生物识别访问控制。CloudKit 私有数据库和 Supabase 可以承载同步路径,但设计目标是让服务拿到加密数据块,而不是能直接读取的普通健身数据库。

AI 路径采用置信度分层,而不是始终运行一个巨型模型。第一层是本地规则;第二层是只有在群体达到 k≥50 时才提供分桶数值的云端群体分析;第三层是 iOS 26 及更高版本上的设备端 Foundation Models。这样可以在减少上传原始个人测量值的同时提供建议,也能在远程服务或新模型不可用时退回离线方案。

仓库与 Release

在 FitTracker2 仓库中,可以看到 SwiftUI 应用、令牌检查、文档、AI-engine,以及围绕客户端的 dashboard 和服务部分。README 列出了 HealthKit、Apple 登录与 Supabase OAuth、Passkeys、CryptoKit、CloudKit 私有数据库、Supabase Postgres/Realtime、Railway 上的 FastAPI 服务、Foundation Models,以及带同意控制的 Firebase Analytics。这个仓库的范围比单个 iPhone 目标更大。

本次检查没有发现可供固定版本的公开 Release;可用的版本标记是当前 main 分支和文档中的 iOS 17.0+ 部署目标。源码构建会随着仓库变化,可选后端也可能需要 Xcode 项目本身没有体现的配置。考虑投入生产前,应阅读 docs/setup/ 以及相关法律文档。

构建前可以验证什么

谨慎的第一次运行并不复杂:阅读仓库 README,确认 iOS 部署目标和 Xcode 版本,检查设置文件中需要的服务配置;如果你要参与开发,再运行项目提供的本地校验命令。然后判断自己是否真的需要 HealthKit、云同步、Passkeys、分析和 AI 功能。关闭不需要的集成,并在导入完整健康历史前先测试删除与导出行为。

它的局限

最大限制是分发。没有 App Store 版本,也没有 GitHub Release 资源,非开发者需要安装 Xcode、解决项目配置,并为模拟器或设备签名。对于仍在开发中的开源项目,这很正常,但它与从 App Store 下载一款完成度较高的健身产品是两种体验。

第二个限制来自平台和数据依赖。HealthKit、Foundation Models、Passkeys、云同步和 Xiaomi 体脂秤分别有设备、系统、账号或硬件条件。应用可以把它们整合成一个中枢,但当来源设备不提供睡眠阶段、HRV 或身体成分时,应用也不能凭空生成这些数据。准备度评分是决策辅助,不是医疗建议。

最后,隐私是配置边界,而不只是营销标签。本地加密和零知识同步是有价值的设计,但一旦启用 Supabase、Railway、Firebase、Apple 认证或群体服务,它们就会成为外部系统。健康数据还涉及同意和留存问题:应阅读隐私政策,了解删除与导出行为,不要把实验性构建当作临床记录或诊断工具。

许可证允许什么

FitMe 使用 MIT 许可证发布。只要在重新分发的大量代码中保留版权和许可证声明,你就可以查看、修改和再分发仓库代码,也可以将其用于商业或闭源产品。MIT 不要求你公开自己的修改。

这个许可覆盖的是项目代码,并不会自动覆盖 Apple SDK、下载的 Foundation Models、Open Food Facts 数据、Supabase 或 Railway 服务、Firebase,以及其他依赖。它们都有各自的条款。HealthKit 数据还受 Apple 平台规则约束,读取和写入个人健康信息时也要满足相应的同意要求。

值得构建吗

如果你想把训练、宏量营养、恢复和身体成分放进一个可以检查的 iPhone 工作区,FitMe 是一个有野心、且把隐私架构写得相当清楚的开源项目。可以从 FitTracker2 源码构建,先使用本地规则和设备实际支持的功能,再在确认数据路径后添加同步或群体 AI。它适合重视控制权、愿意使用 Xcode 的开发者;目前还不是一个可以无摩擦替代 App Store 下载的成品。

项目概况

许可证
MIT
平台
iOS 17.0 及更高版本;Foundation Models 功能需要 iOS 26 及更高版本
开发语言
Swift 5、SwiftUI、HealthKit、CryptoKit
查看版本
main(检查于 2026-09-21)

安装

# Clone the source repository:
git clone https://github.com/Regevba/FitTracker2.git
cd FitTracker2

# Open in Xcode 16+, select an iOS 17+ simulator or device,
# then run the FitTracker scheme.
open FitTracker.xcodeproj

许可说明

仓库中的应用代码采用 MIT 许可。Apple 框架、下载的模型、Supabase、Firebase 和外部服务商各自保留自己的条款与数据处理方式。