← 返回 Skills 市场
devioslang

Fitness Planner

作者 DeviosLang · GitHub ↗ · v1.4.1 · MIT-0
cross-platform ⚠ suspicious
156
总下载
0
收藏
0
当前安装
6
版本数
在 OpenClaw 中安装
/install fitness-planner
功能描述
健身规划助手,支持训练计划生成、打卡记录、统计周报、周期化训练、肌群进展追踪、多维度反馈、动作讲解和视频教学搜索。触发词:健身、训练计划、打卡、今天练什么、运动、周期、肌群、恢复状态、动作讲解。
使用说明 (SKILL.md)

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. 健身经验:新手(\x3C6个月)/ 中级(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小时 精力好
→ 记录今日状态,返回恢复指数

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

智能建议:

  • 恢复指数 \x3C 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 强度调整状态
安全使用建议
This skill's functionality and code appear consistent with a local fitness planner, but take these precautions before installing/using: 1) Confirm you have Node.js/npm (the skill expects you to run npm install && npm run build) and review package.json/package-lock.json to see what third-party packages will be installed. 2) Inspect the code (notifier.js and any modules that call child_process.exec) to understand what shell commands will be run; the skill uses mcporter call 'exa.web_search_exa(...)' and SKILL.md mentions yt-dlp — both perform network searches and will send the search query text externally. Ask: what is mcporter in your environment and where does it send queries? 3) If you care about privacy, note that video search queries (exercise names or context) may be sent out; the skill caches results locally for 30 days. 4) Because the skill executes shell commands, run builds and initial execution in a controlled environment (or review/execute code manually) before giving it access to your normal workspace. 5) If you plan to enable messaging (wecom or other), verify how credentials are provided and whether the skill will store them. If you want to proceed, run the build in an isolated environment, audit dependencies, and confirm the behavior of mcporter/yt-dlp on your system.
能力评估
Purpose & Capability
Name/description and the included source code are coherent for a fitness planning assistant. However the SKILL.md and code expect a Node/TypeScript build (npm install, npm run build) and runtime artifacts, while the registry 'requirements' list no required binaries. That discrepancy (no declared requirement for node/npm though package.json and build steps exist) is inconsistent and should be clarified.
Instruction Scope
The runtime instructions and code operate on local config/cache files under ~/.openclaw/workspace/fitness-planner which matches the stated local-only storage claim. But the skill's notifier executes shell commands (exec) to call external tooling: mcporter call 'exa.web_search_exa(...)' and SKILL.md also suggests using yt-dlp for Bilibili searches. Those calls perform web searches / network access and involve an external agent/tool whose behavior is not described in the metadata. The instructions therefore direct queries to an external search tool and rely on shell execution—this can leak any query text (including user-supplied names or context) and is broader than purely local operations.
Install Mechanism
There is no install spec in registry metadata, but the SKILL.md instructs building the included TypeScript code (npm install; npm run build). The package includes package.json and package-lock.json so installing will pull npm dependencies. This implicit install/build step is not declared in the skill's metadata and may fetch third-party packages at install time—review package.json and lockfile before running. There are no downloads from unknown URLs in the provided files, which reduces risk, but building still executes untrusted code on the host.
Credentials
The skill does not request secrets or environment variables and only reads process.env.HOME for file paths. That is proportionate. However it lists a default notification channel ('wecom') and contains a sendWecomMessage placeholder; if you enable external messaging you may need to supply credentials later. Also the use of external search (mcporter/yt-dlp) means the skill will send search queries externally — consider whether any data included in those queries is sensitive.
Persistence & Privilege
The skill does persist its own files (config.json, stats.json, caches) inside ~/.openclaw/workspace/fitness-planner which is normal for a local assistant. It does not request always:true and does not alter other skills' config. File writes are limited to its workspace paths.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install fitness-planner
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /fitness-planner 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.4.1
完善文档,新增周期化训练、肌群追踪、多维度反馈功能说明
v1.4.0
新增周期化训练、肌群进展追踪、多维度反馈三大功能
v1.3.0
新增视频教学搜索功能:自动搜索B站教学视频并缓存30天
v1.2.0
新增动作详细讲解功能:50+动作的步骤、要点、常见错误;新增「动作讲解」命令;训练提醒输出包含动作要点;添加视频搜索支持
v1.1.0
新增:支持自动训练提醒、动作要领详解、学习资源推荐。优化:训练计划生成逻辑、打卡记录流程
v1.0.0
首次发布
元数据
Slug fitness-planner
版本 1.4.1
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 6
常见问题

Fitness Planner 是什么?

健身规划助手,支持训练计划生成、打卡记录、统计周报、周期化训练、肌群进展追踪、多维度反馈、动作讲解和视频教学搜索。触发词:健身、训练计划、打卡、今天练什么、运动、周期、肌群、恢复状态、动作讲解。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 156 次。

如何安装 Fitness Planner?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install fitness-planner」即可一键安装,无需额外配置。

Fitness Planner 是免费的吗?

是的,Fitness Planner 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Fitness Planner 支持哪些平台?

Fitness Planner 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Fitness Planner?

由 DeviosLang(@devioslang)开发并维护,当前版本 v1.4.1。

💬 留言讨论