OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  withings-health:从 Withings API 获取体重与健康指标数据

withings-health:从 Withings API 获取体重与健康指标数据

 
  ai ·  2026-02-05 12:34:11 · 3 次点击  · 0 条评论  

名称: withings-health
描述: 从 Withings API 获取健康数据,包括体重、身体成分(脂肪、肌肉、骨骼、水分)、活动和睡眠。当用户询问其 Withings 数据、体重历史、身体指标、每日步数、睡眠质量或任何来自 Withings 设备的健康测量值时,请使用此技能。
版本: 1.1.0
主页: https://developer.withings.com/
元数据: {"clawdbot":{"emoji":"⚖️","requires":{"bins":["node"],"env":["WITHINGS_CLIENT_ID","WITHINGS_CLIENT_SECRET"]}}}


此技能允许您与用户的 Withings 账户交互,以获取来自 Withings 设备(智能秤、睡眠分析仪、活动追踪器等)的全面健康指标。

何时使用此技能

在以下情况使用此技能:
- 用户询问其体重或体重历史
- 用户想查看其身体成分(脂肪率、肌肉量、骨量、水合状态)
- 用户请求其日常活动数据(步数、距离、消耗卡路里)
- 用户询问其睡眠数据(时长、质量、深睡、快速眼动睡眠)
- 用户提及 "Withings" 或任何 Withings 设备(Body+、Sleep Analyzer、ScanWatch 等)
- 用户想追踪其随时间推移的健康进展

设置:创建 Withings 开发者应用

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

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

  1. 访问 Withings 开发者门户
  2. 点击 注册,如果已有 Withings 账户则点击 登录
  3. 接受开发者服务条款

步骤 2:创建您的应用

  1. 导航至 我的应用创建应用
  2. 填写应用详情:
    • 应用名称:选择一个名称(例如,"My Clawdbot Health")
    • 描述:简要描述您的用例
    • 联系邮箱:您的邮箱地址
    • 回调 URLhttp://localhost:8080(OAuth 必需)
    • 应用类型:选择"个人使用"或合适的类型
  3. 提交应用

步骤 3:获取您的凭证

应用创建后:
1. 进入 我的应用 并选择您的应用
2. 您将找到:
- 客户端 ID → 设置为环境变量 WITHINGS_CLIENT_ID
- 客户端密钥 → 设置为环境变量 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 脚本。

在任何数据检索之前,请检查用户是否已认证。如果错误提示"未找到令牌",请引导用户完成初始认证流程。

可用命令

1. 认证

首次设置 - 生成 OAuth URL:

node {baseDir}/wrapper.js auth

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

node {baseDir}/wrapper.js auth YOUR_CODE_HERE

2. 获取体重

检索最新的体重测量值:

node {baseDir}/wrapper.js weight

以 JSON 格式返回最近的 5 个体重记录。

示例输出:

[
  { "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
  }
]

错误处理

常见错误及解决方法:

错误 原因 解决方案
"未找到令牌" 首次使用,未认证 运行 node wrapper.js auth 并遵循 OAuth 流程
"刷新令牌失败" 令牌过期且刷新失败 使用 node wrapper.js auth 重新认证
"API 错误状态:401" 凭证无效或已过期 检查您的 CLIENT_ID 和 CLIENT_SECRET,重新认证
"API 错误状态:503" Withings API 暂时不可用 稍后重试
数据为空 请求时间段内无测量数据 用户需要同步其 Withings 设备

注意事项

  • 令牌过期时会自动刷新
  • 使用的 Withings API 范围:user.metrics, user.activity
  • 数据可用性取决于用户拥有的 Withings 设备类型
  • 某些指标(如身体成分)需要兼容的智能秤
3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor