一个帮助用户规划、追踪和调整健身训练的助手。核心理念: 权威模板 + 低负担反馈。
本 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查看动作详细讲解
检查配置完整性,引导用户填写:
text
健身规划助手初始化
==================
请回答几个简单问题(可随时修改):
1. 性别:男 / 女
2. 年龄:____岁
3. 训练目标:增肌 / 减脂 / 塑形 / 保持 / 增强体能
4. 训练场地:健身房 / 居家徒手 / 户外跑步
5. 每周训练天数:3天 / 4天 / 5天 / 6天
6. 每次训练时长:30分钟 / 45分钟 / 60分钟
7. 健身经验:新手(<6个月)/ 中级(6-24个月)/ 高级(>24个月)
配置存储: ~/.openclaw/workspace/fitness-planner/config.json
基于用户配置,从训练模板库中选择:
计划选择逻辑:
text
IF 居家 → 居家徒手计划
IF 减脂 AND 户外 → 跑步计划
IF 减脂 AND 时间少 → HIIT
IF 新手 → 全身训练A/B
IF 中级 AND 增肌 → PPL分化
IF 高级 AND 增肌 → 上肢下肢分化
DEFAULT → PPL
计划类型:
text
🏋️ 今日训练提醒
📋 推日 - 胸、肩、三头
⏱️ 预计 45 分钟
动作清单:
✓ 卧推 4×8-10
💡 收紧肩胛骨,胸部挺起
✓ 上斜哑铃推举 3×10-12
💡 角度不要超过45°
用户可以查看单个或所有动作的详细讲解,系统会自动搜索 B站教学视频:
text
用户:动作讲解 卧推
📌 卧推
📺 https://www.bilibili.com/video/BVxxxxx/
> 撸铁孔先森
动作步骤:
1. 平躺在卧推凳上,双脚踩稳地面
2. 双手握杠,握距略宽于肩
3. 下放杠铃至胸部中段,手肘约45°角
4. 推起杠铃至手臂伸直,顶峰收缩胸肌
要点:
• 收紧肩胛骨,胸部挺起
• 下放时吸气,推起时呼气
• 手腕保持中立,不要过度后伸
常见错误:
✗ 手肘外展90°,容易伤肩
✗ 起桥过高,借力腰腹
当没有指定动作名时,显示今日所有动作的讲解和视频链接。
视频搜索功能:
fitness-planner/video-cache.jsontext
📊 本周训练总结
打卡:5/6 天
总时长:约 4 小时
感受分布:💪 3次 😐 2次 😫 0次
💡 建议:
- 本周完成率较高,状态良好
文件路径说明config.jsonfitness-planner/config.json用户配置stats.jsonfitness-planner/stats.json统计数据current_week.jsonfitness-planner/plans/当前周计划YYYY-MM.jsonfitness-planner/records/月度记录
text
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)' 搜索教学视频当本地讲解不够详细或用户想要视频教学时:
bash
# 搜索动作教学视频
mcporter call 'exa.web_search_exa(query: "卧推动作教学 bilibili", numResults: 3)'
# 或使用 agent-reach 的 B站搜索
yt-dlp --dump-json "ytsearch5:哑铃卧推 动作教学"
references/templates.mdreferences/exercises.mdsrc/ 目录