OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  oura-ring:获取 Oura Ring 准备就绪度、睡眠及 7 天趋势分析

oura-ring:获取 Oura Ring 准备就绪度、睡眠及 7 天趋势分析

 
  testing ·  2026-02-05 09:03:56 · 3 次点击  · 0 条评论  

名称: oura-ring
描述: 通过 Oura Cloud API V2 获取 Oura Ring 的每日准备度/睡眠数据及7天准备度趋势,并生成晨间准备度简报。


Oura Ring (V1)

本技能提供了一个公开的参考实现,用于从 Oura V2 API (/v2/usercollection/*) 获取 每日准备度睡眠 以及 7天准备度趋势 数据。

快速参考

  • CLI (原始数据):
  • python3 skills/oura-ring/cli.py --format json --pretty readiness
  • python3 skills/oura-ring/cli.py --format json --pretty sleep
  • python3 skills/oura-ring/cli.py --format json --pretty trends
  • python3 skills/oura-ring/cli.py --format json --pretty resilience
  • python3 skills/oura-ring/cli.py --format json --pretty stress

  • 晨间简报 (格式化输出):

  • ./skills/oura-ring/scripts/morning_brief.sh

功能特性

  • 晨间准备度简报: 基于最新评分提供行动建议。
  • 趋势分析: 洞察过去7天内的分数变化。
  • 恢复力追踪: 实时映射压力管理能力。

安装配置

1) 安装依赖 (推荐使用虚拟环境)

macOS/Homebrew 的 Python 通常会阻止全局 pip install (PEP 668),因此请使用虚拟环境:

python3 -m venv skills/oura-ring/.venv
source skills/oura-ring/.venv/bin/activate
python -m pip install -r skills/oura-ring/requirements.txt

2) 创建 .env 文件

创建 skills/oura-ring/.env 文件:

cp skills/oura-ring/.env.example skills/oura-ring/.env
# 然后编辑 skills/oura-ring/.env 文件

CLI 工具会读取以下环境变量:
- OURA_TOKEN (必需)
- OURA_BASE_URL (可选;默认为 https://api.ouraring.com/v2/usercollection)

获取 Oura 令牌 (OAuth2)

Oura V2 使用 OAuth2 承载令牌。

  1. 创建 Oura API 应用:
    - 访问:https://cloud.ouraring.com/oauth/applications
  2. 设置重定向 URI (用于本地测试,例如 http://localhost:8080/callback)。
  3. 打开授权 URL (替换 CLIENT_IDREDIRECT_URIscope 参数):
https://cloud.ouraring.com/oauth/authorize?response_type=code&client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&scope=readiness%20sleep
  1. 授权后,您将被重定向到您设置的重定向 URI,URL 中会包含 code=... 查询参数。
  2. 使用授权码换取访问令牌:
curl -X POST https://api.ouraring.com/oauth/token \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d grant_type=authorization_code \
  -d client_id=CLIENT_ID \
  -d client_secret=CLIENT_SECRET \
  -d redirect_uri=REDIRECT_URI \
  -d code=AUTH_CODE
  1. 将返回的 access_token 填入 skills/oura-ring/.env 文件,格式为 OURA_TOKEN=...

注意事项:
- 访问令牌可能会过期;您可能需要使用 refresh_token 来刷新令牌。
- 切勿.env 文件提交到版本控制系统。

使用方法

准备度数据

python3 skills/oura-ring/cli.py --env-file skills/oura-ring/.env --format json --pretty readiness

睡眠数据

python3 skills/oura-ring/cli.py --env-file skills/oura-ring/.env --format json --pretty sleep

趋势数据 (过去7天;支持分页)

python3 skills/oura-ring/cli.py --env-file skills/oura-ring/.env --format json --pretty trends

封装脚本:晨间准备度简报

./skills/oura-ring/scripts/morning_brief.sh

自定义环境文件路径:

OURA_ENV_FILE=/path/to/.env ./skills/oura-ring/scripts/morning_brief.sh

使用模拟模式运行 (无需令牌):

OURA_MOCK=1 ./skills/oura-ring/scripts/morning_brief.sh

验证 (无需令牌)

python3 skills/oura-ring/cli.py --mock readiness --format json
python3 skills/oura-ring/cli.py --mock sleep --format json
python3 skills/oura-ring/cli.py --mock trends --format json
3 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor