Skill: devioslang/fitness-planner (version 1.4.1)

--- name: fitness-planner description: 健身规划助手，支持训练计划生成、打卡记录、统计周报、周期化训练、肌群进展追踪、多维度反馈、动作讲解和视频教学搜索。触发词：健身、训练计划、打卡、今天练什么、运动、周期、肌群、恢复状态、动作讲解。 --- # Fitness Planner - 健身规划助手 一个帮助用户规划、追踪和调整健身训练的助手。核心理念：**权威模板 + 低负担反馈**。 ## 触发场景 - 用户问"帮我安排健身计划"、"生成训练计划" - 用户说"今天练什么"、"训练提醒" - 用户说"打卡"、"完成训练" - 用户说"这周练得怎么样"、"健身周报" - 用户提到健身、锻炼、运动安排相关话题 ## 使用方式 ### 调用代码模块 本 skill 包含完整的 TypeScript 实现，通过以下方式调用： ```bash # 编译 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)'` 搜索教学视频 ## 视频搜索 当本地讲解不够详细或用户想要视频教学时： ```bash # 搜索动作教学视频 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` | 强度调整状态 |


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)