SuperAPI AI 工具集

oura-analytics

数据与分析

查看项目

更新于 10-16 07:42

技能介绍

Oura Analytics 是一个用于整合和分析 Oura Ring 数据的技能,核心目标是通过 Oura Cloud API 拉取睡眠、准备度、活动和 HRV 等指标,并进行趋势分析、告警与报告生成。

主要能力

  • 数据获取:通过 OuraClient 类按日期范围获取睡眠数据、准备度数据等。
  • 趋势分析:OuraAnalyzer 类支持计算平均指标(如平均睡眠评分、平均准备度评分)和趋势(如 average_hrv 的变化趋势)。
  • 告警:alerts.py 脚本支持基于阈值触发通知,例如准备度低于 60、睡眠效率低于 80。
  • 报告:weekly_report.py 生成每周报告;oura_api.py 也支持通过命令生成每周报告。
  • 自动化:支持通过 ThinkFleet 的 cron 任务配置每日早晨简报、每周睡眠报告和每日 Obsidian 笔记。

使用方式

  • 设置环境变量 OURA_API_TOKEN 为个人访问令牌。
  • 使用命令行调用脚本,例如:
    • python {baseDir}/scripts/oura_api.py sleep --days 7
    • python {baseDir}/scripts/oura_api.py readiness --days 7
    • python {baseDir}/scripts/oura_api.py report --type weekly
    • python {baseDir}/scripts/alerts.py --days 7 --readiness 60 --efficiency 80
  • 在 Python 中导入 OuraClient 和 OuraAnalyzer 进行自定义分析(需设置 PYTHONPATH)。

环境变量

  • 必需:OURA_API_TOKEN。
  • 可选:KESSLER_TELEGRAM_BOT_TOKEN(回退到 TELEGRAM_BOT_TOKEN)、TELEGRAM_CHAT_ID、USER_TIMEZONE、OURA_OUTPUT_DIR。

脚本与参考

  • scripts/oura_api.py:Oura Cloud API 封装,包含 OuraAnalyzer 和 OuraReporter 类。
  • scripts/alerts.py:基于阈值的通知,命令行示例见上。
  • scripts/weekly_report.py:每周报告生成器。
  • references/api.md:Oura Cloud API 文档。
  • references/metrics.md:指标定义与解释。

适用场景

  • 获取 Oura Ring 指标(睡眠、准备度、活动、HRV)。
  • 分析随时间变化的恢复趋势。
  • 将睡眠质量与生产力或事件关联。
  • 为低准备度设置自动告警。
  • 生成每日、每周、每月的健康报告。

自动化

  • 通过 ThinkFleet 的 gateway 配置 cron 任务,示例包括:
    • 每日早晨简报(8:00 AM):thinkfleet cron add 命令,指定 cron 表达式、时区、会话、唤醒方式、投递渠道和消息。
    • 每周睡眠报告(周日 8:00 AM)。
    • 每日 Obsidian 笔记(8:15 AM)。
  • 需替换示例中的路径和 Telegram 聊天 ID。

限制

  • 需要 Oura API 个人访问令牌。
  • 告警和报告功能可能依赖可选的 Telegram 配置。
  • 自动化依赖 ThinkFleet 的 cron 配置,不在本仓库内。
  • 资料未提供收费、价格、平台限制或具体使用效果等信息。