{/* 此页面由 website/scripts/generate-skill-docs.py 从技能的 SKILL.md 自动生成。请编辑源文件 SKILL.md,而非此页面。 */}
健身营养
健身房训练计划与营养追踪。通过 wger 按肌肉、设备或分类搜索 690+ 种练习。通过 USDA FoodData Central 查询 380,000+ 种食物的宏量和热量。计算 BMI、TDEE、单次最大重量、宏量营养分配和体脂率 —— 纯 Python,无需 pip 安装。专为追求增肌、减脂或改善饮食的人设计。
技能元数据
| 来源 | 可选 —— 使用 hermes skills install official/health/fitness-nutrition 安装 |
| 路径 | optional-skills/health/fitness-nutrition |
| 版本 | 1.0.0 |
| 许可证 | MIT |
| 平台 | linux, macos, windows |
| 标签 | health, fitness, nutrition, gym, workout, diet, exercise |
参考:完整 SKILL.md
:::info 以下是 Hermes 在触发此技能时加载的完整技能定义。这是技能激活时代理所看到的指令。 :::
健身与营养
专业健身教练和运动营养师技能。两个数据源加离线计算器 —— 健身房爱好者所需的一切。
数据源(全部免费,无 pip 依赖):
- wger(https://wger.de/api/v2/)—— 开放练习数据库,690+ 种练习含肌肉、设备、图片。公共端点无需认证。
- USDA FoodData Central(https://api.nal.usda.gov/fdc/v1/)—— 美国政府营养数据库,380,000+ 种食物。
DEMO_KEY立即可用;免费注册可获得更高限制。
离线计算器(纯标准库 Python):
- BMI、TDEE(Mifflin-St Jeor)、单次最大重量(Epley/Brzycki/Lombardi)、宏量营养分配、体脂率(美国海军方法)
使用时机
当用户询问以下内容时触发此技能:
- 练习、训练、健身流程、肌肉群、训练分化
- 食物宏量、热量、蛋白质含量、膳食计划、热量计算
- 身体成分:BMI、体脂、TDEE、热量盈余/赤字
- 单次最大重量估算、训练百分比、渐进超负荷
- 减脂、增肌或维持的宏量营养比例
操作步骤
练习查询(wger API)
所有 wger 公共端点返回 JSON,无需认证。练习查询始终添加 format=json 和 language=2(英语)。
第 1 步 —— 确定用户需求:
- 按肌肉 → 使用
/api/v2/exercise/?muscles={id}&language=2&status=2&format=json - 按分类 → 使用
/api/v2/exercise/?category={id}&language=2&status=2&format=json - 按设备 → 使用
/api/v2/exercise/?equipment={id}&language=2&status=2&format=json - 按名称 → 使用
/api/v2/exercise/search/?term={查询}&language=english&format=json - 完整详情 → 使用
/api/v2/exerciseinfo/{exercise_id}/?format=json
第 2 步 —— 参考 ID:
练习分类:
| ID | 分类 |
|---|---|
| 8 | 手臂 |
| 9 | 腿部 |
| 10 | 腹部 |
| 11 | 胸部 |
| 12 | 背部 |
| 13 | 肩部 |
| 14 | 小腿 |
| 15 | 有氧 |
肌肉:
| ID | 肌肉 | ID | 肌肉 |
|---|---|---|---|
| 1 | 肱二头肌 | 2 | 三角肌前束 |
| 3 | 前锯肌 | 4 | 胸大肌 |
| 5 | 腹外斜肌 | 6 | 腓肠肌 |
| 7 | 腹直肌 | 8 | 臀大肌 |
| 9 | 斜方肌 | 10 | 股四头肌 |
| 11 | 股二头肌 | 12 | 背阔肌 |
| 13 | 肱肌 | 14 | 肱三头肌 |
| 15 | 比目鱼肌 |
设备:
| ID | 设备 |
|---|---|
| 1 | 杠铃 |
| 3 | 哑铃 |
| 4 | 健身垫 |
| 5 | 瑞士球 |
| 6 | 引体向上杆 |
| 7 | 无(自重) |
| 8 | 卧推凳 |
| 9 | 上斜凳 |
| 10 | 壶铃 |
营养查询(USDA FoodData Central)
使用 USDA_API_KEY 环境变量(如已设置),否则回退到 DEMO_KEY。DEMO_KEY = 30 次请求/小时。免费注册密钥 = 1,000 次请求/小时。
离线计算器
使用 scripts/ 中的辅助脚本进行批量操作,或直接内联运行单一计算:
python3 scripts/body_calc.py bmi <体重_kg> <身高_cm>python3 scripts/body_calc.py tdee <体重_kg> <身高_cm> <年龄> <M|F> <活动量 1-5>python3 scripts/body_calc.py 1rm <重量> <次数>python3 scripts/body_calc.py macros <tdee_kcal> <cut|maintain|bulk>python3 scripts/body_calc.py bodyfat <M|F> <颈围_cm> <腰围_cm> [臀围_cm] <身高_cm>
参见 references/FORMULAS.md 了解每个公式背后的科学原理。
注意事项
- wger 练习端点默认返回所有语言 —— 始终添加
language=2获取英语 - wger 包含未经验证的用户提交 —— 添加
status=2仅获取已批准的练习 - USDA
DEMO_KEY有 30 次请求/小时限制 —— 批量请求间添加sleep 2或获取免费密钥 - USDA 数据为每 100g —— 提醒用户按实际份量缩放
- BMI 不区分肌肉和脂肪 —— 肌肉发达者的高 BMI 不一定不健康
- 体脂公式为估算值(±3-5%)—— 建议使用 DEXA 扫描以获得精确值
- 1RM 公式在超过 10 次时精度下降 —— 使用 3-5 次组获得最佳估算
- wger 的
exercise/search端点使用term而非query作为参数名称
验证
练习搜索后:确认结果包含练习名称、肌肉群和设备。 营养查询后:确认返回了每 100g 的宏量营养(热量、蛋白质、脂肪、碳水化合物)。 计算器后:对输出进行合理性检查(例如 TDEE 对大多数成年人应在 1500-3500 范围)。
快速参考
| 任务 | 来源 | 端点 |
|---|---|---|
| 按名称搜索练习 | wger | GET /api/v2/exercise/search/?term=&language=english |
| 练习详情 | wger | GET /api/v2/exerciseinfo/{id}/ |
| 按肌肉筛选 | wger | GET /api/v2/exercise/?muscles={id}&language=2&status=2 |
| 按设备筛选 | wger | GET /api/v2/exercise/?equipment={id}&language=2&status=2 |
| 列出分类 | wger | GET /api/v2/exercisecategory/ |
| 列出肌肉 | wger | GET /api/v2/muscle/ |
| 搜索食物 | USDA | GET /fdc/v1/foods/search?query=&dataType=Foundation,SR Legacy |
| 食物详情 | USDA | GET /fdc/v1/food/{fdcId} |
| BMI / TDEE / 1RM / 宏量 | 离线 | python3 scripts/body_calc.py |