mcpField
H
hevy

hevy

github.com/jakubrohleder其他242 次安装5 周前更新
代码仓库

关于 hevy

hevy 是一项通过 CLI 将训练计划整理为 Hevy 训练例程的技能,涵盖动作查询、JSON 格式、组别类型及常见错误处理。

主要功能

  1. 01解析动作、组数、次数和休息
  2. 02创建前查询动作 ID
  3. 03使用 JSON 模板构建例程
  4. 04按动作类型匹配组别字段
  5. 05处理超级组等训练结构
  6. 06排查 API 错误和请求限制

适用场景

  1. 01将文字训练计划转换为例程
  2. 02批量导入训练计划中的例程
  3. 03查找匹配动作及器械变体

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jakubrohleder/agent-toolkit --skill hevy

安装后在 Claude Code 中输入/hevy确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
bin/
hevy
commands/
auth.sh
cache.sh
exercises.sh
folders.sh
routines.sh
workouts.sh
lib/
api.sh
cache.sh
common.sh
date-parser.sh
pagination.sh
templates/
routine.json
tests/
auth.bats
cache.bats
error-handling.bats
exercises.bats
folders.bats
global-flags.bats
routines.bats
test_helper.bash
workouts.bats

详细介绍

Hevy 训练计划创建器

快速入门

<skill-dir>/bin/hevy auth <key>           # Authenticate (get key from hevy.com/settings)
<skill-dir>/bin/hevy exercises search "squat"
<skill-dir>/bin/hevy routines template > routine.json
# Edit routine.json
<skill-dir>/bin/hevy routines create routine.json

所有命令均可使用:<skill-dir>/bin/hevy --help

工作流

  1. 解析训练计划 - 提取训练动作、组数、次数、重量和休息时间
  2. 查找训练动作 ID - hevy exercises search <name>
  3. 构建训练计划 JSON - 从 hevy routines template 开始
  4. 创建训练计划 - hevy routines create file.json

关键规则

  • 绝对不要在备注中使用 @(会导致无提示的 400 错误)
  • 始终使用包装结构:{"routine": {...}},不要使用裸对象
  • 始终让组属性与训练动作类型匹配:
    • weight_reps → weight_kg、reps
    • reps_only → 仅 reps(不要包含 weight!)
    • duration → duration_seconds
    • distance_duration → distance_meters、duration_seconds
    • short_distance_weight → distance_meters、weight_kg(农夫行走、雪橇推/拉)
  • 绝不要猜测 ID,始终使用 hevy exercises search

判断训练动作类型

用户描述……训练动作类型组属性
重量 + 次数(“3x10 @ 135lb”)weight_repsweight_kg、reps
仅次数(“3x12 引体向上”)reps_only仅 reps
静态保持时长(“平板支撑 60s”)durationduration_seconds
距离 + 时间(“划船 500m”)distance_durationdistance_meters、duration_seconds
距离 + 重量(“农夫行走 50m @ 80kg”)short_distance_weightdistance_meters、weight_kg

不确定时:hevy exercises get <id> 会显示训练动作类型。

解读训练计划

超级组:

  • “A1/A2”、“超级组”或“成对训练” → 使用相同的 superset_id(整数:0、1、2……)
  • “循环训练”或“EMOM” → 所有训练动作共用一个 superset_id
  • 独立训练动作 → superset_id: null

**休息:**仅设置在超级组的最后一个训练动作上

**AMRAP/最大努力:**使用 "reps": null

超级组结构示例:

{
  "exercise_template_id": "79D0BB3A",
  "superset_id": 0,
  "rest_seconds": null,
  "sets": [{"type": "normal", "weight_kg": 80, "reps": 10}]
},
{
  "exercise_template_id": "1B2B1E7C",
  "superset_id": 0,
  "rest_seconds": 90,
  "sets": [{"type": "normal", "reps": 8}]
}

常见训练动作 ID

使用 hevy exercises search 获取当前 ID。以下为参考示例:

训练动作ID类型
深蹲(杠铃)D04AC939weight_reps
硬拉(杠铃)C6272009weight_reps
卧推(杠铃)79D0BB3Aweight_reps
过顶推举(杠铃)AE23FF09weight_reps
引体向上1B2B1E7Creps_only
俯卧撑392887AAreps_only
划船机0222DB42distance_duration
拉伸527DA061duration
农夫行走49742539short_distance_weight

创建自定义训练动作前

  1. 搜索部分名称(搜索“row”,而非“cable row”)
  2. 检查器械变体(杠铃、哑铃、拉索、器械)
  3. 尝试其他名称(“Skull Crushers” = “Lying Tricep Extension”)

单位换算

用户提供磅数(lbs)时,换算为千克:weight_kg = lbs / 2.205

为便于实际装载,四舍五入到最接近的 0.5 kg。

处理搜索结果

情况操作
完全匹配使用该 ID
有多个相似结果(例如,“Squat”返回杠铃、哑铃、史密斯机版本)选择与用户上下文匹配的器械变体
没有结果尝试更短的词(搜索“tricep”,而非“tricep pushdown cable”)
仍无结果最后才创建自定义训练动作

批量导入策略

对于包含 10 个以上训练计划的训练项目:

  1. 先构建所有 JSON 文件
  2. 创建一个训练计划,并在应用中确认显示正确
  3. 每次调用间隔 2 秒,创建其余训练计划
  4. 如果出现 429 错误:等待 60 秒,从失败的训练计划开始继续

故障排查

问题原因解决方法
HTML 响应备注中包含 @替换为“at”
找不到训练动作拼写错误搜索部分名称
401 未授权API 密钥错误hevy auth test
429 请求频率受限请求过多等待 60 秒后重试
400 错误请求组属性与训练动作类型不匹配使用 hevy exercises get <id> 检查训练动作类型
不允许的字段更新中包含只读字段移除 id、created_at、updated_at 字段
组被拒绝在 reps_only 训练动作中使用了 weight_kg移除重量,仅使用 reps

CLI 与本文档

需求使用
精确的命令语法和所有标志hevy <command> --help
工作流、注意事项和解读规则本文档
探索所有功能hevy --help

评论

支持 Markdown