返回顶部
w

whoop-labWHOOP健康数据工具

Fetch, analyze, chart, and track WHOOP health data (recovery, HRV, RHR, sleep, strain, workouts). Use when: querying any WHOOP metric; generating visual charts or dashboards; planning, monitoring, or reporting on a health experiment (with auto-captured baselines, post-workout segmentation); logging stats to Obsidian; correlating health data with life context; or proactively flagging suppressed recovery trends. Handles OAuth, token refresh, full history pagination, and science-backed metric inter

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
252
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

whoop-lab

WHOOP 技能

通过 WHOOP 开发者 API(v2)获取、解读、图表化并追踪您的 WHOOP 数据。

数据目录

所有用户特定数据存储在 ~/.config/whoop-skill/ 中——与只读的技能安装目录分开。

~/.config/whoop-skill/
credentials.json — OAuth 令牌(首次设置时由 auth.py 创建)
experiments.json — 实验追踪数据(首次执行 plan 命令时创建)
config.json — 可选的路径/时区覆盖(从 config.example.json 复制)

该目录和 credentials.json 会在您运行 scripts/auth.py 时自动创建。您无需手动创建它们。

设置

开始之前: 此技能需要一个 WHOOP 开发者应用来与 WHOOP API 进行身份验证。它是免费的,大约需要 2 分钟设置。

第 0 步 — 安装 Python 依赖

bash
pip install -r requirements.txt

第 1 步 — 选择您的回调方法

在创建 WHOOP 应用之前,决定如何处理 OAuth 回调:

选项 A — 本地服务器 (本地安装)

  • - 重定向 URI: http://localhost:8888/callback
  • 您的机器上会运行一个临时服务器来自动捕获重定向
  • 需要与 OpenClaw 在同一台机器上的浏览器

选项 B — 手动粘贴代码 (远程/云端安装)

  • - 重定向 URI: http://localhost:8888/callback
  • 脚本会打印一个授权 URL — 在任何浏览器中打开它,授权,然后从重定向 URL 中复制 ?code= 值并粘贴回脚本
  • 没有任何内容通过外部服务器 — 完全自包含

第 2 步 — 创建一个 WHOOP 开发者应用

  1. 1. 访问 https://developer-dashboard.whoop.com
  2. 使用您的 WHOOP 账户登录
  3. 如果提示,创建一个团队(任何名称都可以)
  4. 点击 创建应用 并填写:
- 应用名称: 任意名称(例如 My WHOOP Skill) - 重定向 URI: 第 1 步中的 URI(选项 A 或 B) - 作用域: 选择所有 read:* 作用域 + offline
  1. 5. 复制您的 客户端 ID客户端密钥 — 您将在下一步中需要它们

第 3 步 — 运行设置脚本

bash
python3 scripts/auth.py

这将:

  1. 1. 提示您输入客户端 ID 和客户端密钥
  2. 询问您在第 1 步中选择的回调方法(本地服务器或手动)
  3. 引导您完成授权流程
  4. 将凭据保存到 ~/.config/whoop-skill/credentials.json

自定义路径(可选):
将技能根目录中的 config.example.json 复制到 ~/.config/whoop-skill/config.json 并编辑以覆盖默认值:
json
{
creds_path: ~/.config/whoop-skill/credentials.json,
vault_path: ~/my-obsidian-vault,
dailynotessubdir: Daily Notes,
timezone: America/New_York,
logged_by: Assistant
}

工作流程

  1. 1. 从 ~/.config/whoop-skill/credentials.json 加载凭据
  2. 如果 expiresat 已过期(或在 60 秒内),调用 scripts/refreshtoken.py 获取新的访问令牌并更新文件
  3. 调用相应的端点(参见 references/api.md)
  4. 用通俗语言解析和呈现数据

常见请求

  • - 我今天恢复得怎么样? → 获取最新的恢复分数、HRV、RHR
  • 我睡得怎么样? → 获取最新的睡眠(表现百分比、阶段、时长)
  • 我今天的状态如何? → 获取最新的周期状态 + 平均心率
  • 显示我最近的锻炼 → 通过 /activity/workout 获取锻炼集合(最近 5–7 次)
  • 给我一个健康摘要 → 结合恢复 + 睡眠 + 今天的周期

令牌刷新

当访问令牌过期时运行 scripts/refresh_token.py。它会自动读取/写入 ~/.config/whoop-skill/credentials.json。

要重新从头开始认证,再次运行 scripts/auth.py。

API 基础 URL

https://api.prod.whoop.com/developer/v2

所有请求:Authorization: Bearer

有关端点详情、作用域和响应结构,请参见 references/api.md。有关完整的官方 API 文档(包括错误代码和速率限制),请参见 https://developer.whoop.com/api。



获取数据 (scripts/fetch.py)

通用 API 获取器。由其他脚本内部使用。

bash

最新的恢复数据


python3 scripts/fetch.py /recovery --limit 1

最近 30 天的睡眠数据

python3 scripts/fetch.py /activity/sleep --limit 30

最近 7 天的锻炼数据

python3 scripts/fetch.py /activity/workout --limit 7

按日期范围获取

python3 scripts/fetch.py /recovery --start 2026-02-01 --end 2026-02-28

用户资料

python3 scripts/fetch.py /user/profile/basic

输出为 JSON 到标准输出。



图表化 (scripts/chart.py)

使用 Chart.js(CDN)生成自包含的 HTML 图表。深色主题,带有显示平均值/最小值/最大值和趋势箭头的统计卡片。自动在浏览器中打开。

图表类型

图表描述
recovery按恢复分数颜色编码为绿色/黄色/红色的条形图
sleep
堆叠条形图:每夜的 REM / 深睡 / 浅睡 / 清醒 | | hrv | 带有 7 天滚动平均叠加的折线图 | | strain | 带有卡路里作为次要折线轴的条形图 | | dashboard | 所有四个图表的 2×2 网格 |

用法

bash

恢复图表(30 天)


python3 scripts/chart.py --chart recovery --days 30

完整仪表板

python3 scripts/chart.py --chart dashboard --days 30 --output ~/whoop-dashboard.html

HRV 趋势(90 天),不自动打开

python3 scripts/chart.py --chart hrv --days 90 --no-open

睡眠分解

python3 scripts/chart.py --chart sleep --days 14

状态 + 卡路里

python3 scripts/chart.py --chart strain --days 21

标志

标志默认值描述
--chart(必需)图表类型:recovery, sleep, hrv, strain, dashboard
--days
30 | 要获取的历史天数 | | --output | /tmp/whoop-.html | 输出文件路径 | | --no-open | false | 不在浏览器中自动打开 |

图表交付(始终执行两者)

运行 chart.py 后,脚本将输出文件路径打印到标准输出。始终:

  1. 1. 将 HTML 文件附加到 Telegram 消息 — 以便远程用户立即获取
  2. 在浏览器中自动打开(默认,除非使用 --no-open) — 以便本地用户立即获取

这意味着本地和远程用户都无需任何配置即可覆盖。该文件是自包含的、静态的,并且可以安全共享 — 没有嵌入凭据或 API 调用。



实验追踪 (scripts/experiment.py)

定义、监控和评估个人健康实验。数据存储在 ~/.config/whoop-skill/experiments.json 中。

支持的指标

hrv, recovery, sleep_performance, rhr, strain

命令

计划一个新实验

bash python3 scripts/experiment.py plan \ --name 30 天不喝酒 \ --hypothesis HRV 将比基线增加 10% 以上 \ --start 2026-03-01 \ --end 2026-03-31 \ --metrics hrv,recovery,sleep_performance

基线自动从 --start 之前的 14 天捕获。手动覆盖:
bash
python3 scripts/experiment.py plan \
--name 冷水浸泡实验 \
--hypothesis RHR 将下降 3+ bpm \
--start 2026-03-10 --end 2026-04

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 whoop-lab-1776208770 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 whoop-lab-1776208770 技能

通过命令行安装

skillhub install whoop-lab-1776208770

下载

⬇ 下载 whoop-lab v1.0.0(免费)

文件大小: 33.81 KB | 发布时间: 2026-4-15 13:06

v1.0.0 最新 2026-4-15 13:06
🚀 Initial Release - WHOOP Lab 1.0.0

First public release of the WHOOP Lab skill for OpenClaw / ClawHub.

Features:

📊 Data Fetching
OAuth 2.0 authentication with WHOOP Developer API v2 (scripts/auth.py)
Automatic token refresh (scripts/refresh_token.py)
General-purpose API fetcher for all WHOOP endpoints (scripts/fetch.py)
Recovery, sleep, strain, workouts, user profile
Date-range and limit-based pagination

📈 Charting
HTML chart generation via Chart.js (scripts/chart.py) — dark theme, fully self-contained
Recovery (color-coded green/yellow/red)
Sleep (stacked bar: REM/Deep/Light/Awake)
HRV trend (line + 7-day rolling average)
Strain + calories (dual axis)
Full dashboard (2×2 grid of all four)
Stat cards showing avg/min/max + trend arrows
Auto-opens in browser + delivers as attachment

🧪 Experiment Tracking
Plan, monitor, and evaluate personal health experiments (scripts/experiment.py)
Auto-captured 14-day baselines
Post-workout segmentation mode (measures recovery windows after qualifying workouts)
Mid-experiment status with rolling averages and trend arrows
Final report with verdict (met / partially met / not met / inconclusive)
Supports: HRV, recovery, sleep performance, RHR, strain

📓 Obsidian Logging (optional)
Appends daily WHOOP stats to Obsidian daily note (scripts/log_to_obsidian.py)
Backfill by date, dry-run preview
Auto git commit + push (skips git gracefully if vault is not a repo)

🧠 Health Interpretation
Science-backed HRV, RHR, sleep, strain, and recovery interpretation guide (references/health_analysis.md)
WHOOP API endpoint reference (references/api.md)

🌅 Morning Brief Integration
Drop-in HEARTBEAT.md snippet to include recovery + HRV in daily morning briefs
Red recovery auto-flagging (score < 34)

Requirements:
Python 3
Git (optional — only needed if Obsidian vault is a git repo)
A free WHOOP Developer App (https://developer-dashboard.whoop.com)

Setup:
See SKILL.md for full setup instructions.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部