返回顶部
w

whoop-connect

Connect WHOOP wearable to OpenClaw — fetch and store recovery, sleep, HRV, strain, and workout data locally. Use when: user asks about recovery, sleep quality, HRV, heart rate, strain, workout stats, or any WHOOP data. NOT for: Apple Health, Oura, Garmin, or other non-WHOOP devices.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.5.0
安全检测
已通过
135
下载量
1
收藏
概述
安装方式
版本历史

whoop-connect

# whoop-connect Connect your WHOOP band to OpenClaw so your agent can fetch your recovery, sleep, HRV, strain, and workout data. Setup (once) WHOOP does not have a public API. To access your own data, you need to register a personal developer app (free, takes 5 minutes). This gives you OAuth credentials so the skill can read your data on your behalf. All data stays local in `~/.whoop/whoop.db` — nothing is uploaded anywhere. - Register at https://developer.whoop.com (sign in with your WHOOP account, create an app, get Client ID and Client Secret). Full walkthrough: `{baseDir}/references/setup-guide.md` - Set env vars: `WHOOP_CLIENT_ID`, `WHOOP_CLIENT_SECRET` - First invocation auto-creates config and runs OAuth **When env vars are missing**, explain to the user: "WHOOP requires a free developer account to access your data via API. It takes about 5 minutes — I can walk you through it step by step." Then follow `{baseDir}/references/setup-guide.md`. If config missing: `python3 {baseDir}/scripts/setup.py --init`, then ask user's language and `python3 {baseDir}/scripts/setup.py --set language=zh` (or `en`). If token missing: `python3 {baseDir}/scripts/whoop_client.py auth`. If deps missing: `bash {baseDir}/scripts/install.sh`. Common commands - Today's recovery: `python3 {baseDir}/scripts/whoop_client.py recovery --days 1` - Last night's sleep: `python3 {baseDir}/scripts/whoop_client.py sleep --days 1` - Recent workouts: `python3 {baseDir}/scripts/whoop_client.py workout --days 7` - Weekly strain: `python3 {baseDir}/scripts/whoop_client.py cycle --days 7` - Multi-day summary: `python3 {baseDir}/scripts/whoop_client.py trends --days 7` - Single metric history: `python3 {baseDir}/scripts/db.py trends --metric <name> --days N` - Profile: `python3 {baseDir}/scripts/whoop_client.py profile` - Body measurements: `python3 {baseDir}/scripts/whoop_client.py body` - Force sync: `python3 {baseDir}/scripts/daily_sync.py --days 2` - Start auto-sync daemon: `python3 {baseDir}/scripts/auto_sync.py` - Single sync check: `python3 {baseDir}/scripts/auto_sync.py --once` - Auto-sync with custom interval: `python3 {baseDir}/scripts/auto_sync.py --interval 10` Use `--json` for raw data when combining multiple queries. Use `--days N` to match user's time range ("this week" = 7, "this month" = 30). Available metrics: `recovery_score`, `hrv`, `resting_hr`, `spo2`, `skin_temp`, `strain`, `sleep_duration`, `sleep_efficiency`, `sleep_performance`, `respiratory_rate` Settings - Change setting: `python3 {baseDir}/scripts/setup.py --set <key>=<value>` - Show config: `python3 {baseDir}/scripts/setup.py --show` - Re-run wizard: `python3 {baseDir}/scripts/setup.py` Keys: `language` (en/zh), `detail_level` (compact/detailed), `units` (metric/imperial), `push_recovery`, `push_sleep`, `push_workout`, `webhook_enabled` (bool), `webhook_port` (int), `sync_interval` (int, minutes — polling interval when webhook is off, default 5), `sync_interval_webhook` (int, minutes — fallback interval when webhook is on, default 20), `daily_api_limit` (int, default 10000) Users may change settings in natural language (e.g. "switch to Chinese", "use detailed mode"). Map to `--set` accordingly. Auto-sync The skill supports automatic data syncing with adaptive intervals: - **No webhook**: polls WHOOP API every `sync_interval` minutes (default 5) as the primary data source - **Webhook enabled**: webhook delivers real-time events; auto-sync polls every `sync_interval_webhook` minutes (default 20) as fallback - **Dedup**: only new, scored records trigger notifications; already-seen data is silently skipped - **API guard**: tracks daily API calls and pauses when `daily_api_limit` (default 10,000) is reached - Start daemon: `python3 {baseDir}/scripts/auto_sync.py` - Single check: `python3 {baseDir}/scripts/auto_sync.py --once` Webhook (optional) For real-time push, set up webhooks — see `{baseDir}/references/setup-guide.md` § "Optional: Webhook Setup". Set `webhook_enabled=true` in config. The webhook server writes a heartbeat file so auto-sync can detect if webhook is healthy and reduce polling frequency automatically. Notes - Never fabricate health data. If a command returns empty or errors, say so. - Never expose WHOOP_CLIENT_ID, WHOOP_CLIENT_SECRET, or token contents in output. - Never delete DB files or config without explicit user confirmation. - Confirm before changing user settings. - Respect `language` and `detail_level` from config. - If WHOOP API returns 429, the client auto-retries. Do not flood. Troubleshooting - `ModuleNotFoundError`: `bash {baseDir}/scripts/install.sh` - `WHOOP_CLIENT_ID must be set`: check env vars - `No refresh token`: `python3 {baseDir}/scripts/whoop_client.py auth` - `401 Unauthorized`: re-authorize with `auth` - `500 Server Error`: transient WHOOP-side issue, retry in a few minutes - Empty results: widen `--days`; data may not be scored yet References - `{baseDir}/references/setup-guide.md` — New user onboarding + webhook setup - `{baseDir}/references/api-reference.md` — WHOOP API v2 field documentation - `{baseDir}/references/webhook-events.md` — Webhook event types and payload format - WHOOP Developer Docs: https://developer.whoop.com/docs/developing/user-data/recovery - WHOOP API Reference: https://developer.whoop.com/api

标签

skill ai

通过对话安装

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

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 whoop-connect-1776102962 技能

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

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

通过命令行安装

skillhub install whoop-connect-1776102962

下载 Zip 包

⬇ 下载 whoop-connect v0.5.0

文件大小: 28.36 KB | 发布时间: 2026-4-17 16:35

v0.5.0 最新 2026-4-17 16:35
Add smart auto-sync daemon with adaptive polling (webhook: 20min fallback, no webhook: 5min primary), daily API rate limiting (10k/day), and configurable sync intervals

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

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

p2p_official_large
返回顶部