Проблема: ваше здоровье живет в сотне разных экосистем
Oura Ring показывает отличный сон, но вы чувствуете себя разбитым. Весы Xiaomi радуют цифрами, а джинсы не сходятся. В Notion лежат заметки о самочувствии, но связи между ними вы не видите.
Каждое устройство и приложение создает свой изолированный мир. Oura говорит про HRV, Xiaomi - про процент жира, Notion хранит субъективные ощущения. Сводить это в единую картину - задача для полноценного аналитика, которого у вас нет. До сегодняшнего дня.
Ключевой момент 2026 года: AI-модели наконец-то научились работать с неструктурированными мультимодальными данными. Claude Opus 4.5 понимает контекст между разными типами метрик без предварительной жесткой нормализации.
Решение: превращаем Claude в вашего цифрового терапевта
Claude Opus 4.5 - это не просто чат-бот. Это аналитический движок с долгой контекстной памятью и способностью работать с инструментами (tools). Через систему Connectors он может напрямую запрашивать данные из API, а результаты анализа записывать обратно в ваши системы.
Представьте диалог: "Claude, почему вчера мой глубокий сон был на 40% меньше нормы, хотя я лег вовремя?"
AI в реальном времени:
- Запросит данные сна из Oura API
- Проверит вес и состав тела из журнала Xiaomi
- Найдет заметки о ужине и стрессе в Notion
- Сравнит с аналогичными периодами за последний месяц
- Даст гипотезу: "Вы съели тяжелую пищу за 2 часа до сна, что подтверждается записью в Notion. Плюс весы показывают +0,5 кг воды. Рекомендую..."
0Что понадобится перед началом
| Компонент | Версия/Требования (2026) | Комментарий |
|---|---|---|
| Claude API | Anthropic Messages API, поддерживающий Claude 3.5 Opus и 4.5 | Используем последнюю модель Claude Opus 4.5 для лучшего понимания контекста |
| Oura Ring | API v2, OAuth токен | Нужен доступ к данным сна, готовности, активности |
| Весы Xiaomi | Модель с синхронизацией в Mi Fit / Zepp Life | Данные будем забирать через неофициальное API или экспорт |
| Notion | Рабочее пространство, интеграция с API | Создадим базу данных для логов и аналитики |
| Сервер/Функция | Python 3.11+, FastAPI или Cloud Function | Для оркестрации вызовов и хранения токенов |
1Достаем данные из Oura Ring через официальный API
Первое - получаем доступ к API Oura. Идем в Oura Cloud, создаем приложение, получаем client_id и client_secret.
OAuth flow в 2026 немного изменился - теперь требуется PKCE для нативных приложений. Но для серверного сценария используем простой Personal Access Token.
Не храните токен в коде! Используйте переменные окружения или secrets manager. Токен Oura дает доступ ко ВСЕМ вашим биометрическим данным.
Пример запроса за последние данные сна:
import requests
from datetime import datetime, timedelta
OURA_TOKEN = os.getenv('OURA_ACCESS_TOKEN')
def get_oura_sleep():
today = datetime.now().date()
week_ago = today - timedelta(days=7)
headers = {
'Authorization': f'Bearer {OURA_TOKEN}'
}
# API v2 endpoint
response = requests.get(
f'https://api.ouraring.com/v2/usercollection/sleep',
headers=headers,
params={'start_date': week_ago, 'end_date': today}
)
if response.status_code == 200:
return response.json()['data']
else:
raise Exception(f'Oura API error: {response.status_code}')
# Получаем ключевые метрики
sleep_data = get_oura_sleep()
latest_sleep = sleep_data[0] if sleep_data else {}
sleep_metrics = {
'total_sleep': latest_sleep.get('total_sleep_duration', 0) / 3600, # в часах
'deep_sleep': latest_sleep.get('deep_sleep_duration', 0) / 3600,
'rem_sleep': latest_sleep.get('rem_sleep_duration', 0) / 3600,
'hrv': latest_sleep.get('hrv', 0),
'readiness': latest_sleep.get('readiness_score', 0)
}Claude отлично понимает эти данные в сыром JSON. Но для человека я бы рекомендовал создать небольшой адаптер, который преобразует данные в более читаемый формат перед отправкой в промпт.
2Подключаем весы Xiaomi - самая грязная часть работы
Здесь официального API нет. Есть три пути:
- Использовать бэкдор через Mi Fit API (недокументированный, ломается)
- Экспортировать данные в Google Fit / Apple Health, а оттуда забирать
- Парсить локальный файл приложения на телефоне
Я выбрал второй путь как наиболее стабильный в 2026. Настраиваем синхронизацию Mi Fit с Google Fit. Затем используем Google Fitness API.
# Для Google Fitness API нужна OAuth 2.0 настройка
# Создаем проект в Google Cloud, включаем Fitness API
def get_xiaomi_weight_data():
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
# Токен получаем через OAuth flow
creds = Credentials.from_authorized_user_info(info)
service = build('fitness', 'v1', credentials=creds)
# Источник данных для весов Xiaomi обычно имеет такое название
data_source = "raw:com.xiaomi.hm.health:weight"
now = int(time.time() * 1000000000) # наносекунды
day_ago = now - 86400000000000 # 24 часа назад
dataset = service.users().dataSources().\
datasets().\
get(userId='me', dataSourceId=data_source, \
datasetId=f'{day_ago}-{now}').execute()
weights = []
for point in dataset.get('point', []):
weight_kg = point['value'][0]['fpVal']
timestamp = int(point['startTimeNanos']) / 1e9
weights.append({
'weight': weight_kg,
'timestamp': datetime.fromtimestamp(timestamp),
'fat_percent': point['value'][1]['fpVal'] if len(point['value']) > 1 else None
})
return weightsЕсли этот путь кажется слишком сложным, рассмотрите AIDA - контейнер с 400+ инструментами. Там есть готовые скрипты для работы с IoT-устройствами.
3Создаем хаб данных в Notion
Notion - идеальное место для консолидации. Создаем базу данных "Здоровье" с такими свойствами:
- Дата (Date)
- Вес (Number)
- Процент жира (Number)
- HRV (Number)
- Глубокий сон (Number)
- Самочувствие (Select: Отлично/Хорошо/Нормально/Плохо)
- Заметки (Text)
API Notion в 2026 стабильно работает. Получаем интеграционный токен, делитесь базой данных с интеграцией.
import requests
import json
NOTION_TOKEN = os.getenv('NOTION_TOKEN')
DATABASE_ID = os.getenv('HEALTH_DB_ID')
def add_to_notion(health_data):
url = "https://api.notion.com/v1/pages"
headers = {
"Authorization": f"Bearer {NOTION_TOKEN}",
"Content-Type": "application/json",
"Notion-Version": "2022-06-28" # Актуальная версия на 2026
}
properties = {
"Дата": {
"date": {"start": health_data['date']}
},
"Вес": {
"number": health_data['weight']
},
"HRV": {
"number": health_data['hrv']
},
"Самочувствие": {
"select": {"name": health_data['mood']}
}
}
data = {
"parent": {"database_id": DATABASE_ID},
"properties": properties
}
response = requests.post(url, headers=headers, data=json.dumps(data))
return response.status_code == 2004Собираем все вместе в Claude Connector
Claude Projects (анонсированы в 2025) позволяют создавать специализированных агентов с доступом к инструментам. Настраиваем Connector, который умеет:
- Вызывать наш серверный endpoint за свежими данными
- Читать историю из Notion
- Анализировать тренды
- Записывать выводы обратно в Notion
Конфигурация инструментов для Claude API:
{
"tools": [
{
"name": "get_health_metrics",
"description": "Fetch latest health data from Oura Ring, Xiaomi scales, and Notion",
"input_schema": {
"type": "object",
"properties": {
"days_back": {
"type": "integer",
"description": "Number of days to look back"
}
}
}
},
{
"name": "analyze_trend",
"description": "Analyze health trends over time",
"input_schema": {
"type": "object",
"properties": {
"metric": {
"type": "string",
"enum": ["weight", "hrv", "deep_sleep", "readiness"]
},
"period": {
"type": "string",
"enum": ["week", "month", "quarter"]
}
}
}
},
{
"name": "log_insight",
"description": "Save an insight to Notion health database",
"input_schema": {
"type": "object",
"properties": {
"insight": {
"type": "string",
"description": "The health insight to save"
},
"severity": {
"type": "string",
"enum": ["info", "warning", "action"]
}
}
}
}
]
}Когда Claude вызывает get_health_metrics, наш сервер собирает данные из всех источников, нормализует их и возвращает единым JSON. Claude с его контекстом в 200K токенов может анализировать месяцы таких данных.
5Задаем правильные вопросы - где проявляется магия
Типичные ошибки: спрашивать "Как мое здоровье?" или "Все ли хорошо?". Claude выдаст общую воду.
Правильные вопросы контекстуальны и конкретны:
- "На основе данных за последние 7 дней, какие 3 фактора больше всего повлияли на мой показатель готовности (readiness)? Сравни с предыдущей неделей."
- "Заметил, что глубокий сон снизился на 15% в последние 3 дня. Есть ли корреляция с временем ужина или потреблением кофеина? Проверь мои заметки в Notion."
- "Мой вес вырос на 0,8 кг за неделю, но процент жира не изменился. Это отеки или мышцы? Что говорят данные о гидратации и HRV?"
- "Спрогнозируй, как повлияет на мой сон и восстановление запланированная на завтра интенсивная тренировка. Учитывай текущие метрики и историю."
Пример промпта для Claude:
Ты - персональный аналитик здоровья. У тебя есть доступ к моим данным из Oura Ring, весов Xiaomi и дневника в Notion.
Пожалуйста:
1. Проанализируй тренд HRV за последние 14 дней
2. Найди дни с аномально низкими значениями
3. Сопоставь эти дни с:
- Качеством сна (глубокий + REM фазы)
- Изменениями веса и состава тела
- Заметками о самочувствии и стрессе в Notion
4. Выяви потенциальные паттерны
5. Дай 2-3 конкретные рекомендации на следующую неделю
Будь конкретен. Если видишь статистически значимую корреляцию - укажи. Если данных недостаточно - скажи, что именно нужно отслеживать.Ошибки, которые совершают 95% людей
- Фетишизация точности. Весы Xiaomi показывают процент жира с погрешностью ±3%. Oura измеряет температуру с точностью ±0,1°C. Не нужно строить выводы на разнице в 0,5%. AI должен учитывать погрешность приборов.
- Отсутствие бейзлайна. Claude не знает, что для вас "нормально". Первые 2 недели - сбор референсных данных. Только потом можно говорить об отклонениях.
- Игнорирование контекста. Выпили бокал вина? Перелетели через 5 часовых поясов? Болели? Эти события нужно явно заносить в Notion, иначе AI будет строить неверные гипотезы.
- Слепая вера в рекомендации. Claude Opus 4.5 - не врач. Это аналитический инструмент. Если он говорит "похоже на начало ОРВИ" - это повод измерить температуру градусником, а не бежать в аптеку.
Самая опасная ошибка - пытаться поставить диагноз по советам AI. Помните скандал 2024 года, когда ChatGPT советовал голодать при диабете? Claude обучен быть осторожнее, но пределы его компетенции четко обозначены Anthropic.
FAQ: вопросы, которые вы постеснялись спросить
| Вопрос | Короткий ответ | Развернуто |
|---|---|---|
| Безопасно ли отдавать биометрию в API? | Не совсем | Данные проходят через Anthropic серверы. Хоть они и не используются для тренировки, утечки возможны. Для параноиков: локальный Ollama с медицинской моделью плюс полная изоляция данных. |
| Сколько это стоит? | ~$50-100 в месяц | Claude Opus 4.5: ~$3 за 1K промптов. Oura API: бесплатно. Notion: бесплатно до 1000 блоков. Сервер: $10-20. Итого меньше, чем один поход к нутрициологу. |
| Что насчет медицинской лицензии? | У Claude ее нет | Anthropic четко позиционирует Claude for Health как "wellness assistant", не медицинский инструмент. Но они активно движутся в эту сторону. |
| А если я спортсмен? | Будет еще полезнее | Добавьте данные тренировок из Strava/Garmin. Claude найдет связи между нагрузкой, восстановлением и прогрессом. Спортсмены - идеальные пользователи такой системы. |
Главный нюанс 2026 года: интеграции становятся проще, но ответственность растет. Раньше вы просто смотрели на цифры в приложении. Теперь AI выдает каузальные гипотезы. "Падение HRV на 12% коррелирует с увеличением потребления кофеина на 200 мг" - это уже не просто данные, это почти рекомендация.
Следующий шаг - добавление данных о питании (см. как Omada Health учила Llama 3.1) и генетики. Тогда картина станет по-настоящему полной.
А через год, глядишь, и до полноценного медицинского ассистента дойдем. Пока же - ваш личный AI-доктор в телефоне, который знает о вашем теле больше, чем вы сами.