SuperAPI AI 工具集

withings

数据与分析

查看项目

更新于 10-26 18:14

技能介绍

Withings 是一个技能,通过随附的 withings 命令行工具查询 Withings 账户中的健康与运动数据。

用途 当用户需要查看自己的 Withings 数据时启用,覆盖以下类别:

  • 身体指标:体重、BMI、体脂、血压、心率;
  • 每日活动:步数、卡路里、距离、活跃时长;
  • 睡眠会话:评分、阶段、时长、呼吸率;
  • 锻炼会话:跑步、步行、骑行等。

主要能力 工具提供三个常用子命令:

  • withings status:查询连接状态,返回 {ok, status, connect_url?, disconnect_url?, reason?};
  • withings list-fields --category <CAT>:列出某类别可用字段,字段名为 snake_case,名称中带单位;
  • withings query --category <CAT> --start-date <YYYY-MM-DD> [--end-date --interval --fields]:返回带类型的 snake_case 记录,结果为 JSON 数组。

可用类别包括:

  • daily-metrics:活动和身体测量的每日汇总,支持 --interval hourly|daily|weekly(默认 daily)。计数器字段求和(step_count、active_energy_burned_kcal、distance_walking_running_meters),hr_average_bpm 取平均,hr_max_bpm 取最大值,体重/血压/体脂等身体测量取桶内最后一条;
  • sleep:每个睡眠会话一行,含评分、阶段、时长、心率、呼吸;
  • workout:每个锻炼会话一行,含锻炼类型名称、时长、距离、卡路里、心率。

输出为 JSON,日期时间按记录时区以本地 YYYY-MM-DD HH:MM:SS 格式呈现。会话行包含 id(前缀 withings_<id>)、start_datetime、end_datetime、timezone;daily-metrics 桶包含 date / hour / week_start 与 record_count。

使用方式

  1. 调用任何 Withings API 前先运行 withings status;
  2. 若状态为 not_connected,需以 Connect Withings 形式分享连接入口,不要直接展示原始 URL;用户完成回调后重新运行 status,确认已连接再继续;
  3. 断开连接时运行 withings disconnect,如有 disconnect_url 则以链接形式分享;不得打印令牌或凭据。

示例:

  • withings query --category workout --start-date 2026-05-01(近期锻炼)
  • withings query --category daily-metrics --start-date 2026-04-01 --fields body_mass_kg(体重趋势)
  • withings query --category daily-metrics --start-date 2026-04-01 --interval weekly --fields step_count(每周步数合计)

适用场景 适合需要定期汇总、查看个人健康与活动趋势、按周或按小时聚合数据,以及获取睡眠和锻炼记录的使用场景。

限制与注意事项

  • 字段名必须使用带单位的 snake_case(如 body_mass_kg、step_count、hr_average_bpm、sleep_total_duration_sec),Withings 原生名称(calories、distance、hr_average、weight)无效;不确定字段名时先运行 list-fields;
  • --interval 已按规则聚合,不要对桶输出再在客户端做二次聚合;
  • 用户未指定日期时默认最近 7 天;
  • 查询返回空数组时应明确告知,不得编造数值;
  • query 未覆盖的数据可通过旧版命令(如 measures --meas-types <ID>、sleep、heart-list / heart-get、activity、sleep-summary、intraday、devices)获取原始数据;
  • 文档未提供收费、平台支持范围等信息,暂未提供。