exercises-dataset
1324条结构化健身动作数据,6语种完整指令,浏览器即开即用
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
1324条结构化健身动作数据,6语种完整指令,浏览器即开即用
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
如果你正在开发一款健身 App,第一件事是什么?大多数人会面临一个看似简单却极其繁琐的任务——收集并整理运动数据。
卧推怎么做?杠铃划船发力顺序是什么?「超人式」需要哪些肌肉参与?这些信息网上能找到,但要把它们结构化、标准化、翻译成多语言,再配上肌肉图解……一个人埋头做,没两周下不来。
Exercises Dataset 解决的就是这个问题。它直接提供 1,324 条结构完整的健身动作数据,包含动作名称、目标肌群、辅助肌群、所需器械、步骤说明(6 种语言),以及对应的媒体素材 ID。开发者下载即用,无需从零构建数据库。

图 1:杠铃卧推(Barbell Bench Press)— 胸部训练王牌动作,来源 ExerciseDB CDN
Exercises Dataset 并非凭空产生,而是站在巨人肩膀上的二次加工项目。
其底层数据源自 AscendAPI 开源的 ExerciseDB v1,该数据库最初通过 Kaggle 由用户 omarxadel 重新打包分发。Exercises Dataset 在此基础上补充了 5 种语言(中/英/西/意/土/俄)的完整动作指令翻译,并增加了两个可直接使用的 HTML 工具——开发者向导和动作浏览器。
项目作者 hasaneyldrm 在 GitHub README 中坦率说明了数据集面临的一个复杂性:媒体素材(动作图片和 GIF 动画)的版权归属存在多方争议,因此仓库中不直接包含这些媒体文件。每个动作记录保留了原始 ExerciseDB 的 media_id 标识,指向官方 CDN 路径。开发者如需使用媒体,需自行与 ExerciseDB 确认授权。
这种坦诚值得肯定——在健身内容版权普遍模糊的当下,明确告知数据来源和使用边界,比很多「拿来就用」的数据集更负责任。
项目最核心的文件是 data/exercises.json,体积 9.4MB,包含 1,324 条健身动作记录。每条记录的结构如下:
| 字段 | 说明 | 示例 |
|---|---|---|
id | 唯一标识 | "0001" |
name | 动作名称 | "Barbell Bench Press" |
category / body_part | 身体部位分类 | "chest" |
equipment | 所需器械 | "barbell" |
target | 主要目标肌群 | "pectoralis major" |
muscle_group | 协同肌群 | "triceps" |
secondary_muscles | 辅助肌群数组 | ["triceps", "anterior deltoids"] |
instructions.* | 6 语种步骤说明 | 见下方示例 |
media_id | 原始媒体 ID | "EIeI8Vf" |
image / gif_url | 本地路径(均为 null) | 媒体未包含 |
6 语种步骤说明示例(仰卧起坐,ID: 0001):
{
"instructions": {
"en": "Lie flat on your back with your knees bent...",
"es": "Túmbate sobre tu espalda con las rodillas flexionadas...",
"it": "Sdraiati sulla schiena con le ginocchia piegate...",
"tr": "Sırt üstü yatın, dizlerinizi bükün...",
"ru": "Лягте на спину, согните колени...",
"zh": "平躺,膝盖弯曲,双脚平放在地上..."
}
}
从数据规模看,上肢(292)、大腿(227)、背部(203)是覆盖最充分的部位,颈部(2)和心肺(29)相对薄弱。器械方面,徒手(325)和哑铃(294)最多,Smith 机(48)和药球(23)最少——这基本符合主流健身场景的分布规律。
项目最大的亮点不是数据集本身,而是两个即开即用的 HTML 工具,完全不需要安装任何运行环境。
这是一个完全运行在浏览器端的交互式健身百科,支持:
由于媒体文件未包含在仓库中,图片和 GIF 区域显示为空——这是已知限制。如果开发者接入了 ExerciseDB CDN(每条记录的 media_id 可直接拼接为 https://static.exercisedb.dev/media/{media_id}.gif),界面会立刻丰富起来。

图 2:杠铃深蹲(Barbell Full Squat)— 下肢训练王牌,来源 ExerciseDB CDN
这是整个项目最有野心的部分——一个完全在浏览器中运行的数据库生成器:
.sql 文件,可直接导入生产数据库这个向导的设计思路非常聪明:数据准备好了还不够,开发者最费时的其实是「把数据接进自己的系统」这一步骤。setup.html 把这个步骤压缩成了一个浏览器内的交互式向导。
从部署角度看,这是最容易上手的数据类项目之一。
| 维度 | 评估 |
|---|---|
| 部署难度 | 极简 — 下载仓库 → 浏览器打开 index.html |
| 服务器依赖 | 无 — 纯静态,无需任何后端 |
| 硬件需求 | 任意能打开浏览器的设备 |
| 部署时间 | 即开即用,下载即完成 |
对于普通用户,直接打开 index.html 就能浏览和搜索 1,324 个健身动作。对于开发者,setup.html 生成的 SQL 文件导入数据库后,配套的 API 调用代码可以立即接入自己的应用层。
当然,媒体文件需要额外处理。仓库不包含图片和 GIF,开发者有两个选择:通过 media_id 调用 ExerciseDB CDN(需确认授权),或自行准备媒体素材。这是使用该数据集时必须解决的最后一公里问题。
虽然作者明确说明了版权争议,但 media_id 指向的 ExerciseDB CDN 本身是否存在商业使用授权,并未在项目中明确说明。开发者若将 static.exercisedb.dev 的资源用于商业产品,建议另行确认授权条款。
category 和 body_part 两个字段在数据中完全相同(均为身体部位),存在字段冗余;image 和 gif_url 字段在仓库中始终为 null,却仍然保留在每条记录中,增加了 JSON 体积而无实际用途。这些属于数据清理不到位,对使用影响不大但不够干净。
仓库中没有任何测试文件(.test.js / test_*.py 等),数据质量完全依赖上游 ExerciseDB。如果原始数据中存在错误动作描述,不会被自动发现。
Exercises Dataset 的出现,本质上解决的是「健身内容结构化」这个基础设施问题。
在健身 App 赛道,Keep、Fitbod、NTC 等成熟产品无一不拥有自建的健身动作数据库。Exercises Dataset 的价值在于:它把数据库建设的前置工作开源化,让中小团队和个人开发者不必从零标注1,000+条动作数据。
从技术视角看,这个项目的意义不在代码本身,而在于数据的完整性和多语言覆盖度。1324 条动作 × 6 种语言 × 完整的肌肉/器械分类,这在同类开源数据集中属于较高密度。setup.html 提供的 LLM 后端生成功能更是一个被低估的亮点——它把「AI 辅助开发」的理念真正落地到了数据层。
增长曲线方面,该仓库于 2026 年 3 月创建,6 个月内积累了 6,500+ stars,说明市场对健身动作结构化数据有明确需求。随着全球化健身 App 的增长,对多语言健身内容的需求只会持续上升。
一句话总结:如果你正在开发健身相关产品,这个数据集值得优先评估;如果你不需要媒体素材,它已经是开箱即用的完整解决方案。