← 返回
未分类 Key 中文

Fitbit Connector

Fitbit data connector skill for OpenClaw. Exposes compact auth/fetch/store/quality tools; OpenClaw performs all coaching reasoning.
OpenClaw的Fitbit数据连接器,提供紧凑的认证/获取/存储/质量工具,OpenClaw承担所有教练推理。
joaodriessen joaodriessen 来源
未分类 clawhub v1.0.0 1 版本 100000 Key: 需要
★ 0
Stars
📥 374
下载
💾 0
安装
1
版本
#latest

概述

Fitbit Connector Skill (Tool Provider)

Use this skill when OpenClaw needs Fitbit or unified health data.

This is the canonical front door for health / Fitbit retrieval in OpenClaw.

If a user asks for latest Fitbit numbers, recovery signals, readiness trends, sleep/HRV/resting-HR patterns, or recent health metrics for training interpretation, start here.

This skill is data-plane only:

  • it authenticates,
  • fetches Fitbit data,
  • syncs/cache stores normalized metrics,
  • returns compact JSON.

OpenClaw handles interpretation, decisions, and coaching language.

Canonical usage rule

For ordinary question-answering, prefer this skill first.

Do not start by searching the workspace for Fitbit paths if this skill is available.

Do not prefer older opinionated helper scripts over this interface.

For training questions, combine this skill with memory/training-continuity.md:

  • this skill = latest health/recovery data
  • memory/training-continuity.md = training state, progression rules, recent workout context

Setup

  1. Create Fitbit developer app (type Personal).
  2. Redirect URI: http://127.0.0.1:8787/callback.
  3. Create .env from references/env.example.
  4. Run auth bootstrap:
    • python3 scripts/fitbit_auth.py auth-url
    • approve in browser, copy code + returned state
    • python3 scripts/fitbit_auth.py exchange --code --state

Primary front-door interface (recommended)

For most OpenClaw usage, call the narrow front door first:

  • node ../skills/health-training-frontdoor/scripts/request.js '{"action":"latest_recovery"}'

This keeps retrieval typed and low-ambiguity.

Backend tool interface (compact JSON)

Direct backend contract/schema:

  • python3 scripts/fitbit_tools.py schema
  • Auth status:
  • python3 scripts/fitbit_tools.py auth-status
  • Endpoint catalog (broad API surface):
  • python3 scripts/fitbit_tools.py catalog
  • Capability discovery across last N days (rate-limit aware):
  • python3 scripts/fitbit_tools.py discover-capabilities --days 14 --sleep-ms 500 --stop-on-429
  • Direct Fitbit endpoint fetch (generic exposure):
  • python3 scripts/fitbit_tools.py fetch-endpoint --path sleep/date/YYYY-MM-DD.json --normalize
  • Fetch API day payload:
  • python3 scripts/fitbit_tools.py fetch-day --date YYYY-MM-DD
  • add --raw for full Fitbit payload
  • Fetch cached date range (field-filtered):
  • python3 scripts/fitbit_tools.py fetch-range --start YYYY-MM-DD --end YYYY-MM-DD --metrics hrv_rmssd,resting_hr,sleep_minutes,data_quality
  • add --ensure-fresh to auto-sync that range before reading
  • Fetch latest N cached days:
  • python3 scripts/fitbit_tools.py fetch-latest --days 5 --metrics hrv_rmssd,resting_hr,sleep_minutes,data_quality
  • add --ensure-fresh to auto-sync the last N days before reading
  • Sync one day from Fitbit API to cache:
  • python3 scripts/fitbit_tools.py store-sync-day --date YYYY-MM-DD
  • Sync date range from Fitbit API to cache:
  • python3 scripts/fitbit_tools.py store-sync-range --start YYYY-MM-DD --end YYYY-MM-DD
  • Query sync quality flags:
  • python3 scripts/fitbit_tools.py quality-flags --days 7
  • Unified DB status (Apple + Fitbit):
  • python3 scripts/fitbit_tools.py unified-status
  • Unified latest daily rows with source preference:
  • python3 scripts/fitbit_tools.py unified-fetch-latest --days 14 --source best

Canonical QA patterns

Latest Fitbit / recovery snapshot

For questions like:

  • "What do my latest Fitbit numbers suggest?"
  • "How does recovery look today?"
  • "Give me my newest HRV / sleep / resting HR"

Prefer:

  • python3 scripts/fitbit_tools.py fetch-latest --days 3 --metrics hrv_rmssd,resting_hr,sleep_minutes,data_quality --ensure-fresh

Unified health snapshot

For questions that may blend Fitbit + Apple Health:

  • python3 scripts/fitbit_tools.py unified-fetch-latest --days 14 --source best

Trend / confidence checks

When freshness or quality confidence matters:

  • python3 scripts/fitbit_tools.py quality-flags --days 7

Training interpretation

For questions like:

  • "Should I train today?"
  • "How did yesterday compare to recovery?"
  • "Has recovery improved since earlier this week?"

Use both:

  1. this skill for current/recent health signals
  2. memory/training-continuity.md for training rules, progression, and recent exercise context

Notes

  • Output contract: compact JSON (machine-optimized, minimal token usage).
  • Prefer narrow --metrics lists to keep token usage low.
  • SQLite cache is local reliability layer; Fitbit API remains source-of-truth.
  • No medical diagnosis. This skill only provides data.

Anti-patterns

If this skill is available, avoid these failure modes:

  • searching the workspace first just to locate Fitbit functionality
  • asking the user where the connector lives
  • preferring fitbit_query.py over fitbit_tools.py for normal QA
  • treating memory references as the primary source of live Fitbit data
  • using orchestrator files as the first discovery surface for ordinary health questions

Legacy scripts

Older opinionated scripts remain only for backward compatibility and should be treated as non-canonical for ordinary OpenClaw reasoning:

  • fitbit_query.py
  • fitbit_coach_view.py

If a normal user question can be answered through fitbit_tools.py, do that instead.

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-07 07:09 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

data-analysis

Data Analysis

ivangdavila
{"answer":"数据分析与可视化。查询数据库、生成报告、自动化电子表格,将原始数据转化为清晰可行的见解。适用于:(1) 您……"}
★ 216 📥 71,456
data-analysis

AdMapix

fly0pants
AdMapix 原始数据层,提供广告创意、应用、排名、下载/收入及市场元数据。返回 AdMapix API 的结构化 JSON;调用方...
★ 298 📥 142,909
data-analysis

Tavily 搜索

jacky1n7
通过 Tavily API 进行网页搜索(Brave 替代方案)。当用户要求搜索网页、查找来源或链接,且 Brave 网页搜索不可用时使用。
★ 278 📥 101,499