SuperAPI AI 工具集

oura

通用与其它

查看项目

更新于 10-15 09:10

技能介绍

用途

Oura 是一个 Oura Ring 健康数据助手技能,用于连接 Oura Ring API,向用户展示其睡眠、准备度(readiness)、活动与压力等健康数据。当用户提及 Oura、睡眠评分、准备度评分、活动评分、步数、心率等内容时适用。

主要能力

  • 每日健康仪表盘:获取当天准备度、睡眠、活动、压力四个端点的数据,并以分块形式展示评分与关键指标。
  • 个人资料与戒指配置:展示年龄、体重、身高、生理性别、邮箱等个人信息,以及硬件类型、颜色、设计、固件版本、尺寸、设置日期等戒指详情。
  • 多日查询:按日期范围查询单个或多个端点数据,支持睡眠、准备度、活动、压力、血氧、心率、运动、冥想/呼吸会话等。
  • 相关性分析:分析指标之间的关系(如睡眠是否影响准备度),支持同日或隔日(offset)相关性,适用于 daily_sleep、daily_readiness、daily_activity、daily_spo2、heartrate。
  • 恢复分析:分析运动恢复成本,支持按活动类型过滤、预测假设运动的恢复成本(需足够历史数据),并给出洞察与警告。

使用方式

首次使用需配置凭据:运行 /oura setup,输入 Oura client_id 与 client_secret,存储于 ~/.oura/config.json。凭据获取方式:访问 https://cloud.ouraring.com/oauth/applications 注册新应用,重定向 URI 设为 http://localhost:8910/callback,注册后复制 client_id 与 client_secret。

随后运行 /oura auth 完成 OAuth2 授权,浏览器打开 Oura 授权页,授权码在 localhost:8910/callback 自动捕获,令牌存储于 ~/.oura/tokens.json。

常用命令:

  • /oura status:检查认证状态。
  • /oura:运行每日健康仪表盘。
  • /oura profile:查看个人资料与戒指配置。

查询脚本示例:

cd {project_root}/.claude/skills/oura/scripts && node query.mjs --endpoint <name> --start YYYY-MM-DD --end YYYY-MM-DD
cd {project_root}/.claude/skills/oura/scripts && node query.mjs --endpoints <name1>,<name2>,<name3> --start YYYY-MM-DD --end YYYY-MM-DD
cd {project_root}/.claude/skills/oura/scripts && node query.mjs --correlate <name1>,<name2> --start YYYY-MM-DD --end YYYY-MM-DD --offset <days>

恢复分析示例:

cd {project_root}/.claude/skills/oura/scripts && node recovery.mjs --days 90
cd {project_root}/.claude/skills/oura/scripts && node recovery.mjs --activity pickleball --days 90
cd {project_root}/.claude/skills/oura/scripts && node recovery.mjs --activity pickleball --predict --predict-duration 90 --predict-intensity hard

日期范围推导:未指定时默认最近 7 天;“this week”/“last 7 days”为 7 天前至今天;“last 2 weeks”为 14 天前;“this month”/“last 30 days”为 30 天前;“last 3 months”/“last 90 days”最多取 60 天前。若用户请求超过 60 天,使用 60 天并告知 Oura API 仅提供约 60 天历史数据。

适用场景

  • 查看当天或近期的睡眠、准备度、活动、压力评分与指标。
  • 查询多日趋势,如本周睡眠、上月活动。
  • 分析指标间关系,如睡眠是否影响准备度。
  • 评估运动恢复成本、预测假设运动的恢复时间、安排训练计划。
  • 查看个人资料与戒指设备信息。

限制

  • 需要 Node.js 22+,脚本为 ESM(.mjs 文件)。
  • 首次授权会请求全部 OAuth 范围(personal、daily、heartrate、workout、tag、session、spo2),之后无法追加,需重新认证。
  • Oura API 仅提供约 60 天历史数据。
  • 部分数据需要有效的 Oura 会员资格。
  • 相关性分析不适用于 daily_stress、workout、session(无数字评分)。
  • 恢复预测模式需要足够的历史数据,否则仅展示历史模式并提示还需多少次运动。
  • 令牌在到期前 60 秒内自动刷新。
  • 凭据与令牌存储于本地文件,不会提交到版本控制。
  • 未同步的数据区块会被完全省略;若全部未同步则显示提示。
  • 评分显示为“pending”表示数据存在但评分尚未计算。
  • 错误处理包括未配置、未认证、令牌过期、速率限制、需要会员、需要更新应用、访问被禁止等情况,并给出对应提示。