健身分析工具

hevy-analytics是一个共享的健身分析核心工具,提供运动搜索、进度分析、训练总结等功能,适用于健身数据分析和自动化处理。

  • by Kymylyy
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Kymylyy/hevy-mcp

使用说明

hevy分析

hevy-analytics 是一个共享的Hewy分析核心,有两个适配器:

  • hevy-mcp 适用于LLM和MCP兼容的客户端
  • hevy-cli 用于cronjobs、自动化和仪表板摄取

它展示了用于运动搜索、进度分析、锻炼总结的集中工具, 体积分布、疲劳信号、配件建议、培训记录和常规检查。

建筑

  • hevy_analytics.service 相关模块包含分析核心。
  • hevy_analytics.mcp_server 为MCP客户端呈现现有的降价合同。
  • hevy_analytics.cli 为自动化提供了相同的功能 json 或 markdown 输出。

特性

  • search_exercise(name)
  • exercise_progression(name, weeks=12)
  • recent_workouts(days=7, limit=30)
  • weekly_volume(weeks=4)
  • fatigue_check()
  • suggest_accessories()
  • training_log(days=30)
  • top_exercises(days=30, limit=5)
  • get_routines()

MCP工具返回降价,并附带稳定的分段合同:

  • ## Summary
  • ## Data Window
  • ## Details
  • ## Notes

需求

  • Python 3.11+
  • Hevy API密钥

快速入门

python3 -m venv .venv
source .venv/bin/activate
pip install -e .[dev]
export HEVY_API_KEY="your-key"

主控程序

hevy-mcp

兼容性包装:

python3 run_hevy_mcp.py

命令行界面

hevy-cli recent-workouts --days 14 --output json --pretty
hevy-cli weekly-volume --weeks 6 --output markdown
hevy-cli training-log --days 30 --out data/training-log.json

MCP配置示例

{
  "mcpServers": {
    "hevy": {
      "command": "python3",
      "args": ["/absolute/path/to/run_hevy_mcp.py"],
      "env": {
        "HEVY_API_KEY": "your-key"
      }
    }
  }
}

CLI输出

  • 默认输出为 json 自动化和cronjobs。
  • --output markdown 保留了人类可读的MCP风格渲染。
  • --out PATH 将快照直接写入文件以供下游摄取。
  • --fail-on-no-data 当命令返回时退出非零 status=no_data.
  • 退出代码: 0 为了成功, 1 对于错误, 3 为了 no_data 当 --fail-on-no-data 已设置。

Cron示例

0 6 * * * cd /absolute/path/to/hevy-mcp && /absolute/path/to/.venv/bin/hevy-cli recent-workouts --days 2 --out data/recent-workouts.json --pretty
15 6 * * * cd /absolute/path/to/hevy-mcp && /absolute/path/to/.venv/bin/hevy-cli weekly-volume --weeks 4 --out data/weekly-volume.json --pretty

约束

  • 只读集成(面向GET的API使用)。
  • 输入防护装置:
    • days: 1..365
    • weeks: 1..52
    • limit: ≥ 1
    • name:最少2个字符
  • 模糊匹配使用 difflib (无外部模糊依赖)。

迁移说明

  • Python包已更改 hevy_mcp 到 hevy_analytics.
  • 分发名称已更改 hevy-mcp 到 hevy-analytics.
  • hevy-mcp 保持MCP可执行文件的兼容性。
  • 新的自动化入口点: hevy-cli.
  • run_hevy_mcp.py 仍然是一个薄的兼容性包装。

发展

按以下顺序运行检查:

python3 -m ruff check .
python3 -m mypy src tests
python3 -m pytest

GitHub Actions对以下对象运行这些检查 push 和 pull_request.

安全

如果您发现安全问题,请按照以下步骤操作 /SECURITY.md. 不要公开秘密或漏洞问题。

许可证

MIT。看 /LICENSE.