🎁 Get the FREE AI Skills Starter GuideSubscribe →
BytesAgainBytesAgain
🦀 ClawHub

Fitness Planner

by @devioslang

健身规划助手,支持训练计划生成、打卡记录、统计周报、周期化训练、肌群进展追踪、多维度反馈、动作讲解和视频教学搜索。触发词:健身、训练计划、打卡、今天练什么、运动、周期、肌群、恢复状态、动作讲解。

Versionv1.4.1
Downloads454
Installs1
TERMINAL
clawhub install fitness-planner

📖 About This Skill


name: fitness-planner description: 健身规划助手,支持训练计划生成、打卡记录、统计周报、周期化训练、肌群进展追踪、多维度反馈、动作讲解和视频教学搜索。触发词:健身、训练计划、打卡、今天练什么、运动、周期、肌群、恢复状态、动作讲解。

Fitness Planner - 健身规划助手

一个帮助用户规划、追踪和调整健身训练的助手。核心理念:权威模板 + 低负担反馈

触发场景

  • 用户问"帮我安排健身计划"、"生成训练计划"
  • 用户说"今天练什么"、"训练提醒"
  • 用户说"打卡"、"完成训练"
  • 用户说"这周练得怎么样"、"健身周报"
  • 用户提到健身、锻炼、运动安排相关话题
  • 使用方式

    调用代码模块

    本 skill 包含完整的 TypeScript 实现,通过以下方式调用:

    # 编译
    cd ~/.openclaw/workspace/skills/fitness-planner
    npm install
    npm run build
    

    在对话中使用

    直接响应用户的自然语言输入,根据关键词识别意图:

    | 用户输入 | 识别为 | 动作 | |---------|--------|------| | 初始化/开始配置 | init | 引导配置流程 | | 生成计划/安排计划 | plan | 生成周计划 | | 今天/今日 | today | 返回今日计划 | | 打卡/完成 | checkin | 记录训练完成 | | 太累/一般/没练够 | feeling | 更新感受 | | 本周/进度 | progress | 显示周进度 | | 统计/数据 | stats | 显示统计数据 | | 周报/总结 | summary | 生成周总结 | | 历史/记录 | history | 查看历史记录 | | 配置/设置 | config | 查看/修改配置 | | 动作讲解/教学 | exercise | 查看动作详细讲解 |

    核心功能实现

    #### 1. 初始化配置

    检查配置完整性,引导用户填写:

    健身规划助手初始化
    ==================

    请回答几个简单问题(可随时修改):

    1. 性别:男 / 女 2. 年龄:____岁 3. 训练目标:增肌 / 减脂 / 塑形 / 保持 / 增强体能 4. 训练场地:健身房 / 居家徒手 / 户外跑步 5. 每周训练天数:3天 / 4天 / 5天 / 6天 6. 每次训练时长:30分钟 / 45分钟 / 60分钟 7. 健身经验:新手(<6个月)/ 中级(6-24个月)/ 高级(>24个月)

    配置存储: ~/.openclaw/workspace/fitness-planner/config.json

    #### 2. 生成周计划

    基于用户配置,从训练模板库中选择:

    计划选择逻辑:

    IF 居家 → 居家徒手计划
    IF 减脂 AND 户外 → 跑步计划
    IF 减脂 AND 时间少 → HIIT
    IF 新手 → 全身训练A/B
    IF 中级 AND 增肌 → PPL分化
    IF 高级 AND 增肌 → 上肢下肢分化
    DEFAULT → PPL
    

    计划类型:

  • beginner-fullbody: 新手全身训练(3天)
  • push-pull-legs: 推拉腿分化(3-6天)
  • upper-lower: 上肢下肢分化(4天)
  • home-bodyweight: 居家徒手(3-5天)
  • running: 跑步计划(3-4天)
  • hiit: HIIT燃脂(3天)
  • #### 3. 今日训练

    🏋️ 今日训练提醒

    📋 推日 - 胸、肩、三头 ⏱️ 预计 45 分钟

    动作清单: ✓ 卧推 4×8-10 💡 收紧肩胛骨,胸部挺起 ✓ 上斜哑铃推举 3×10-12 💡 角度不要超过45°

    #### 4. 动作讲解(含视频教学)

    用户可以查看单个或所有动作的详细讲解,系统会自动搜索 B站教学视频:

    用户:动作讲解 卧推

    📌 卧推

    📺 https://www.bilibili.com/video/BVxxxxx/ > 撸铁孔先森

    动作步骤: 1. 平躺在卧推凳上,双脚踩稳地面 2. 双手握杠,握距略宽于肩 3. 下放杠铃至胸部中段,手肘约45°角 4. 推起杠铃至手臂伸直,顶峰收缩胸肌

    要点: • 收紧肩胛骨,胸部挺起 • 下放时吸气,推起时呼气 • 手腕保持中立,不要过度后伸

    常见错误: ✗ 手肘外展90°,容易伤肩 ✗ 起桥过高,借力腰腹

    当没有指定动作名时,显示今日所有动作的讲解和视频链接。

    视频搜索功能:

  • 自动调用 exa 搜索 B站教学视频
  • 缓存搜索结果 30 天,避免重复搜索
  • 缓存文件:fitness-planner/video-cache.json
  • #### 4. 打卡流程

    1. 用户说「打卡」→ 记录完成 2. 自动更新统计 3. 询问感受:😫 太累 / 😐 一般 / 💪 没练够

    #### 5. 周总结

    📊 本周训练总结

    打卡:5/6 天 总时长:约 4 小时 感受分布:💪 3次 😐 2次 😫 0次

    💡 建议: - 本周完成率较高,状态良好

    数据文件

    | 文件 | 路径 | 说明 | |------|------|------| | config.json | fitness-planner/config.json | 用户配置 | | stats.json | fitness-planner/stats.json | 统计数据 | | current_week.json | fitness-planner/plans/ | 当前周计划 | | YYYY-MM.json | fitness-planner/records/ | 月度记录 |

    代码结构

    fitness-planner/
    ├── SKILL.md              # 本文件
    ├── package.json          # Node.js 配置
    ├── tsconfig.json         # TypeScript 配置
    ├── src/
    │   ├── index.ts          # 主入口
    │   ├── config.ts         # 配置管理
    │   ├── templates.ts      # 训练模板
    │   ├── recorder.ts       # 打卡记录
    │   ├── stats.ts          # 统计模块
    │   └── notifier.ts       # 消息格式化
    ├── references/
    │   ├── templates.md      # 训练模板文档
    │   └── exercises.md      # 动作库文档
    └── scripts/
        └── init.sh           # 初始化脚本
    

    注意事项

    1. 低负担原则 - 反馈问卷最多一个问题,优先从行为推断 2. 温和提醒 - 不催促,用鼓励语气 3. 灵活调整 - 支持用户随时修改计划 4. 隐私保护 - 数据仅存储本地,不上传 5. 视频补充 - 当用户需要更直观的教学时,使用 mcporter call 'exa.web_search_exa(query: "动作名 教学视频 bilibili", numResults: 3)' 搜索教学视频

    视频搜索

    当本地讲解不够详细或用户想要视频教学时:

    # 搜索动作教学视频
    mcporter call 'exa.web_search_exa(query: "卧推动作教学 bilibili", numResults: 3)'

    或使用 agent-reach 的 B站搜索

    yt-dlp --dump-json "ytsearch5:哑铃卧推 动作教学"

    相关文件

  • 训练模板:references/templates.md
  • 动作库:references/exercises.md
  • 源代码:src/ 目录

  • 🆕 新增功能(v1.4.0)

    1. 周期化训练

    自动管理训练周期,科学安排训练强度:

    | 阶段 | 时长 | 特点 | |------|------|------| | 力量期 | 4周 | 大重量低次数(4-6次)| | 肌肥大期 | 4周 | 中等重量中等次数(8-12次)| | 耐力期 | 4周 | 轻重量高次数(15-20次)| | 减载周 | 1周 | 降低训练量,促进恢复 |

    使用方式:

    用户:周期
    → 显示当前训练阶段和进度

    用户:下一阶段 → 进入下一个训练阶段

    自动调整:

  • 今日训练计划会根据当前阶段自动调整组数、次数和休息时间
  • 周期推进会在打卡时自动更新

  • 2. 肌群进展追踪

    追踪各肌群的训练量和恢复状态:

    功能:

  • 记录每个肌群的总训练组数和次数
  • 追踪上次训练时间
  • 监测酸痛程度和恢复状态
  • 识别训练不足或过度训练的肌群
  • 使用方式:

    用户:肌群
    → 显示所有肌群的训练进展

    用户:胸肌进展 → 显示特定肌群的详细数据

    智能提醒:

  • 超过7天未训练的肌群会被标记
  • 酸痛未恢复的肌群会建议跳过相关动作

  • 3. 多维度反馈

    综合评估恢复状态,给出训练建议:

    追踪维度:

  • 睡眠时长和质量
  • 精力水平
  • 压力程度
  • 肌肉酸痛
  • 恢复指数: 0-100分,综合睡眠(40%)、精力(30%)、压力(30%)

    使用方式:

    用户:睡眠7.5小时 精力好
    → 记录今日状态,返回恢复指数

    用户:恢复状态 → 查看综合分析报告

    智能建议:

  • 恢复指数 < 40:建议休息或降低强度
  • 恢复指数 40-60:建议降低训练强度
  • 恢复指数 60-80:可以正常训练
  • 恢复指数 > 80:状态极佳,可以挑战高强度

  • 4. 综合训练分析

    今日训练会自动整合所有分析:

    🏋️ 今日训练提醒

    📋 胸肌重点日 - 胸肌、三头肌 ⏱️ 预计 40 分钟 📅 训练阶段:肌肥大期(第 2 周)

    动作清单: ✓ 哑铃卧推 3×8-13 💡 推起时想象抱一棵大树 ✓ 哑铃飞鸟 2×10-13 💡 感受胸肌拉伸 ⚠️ 窄距俯卧撑 2×10-13 (建议跳过)

    💡 三头肌酸痛较重,建议降低强度 😴 恢复指数:65/100 - 可以正常训练

    训练完成后回复「打卡」记录 ✅


    数据文件

    | 文件 | 说明 | |------|------| | periodization_state.json | 周期化训练状态 | | muscle_progress.json | 肌群进展数据 | | feedback_state.json | 多维度反馈数据 | | video-cache.json | 视频搜索缓存 | | adjustment_state.json | 强度调整状态 |