Skip to content
项目

CodeWithCJ/SparkyFitness has 6,722 GitHub stars and 460 forks. GitHot measured +6 stars in 24 hours. Last checked 2026-11-07 10:34 UTC. Last push 2026-11-01.

这些数字如何统计

SparkyFitness: Built for Families. Powered by AI. Track food, fitness, water, and health — together.

可以做什么

  • Nutrition, exercise, hydration, sleep, fasting, mood and body measurement tracking
  • Goal setting and daily check-ins
  • Apple Watch and Wear OS apps: goals, water, weight, fasting, medications, workouts and watch face complications
  • Interactive charts and long-term reports

实测星标增长

24小时
+6
7天
更新延迟
15天
更新延迟
1个月
更新延迟

各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。

docs/readme/README_zh-CN.md

原文

English · 简体中文 · 繁體中文 · 日本語 · 한국어 · हिन्दी · ไทย · Français · Deutsch · Español · Italiano · Русский · Português (Brasil) · Nederlands · Polski · العربية · فارسی · Türkçe · Tiếng Việt · Bahasa Indonesia

SparkyFitness

一款可自托管、隐私优先的替代方案,可替代 MyFitnessPal、Flo、Hevy、Shotsy 等应用。记录营养、运动、身体指标和健康数据,同时完全掌控你自己的数据。 图片

SparkyFitness 是一个自托管的健身追踪平台,由以下部分组成:

  • 后端服务器(API + 数据存储)
  • 基于 Web 的前端
  • 适用于 iOS 和 Android 的原生移动应用

它在你掌控的基础设施上存储和管理健康数据,无需依赖第三方服务。

核心功能

  • 营养、运动、饮水、睡眠、断食、情绪和身体围度追踪
  • 目标设定与每日打卡
  • 交互式图表与长期报告
  • 多用户档案与家庭访问
  • 浅色与深色主题
  • OIDC、TOTP、Passkey、MFA 等

SparkyFitness 与其他应用对比

SparkyFitness 是源码可用(source-available)而非开源软件 —— 其许可证为非商业许可,商业使用需获得许可。

大多数应用只做一件事。一款好用的营养应用每年要花 40–100 美元;想要覆盖 SparkyFitness 的全部功能,每人需要订阅三四个服务,而且仍然无法在它们之间生成统一的报告。SparkyFitness 在一个应用中全部搞定,免费,全家都能用。

美国标价,2026 年 8 月 14 日。完整费用明细 →

SparkyFitness wger MyFitnessPal Cronometer Hevy Zero Flo Garmin Connect Google Health
自托管,数据始终属于你 ⭐ ✅ ❌ ❌ ❌ ❌ ❌ ❌ ❌
无订阅、无广告 ✅ ✅ ❌ 🟡 🟡 ❌ ❌ ✅ 🟡
营养、力量训练、睡眠、断食、生理周期和用药集于一处* ⭐ 🟡 🟡 🟡 ❌ ❌ ❌ 🟡 🟡
完整历史记录与自定义日期范围报告 ✅ 免费 🟡 💰 💰 💰 💰 💰 ✅ 💰
可穿戴设备与健康平台同步 ✅ 8+ 项服务 ❌ ✅ ⭐ ✅ 🟡 🟡 🟡 ✅
带精细权限的家庭共享 ⭐ 7 种权限 ❌ ❌ 🟡 ❌ ❌ ❌ 🟡 🟡
CSV 导入与免费数据导出 ✅ 🟡 💰 ✅ ✅ 🟡 🟡 🟡 ❌
MCP 服务器 + 自带 LLM ⭐ 🟡 ❌ ❌ ❌ ❌ ❌ ❌ ❌

⭐ 突出  •  ✅ 支持  •  🟡 部分支持  •  💰 仅限付费版  •  ❌ 不支持

* 睡眠阶段、HRV 和血糖数据从你的手表、手机或血糖仪导入。SparkyFitness 负责存储、分析并绘制图表,而不是自行测量。

此表由被比较的项目自己编写,请据此阅读。 已于 2026 年 8 月 14 日对照官方文档、代码仓库和应用商店页面进行核对;其中部分内容可能已经过时。如果某个单元格有误或对其他项目不公平,请提交 issue —— 让 SparkyFitness 看起来更差的更正同样欢迎。

查看完整对比 → —— 涵盖自托管、营养、专业和设备生态等类别的 17 款应用,以及它们各自胜过我们的地方。

健康与设备集成

SparkyFitness 可以从多个健康与健身平台同步数据:

  • Apple Health (iOS)
  • Google Health Connect (Android)
  • Google Health API
  • Fitbit
  • Garmin Connect
  • Withings
  • Polar Flow
  • Oura
  • Hevy
  • OpenFoodFacts
  • USDA
  • Fatsecret
  • Nutritionix
  • Mealie
  • Tandoor
  • Strava(部分测试)
  • COROS
  • Norish
  • Yazio(使用非官方 API)
  • Swiss Food Database
  • Canadian Nutrient File (Health Canada)
  • Swedish Food Agency (Livsmedelsverket)
  • Free Exercise DB (Github)
  • Wger

集成会自动将步数、训练和睡眠等活动数据,以及体重和身体围度等健康指标同步到你的 SparkyFitness 服务器。

可选 AI 功能(Beta)

SparkyAI 提供对话式界面,用于记录数据和查看进度。

  • 通过聊天记录饮食、运动、身体数据和步数
  • 上传食物图片即可自动记录餐食
  • 保留对话历史,方便后续追问

注意:AI 功能目前处于 Beta 阶段。

安装

从以下两种方式中选择一种来运行 SparkyFitness:

1. 自托管

使用 Docker Compose 在几分钟内运行 SparkyFitness 服务器:

# 1. 创建一个新文件夹
mkdir sparkyfitness && cd sparkyfitness

# 2. 下载 docker-compose.yml
curl -L -o docker-compose.yml https://raw.githubusercontent.com/CodeWithCJ/SparkyFitness/main/docker/docker-compose.prod.yml

# 3. 设置你的 .env 配置(任选其一):
# 选项 A(推荐):在浏览器中一键生成带安全密钥的自定义 .env:
# 👉 https://codewithcj.github.io/SparkyFitness/install/env-generator

# 选项 B:最简模板 —— 只需 5 个值,其余均使用
# docker-compose 已应用的默认值。适用于大多数自托管安装。
curl -L -o .env https://raw.githubusercontent.com/CodeWithCJ/SparkyFitness/main/docker/.env.simple.example

# 选项 C:完整参考 —— 包含所有受支持的变量,均已注释并附带
# 默认值。如需 SSO、SMTP、外部数据库或反向代理,请从这里开始。
# curl -L -o .env https://raw.githubusercontent.com/CodeWithCJ/SparkyFitness/main/docker/.env.example

# 4. 替换占位符(如果使用了选项 A 可跳过 —— 生成器
# 已经填好了这些值)。如果保持原样,服务器将拒绝启动,
# 否则数据库也会使用公开的密码进行初始化。
#   SPARKY_FITNESS_DB_PASSWORD        任意强密码
#   SPARKY_FITNESS_API_ENCRYPTION_KEY openssl rand -hex 32     (64 个十六进制字符)
#   BETTER_AUTH_SECRET                openssl rand -base64 32  (44 个字符)
#   SPARKY_FITNESS_FRONTEND_URL       你将用来打开应用的 URL

# 5. 启动应用
docker compose pull && docker compose up -d

# 通过 http://localhost:3004 访问应用

注意:如需完整的配置选项、反向代理和其他安装方式,请访问文档站点。

2. 云端(适合非技术用户)

如果你不是技术用户,也不想在自己的服务器上运行 SparkyFitness,可以使用以下任一服务商在云端部署托管实例。

在 PikaPods 上运行
使用 Zenith 部署

注意: 这些均为独立的第三方服务。建议你了解各服务商提供的功能,以确定最适合你需求的那一家。

🎥 视频教程

观看视频

2 分钟快速教程,演示如何安装 SparkyFitness(自托管健身追踪器)。

文档

如需完整的安装指南、配置选项和开发文档,请访问我们的文档站点。

快速链接

需要帮助?

  • 在 Github issues/discussion 中发帖。
  • 如需更快的响应并获得其他社区成员的帮助,加入我们的 Discord

Star 历史

翻译

Weblate 翻译

翻译状态

翻译状态

仓库动态

贡献者

⚠️ 已知问题 / Beta 功能 ⚠️

SparkyFitness 正在积极开发中。 不同版本之间可能会出现破坏性变更。

  • 不建议自动更新容器
  • 升级前请务必阅读发布说明

以下功能目前处于 Beta 阶段,可能尚未经过充分测试。可能存在 bug 或功能不完整:

  • AI 聊天机器人
  • 家人与朋友访问
  • API 文档

这是英文 README 的翻译版本。如有任何不一致之处,以英文版本为准。

探索相关项目