SuperAPI AI 工具集

withings-health

办公与效率

查看项目

更新于 10-16 03:52

技能介绍

用途

该技能用于与用户的 Withings 账户交互,从 Withings 设备(智能体重秤、睡眠分析仪、活动追踪器等)获取全面的健康指标。

何时使用

当用户出现以下情况时使用此技能:

  • 询问体重或体重历史
  • 想查看身体成分(脂肪百分比、肌肉量、骨骼量、水分)
  • 请求每日活动数据(步数、距离、消耗卡路里)
  • 询问睡眠数据(时长、质量、深睡、REM)
  • 提及 "Withings" 或任何 Withings 设备(Body+、Sleep Analyzer、ScanWatch 等)
  • 想追踪一段时间内的健康进展

设置:创建 Withings 开发者应用

使用此技能前,需要创建一个免费的 Withings 开发者应用以获取 API 凭据。

第 1 步:创建 Withings 开发者账户

  • 前往 Withings 开发者门户
  • 点击 Sign Up,或如果已有 Withings 账户则点击 Log In
  • 接受开发者服务条款

第 2 步:创建应用

  • 导航至 My Apps → Create an Application
  • 填写应用详情:
    • Application Name:选择一个名称(例如 "My Clawdbot Health")
    • Description:用例的简要描述
    • Contact Email:你的电子邮件地址
    • Callback URL:http://localhost:8080(OAuth 必需)
    • Application Type:选择 "Personal Use" 或适当类型
  • 提交应用

第 3 步:获取凭据

应用创建后:

  • 前往 My Apps 并选择你的应用
  • 你将找到:
    • Client ID → 设置为 WITHINGS_CLIENT_ID 环境变量
    • Client Secret → 设置为 WITHINGS_CLIENT_SECRET 环境变量

第 4 步:配置环境变量

添加到你的 Clawdbot 环境:

export WITHINGS_CLIENT_ID="your_client_id_here" export WITHINGS_CLIENT_SECRET="your_client_secret_here"

或在技能目录中创建 .env 文件(该文件会被 git 忽略):

WITHINGS_CLIENT_ID=your_client_id_here WITHINGS_CLIENT_SECRET=your_client_secret_here

配置

该技能使用位于 {baseDir} 中的 wrapper.js 脚本。

在任何数据检索之前,检查用户是否已认证。如果错误信息提到 "No token found",引导用户完成初始认证流程。

可用命令

1. 认证

首次设置——生成 OAuth URL:

node {baseDir}/wrapper.js auth

用户访问该 URL 并获取授权码后:

node {baseDir}/wrapper.js auth YOUR_CODE_HERE

2. 获取体重

检索最新体重测量值:

node {baseDir}/wrapper.js weight

返回最近 5 条体重记录,JSON 格式。

示例输出:

[ { "date": "2026-01-17T08:30:00.000Z", "weight": "75.40 kg" }, { "date": "2026-01-16T08:15:00.000Z", "weight": "75.65 kg" } ]

3. 获取身体成分

检索全面的身体指标(脂肪、肌肉、骨骼、水分、BMI):

node {baseDir}/wrapper.js body

返回最近 5 条身体成分测量值。

示例输出:

[ { "date": "2026-01-17T08:30:00.000Z", "weight": "75.40 kg", "fat_percent": "18.5%", "fat_mass": "13.95 kg", "muscle_mass": "35.20 kg", "bone_mass": "3.10 kg", "hydration": "55.2%" } ]

4. 获取活动

检索每日活动数据(步数、距离、卡路里):

node {baseDir}/wrapper.js activity

可选指定天数(默认:7):

node {baseDir}/wrapper.js activity 30

示例输出:

[ { "date": "2026-01-17", "steps": 8542, "distance": "6.23 km", "calories": 2150, "active_calories": 450, "soft_activity": "45 min", "moderate_activity": "22 min", "intense_activity": "8 min" } ]

5. 获取睡眠

检索睡眠数据与质量:

node {baseDir}/wrapper.js sleep

可选指定天数(默认:7):

node {baseDir}/wrapper.js sleep 14

示例输出:

[ { "date": "2026-01-17", "start": "23:15", "end": "07:30", "duration": "8h 15min", "deep_sleep": "1h 45min", "light_sleep": "4h 30min", "rem_sleep": "1h 30min", "awake": "30min", "sleep_score": 82 } ]

错误处理

常见错误及解决方法:

错误 原因 解决方案
"No token found" 首次使用,未认证 运行 node wrapper.js auth 并遵循 OAuth 流程
"Failed to refresh token" Token 过期且刷新失败 使用 node wrapper.js auth 重新认证
"API Error Status: 401" 凭据无效或过期 检查 CLIENT_ID 和 CLIENT_SECRET,重新认证
"API Error Status: 503" Withings API 暂时不可用 稍后等待并重试
数据为空 请求时间段内无测量数据 用户需要同步其 Withings 设备

说明

  • Token 过期时会自动刷新
  • 使用的 Withings API 权限范围:user.metrics、user.activity
  • 数据可用性取决于用户拥有的 Withings 设备
  • 某些指标(如身体成分)需要兼容的智能体重秤