这个项目能做什么
SparkyFitness 是一个自托管的健身与健康追踪平台,定位为 MyFitnessPal、Flo、Hevy 和 Shotsy 等应用的隐私优先替代方案。它由后端服务器(API 加数据存储)、Web 前端以及原生 iOS 和 Android 应用组成,并将健康数据保存在用户自己控制的基础设施上。
核心追踪涵盖营养、运动、饮水、睡眠、断食、情绪和身体测量,以及目标设定、每日签到、交互式图表和长期报告。它支持多个用户配置与家庭访问、浅色和深色主题,以及包括 OIDC、TOTP、通行密钥和 MFA 在内的身份验证选项。
列出的健康与设备集成包括 Apple Health、Google Health Connect、Google Health API、Fitbit、Garmin Connect、Withings、Polar Flow、Oura、Hevy、Strava(部分测试)、Yazio(非官方 API),以及 OpenFoodFacts、USDA、Fatsecret、Nutritionix、Mealie、Tandoor、Norish、Swiss Food Database、Free Exercise DB 和 Wger 等食物数据库。这些会同步步数、锻炼和睡眠等活动数据,以及体重和身体测量数据。睡眠阶段、HRV 和血糖是从外部设备导入的,而不是由该应用测量的。
可选的测试版 AI 功能(SparkyAI)提供对话式界面,用于记录食物、运动、身体数据和步数,包括上传食物图片以自动记录餐食,并保留对话历史。README 还提到了 MCP 服务器和自带 LLM 支持。
安装主要通过 Docker Compose 进行:创建一个文件夹,下载生产用 compose 文件,配置 .env 文件(提供基于浏览器的生成器、最小五项值模板或完整参考),设置所需密钥,例如数据库密码、API 加密密钥、认证密钥和前端 URL,然后运行 docker compose pull 和 up,通过端口 3004 访问应用。非技术用户可以通过第三方托管提供商 PikaPods 或 Zenith 进行部署。文档、安装指南、交互式 .env 生成器、功能文档和开发者指南托管在单独的文档站点上,并提供简短的视频教程和 Discord 社区支持。
许可明确为源码可用而非开源:该许可证为非商业用途,商业使用需要获得许可。README 包含一份自行编写的对比表,与 wger、MyFitnessPal、Cronometer、Hevy、Zero、Flo、Garmin Connect 和 Google Health 进行对比,并指出该表由项目自身编写,可能已经过时。
该项目正在积极开发中,警告各版本之间可能会出现破坏性变更,建议不要自动更新容器,并将 AI 聊天机器人、家人和朋友访问以及 API 文档标记为测试版。翻译通过 Weblate 管理。
评论
0 评分人数达到10人后显示
登录后参与讨论。