一个帮助用户规划、追踪和调整健身训练的助手。核心理念:权威模板 + 低负担反馈。
本 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. 性别:男 / 女
2. 年龄:____岁
3. 训练目标:增肌 / 减脂 / 塑形 / 保持 / 增强体能
4. 训练场地:健身房 / 居家徒手 / 户外跑步
5. 每周训练天数:3天 / 4天 / 5天 / 6天
6. 每次训练时长:30分钟 / 45分钟 / 60分钟
7. 健身经验:新手(<6个月)/ 中级(6-24个月)/ 高级(>24个月)
配置存储: ~/.openclaw/workspace/fitness-planner/config.json
基于用户配置,从训练模板库中选择:
计划选择逻辑:
IF 居家 → 居家徒手计划
IF 减脂 AND 户外 → 跑步计划
IF 减脂 AND 时间少 → HIIT
IF 新手 → 全身训练A/B
IF 中级 AND 增肌 → PPL分化
IF 高级 AND 增肌 → 上肢下肢分化
DEFAULT → PPL
计划类型:
🏋️ 今日训练提醒
📋 推日 - 胸、肩、三头
⏱️ 预计 45 分钟
动作清单:
✓ 卧推 4×8-10
💡 收紧肩胛骨,胸部挺起
✓ 上斜哑铃推举 3×10-12
💡 角度不要超过45°
用户可以查看单个或所有动作的详细讲解,系统会自动搜索 B站教学视频:
用户:动作讲解 卧推
📌 卧推
📺 https://www.bilibili.com/video/BVxxxxx/
> 撸铁孔先森
动作步骤:
1. 平躺在卧推凳上,双脚踩稳地面
2. 双手握杠,握距略宽于肩
3. 下放杠铃至胸部中段,手肘约45°角
4. 推起杠铃至手臂伸直,顶峰收缩胸肌
要点:
• 收紧肩胛骨,胸部挺起
• 下放时吸气,推起时呼气
• 手腕保持中立,不要过度后伸
常见错误:
✗ 手肘外展90°,容易伤肩
✗ 起桥过高,借力腰腹
当没有指定动作名时,显示今日所有动作的讲解和视频链接。
视频搜索功能:
fitness-planner/video-cache.json📊 本周训练总结
打卡: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 # 初始化脚本
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.mdreferences/exercises.mdsrc/ 目录自动管理训练周期,科学安排训练强度:
| 阶段 | 时长 | 特点 |
|---|---|---|
| ------ | ------ | ------ |
| 力量期 | 4周 | 大重量低次数(4-6次) |
| 肌肥大期 | 4周 | 中等重量中等次数(8-12次) |
| 耐力期 | 4周 | 轻重量高次数(15-20次) |
| 减载周 | 1周 | 降低训练量,促进恢复 |
使用方式:
用户:周期
→ 显示当前训练阶段和进度
用户:下一阶段
→ 进入下一个训练阶段
自动调整:
追踪各肌群的训练量和恢复状态:
功能:
使用方式:
用户:肌群
→ 显示所有肌群的训练进展
用户:胸肌进展
→ 显示特定肌群的详细数据
智能提醒:
综合评估恢复状态,给出训练建议:
追踪维度:
恢复指数: 0-100分,综合睡眠(40%)、精力(30%)、压力(30%)
使用方式:
用户:睡眠7.5小时 精力好
→ 记录今日状态,返回恢复指数
用户:恢复状态
→ 查看综合分析报告
智能建议:
今日训练会自动整合所有分析:
🏋️ 今日训练提醒
📋 胸肌重点日 - 胸肌、三头肌
⏱️ 预计 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 | 强度调整状态 |
共 1 个版本