Oura Ring Analytics技能使用说明
2026-03-29
新闻来源:网淘吧
围观:25
电脑广告
手机广告
Oura 数据分析
快速开始
# Set Oura API token
export OURA_API_TOKEN="your_personal_access_token"
# Fetch sleep data (last 7 days)
python {baseDir}/scripts/oura_api.py sleep --days 7
# Get readiness summary
python {baseDir}/scripts/oura_api.py readiness --days 7
# Generate weekly report
python {baseDir}/scripts/oura_api.py report --type weekly
何时使用
在以下场景使用此技能:
- 获取 Oura Ring 指标(睡眠、准备度、活动、HRV)
- 分析随时间变化的恢复趋势
- 关联睡眠质量与生产力/事件
- 为低准备度设置自动警报
- 生成每日/每周/每月的健康报告
核心工作流
1. 数据获取
export PYTHONPATH="{baseDir}/scripts"
python - <<'PY'
from oura_api import OuraClient
client = OuraClient(token="YOUR_TOKEN")
sleep_data = client.get_sleep(start_date="2026-01-01", end_date="2026-01-16")
readiness_data = client.get_readiness(start_date="2026-01-01", end_date="2026-01-16")
print(len(sleep_data), len(readiness_data))
PY
2. 趋势分析
export PYTHONPATH="{baseDir}/scripts"
python - <<'PY'
from oura_api import OuraClient, OuraAnalyzer
client = OuraClient(token="YOUR_TOKEN")
sleep_data = client.get_sleep(start_date="2026-01-01", end_date="2026-01-16")
readiness_data = client.get_readiness(start_date="2026-01-01", end_date="2026-01-16")
analyzer = OuraAnalyzer(sleep_data, readiness_data)
avg_sleep = analyzer.average_metric(sleep_data, "score")
avg_readiness = analyzer.average_metric(readiness_data, "score")
trend = analyzer.trend(sleep_data, "average_hrv")
print(avg_sleep, avg_readiness, trend)
PY
3. 警报
python {baseDir}/scripts/alerts.py --days 7 --readiness 60 --efficiency 80
环境
必需:

OURA_API_TOKEN
可选(用于警报/报告/时区/输出):
KESSLER_TELEGRAM_BOT_TOKEN(备用TELEGRAM_BOT_TOKEN)TELEGRAM_CHAT_IDUSER_TIMEZONEOURA_OUTPUT_DIR
脚本
scripts/oura_api.py- 包含 OuraAnalyzer 和 OuraReporter 类的 Oura Cloud API 封装器scripts/alerts.py- 基于阈值的通知(命令行界面:python {baseDir}/scripts/alerts.py --days 7 --readiness 60)scripts/weekly_report.py- 周报生成器
参考资料
references/api.md- Oura Cloud API 文档references/metrics.md- 指标定义和解读
自动化(Cron 作业)
Cron 作业在 OpenClaw 的网关中配置,不在此代码库中。请将这些添加到您的 OpenClaw 设置中:
每日晨间简报(上午 8:00)
openclaw cron add \
--name "Daily Oura Health Report (Hybrid)" \
--cron "0 8 * * *" \
--tz "America/Los_Angeles" \
--session isolated \
--wake next-heartbeat \
--deliver \
--channel telegram \
--target "<YOUR_TELEGRAM_CHAT_ID>" \
--message "Run the daily Oura health report with hybrid format: Execute bash /path/to/your/scripts/daily-oura-report-hybrid.sh"
每周睡眠报告(周日上午 8:00)
openclaw cron add \
--name "Weekly Oura Sleep Report" \
--cron "0 8 * * 0" \
--tz "America/Los_Angeles" \
--session isolated \
--wake next-heartbeat \
--deliver \
--channel telegram \
--target "<YOUR_TELEGRAM_CHAT_ID>" \
--message "Run weekly Oura sleep report: bash /path/to/your/oura-weekly-sleep-alert.sh"
每日 Obsidian 笔记(上午 8:15)
openclaw cron add \
--name "Daily Obsidian Note" \
--cron "15 8 * * *" \
--tz "America/Los_Angeles" \
--session isolated \
--wake next-heartbeat \
--message "Create daily Obsidian note with Oura data. Run: source /path/to/venv/bin/activate && python /path/to/daily-note.py"
注意:将/path/to/your/替换为您的实际路径,并将<YOUR_TELEGRAM_CHAT_ID>替换为您的Telegram频道/群组ID。
文章底部电脑广告
手机广告位-内容正文底部


微信扫一扫,打赏作者吧~