OpenHealth: хватит копить данные о здоровье
Большую часть здоровья решает образ жизни, а не врач. OpenHealth превращает данные трекеров и лёгкий дневник в персональные действия. Local-first, open-source.
У меня на руке WHOOP. И у доброй половины людей вокруг - тоже. Из них почти никто не смотрит дальше утренней цифры recovery. Браслет считает HRV, пульс, сон, фазы - данные капают годами. Решений из них не выходит ни одного.
Это и есть ловушка. Анализ крови - фотография одного утра. График с часов - красивая линия, которая ничего не меняет. Между двумя замерами проходят месяцы реальной жизни: что ел, как спал, сколько нервничал, во сколько лёг. Без лёгкого дневника этот промежуток - чёрный ящик. А именно в нём всё и происходит.
При этом большую часть здоровья решает не кабинет врача. По классической оценке (Schroeder, NEJM 2007) поведение и образ жизни объясняют около 40% исходов, тогда как медпомощь - порядка 10%. Сон, еда, движение, свет, стресс - то, что ты делаешь каждый день, весит больше, чем редкий визит к специалисту. И это работает даже против генов: при высоком генетическом риске болезни сердца здоровый образ жизни снижал риск коронарных событий почти вдвое (Khera et al., NEJM 2016).
Поэтому я собрал OpenHealth - личную, локальную систему здоровья поверх AI-агента. Интерфейс - твой Claude Code или Codex, а не ещё один дашборд, который надо осваивать. Данные не уходят с твоей машины.
Три слоя, один цикл
Данные. Трекеры дают цифры: HRV, пульс покоя, сон, нагрузка. OpenHealth тянет их из Apple Health, WHOOP, Oura, Garmin - берёт оттуда, где они уже есть, без ручного ввода.
Дневник. Здесь главное звено. Раз в день - лёгкая отметка про вчера: сон, еда, тренировка, свет, как себя чувствовал. Минимум усилий, как один утренний вопрос в WHOOP. Именно дневник связывает «как я живу» с тем, что показывают цифры. И это не ритуал ради ритуала: те, кто ведут записи стабильнее, и веса теряют больше - регулярность важнее идеальности (Burke et al., 2011). Цифровой трекинг питания и активности сам по себе даёт значимый эффект (Obesity Reviews 2021, систематический обзор RCT).
Действие. Корреляции между дневником и восстановлением - на твоём личном baseline, не на популяции - превращаются в 1-3 конкретных шага на сегодня. Каждый с уровнем доверия C1-C5: от «это установленный факт» до «сырая догадка». Не диагноз. Помощник для размышления, не врач.
Почему персонально, а не «как у всех»
Усреднённый совет проигрывает личному наблюдению. Разброс реакций на одну и ту же еду между людьми огромен: в исследовании PREDICT (Nature Medicine 2020) вариабельность отклика глюкозы и жиров на идентичные блюда доходила до кратной, а прямо измеренные гены объясняли лишь около 9% разницы по глюкозе. То есть дело не столько в генетике, сколько в том, что у каждого тела своя реакция.
У того же HRV нет универсальной «нормы»: у взрослых в покое значения тянутся от меньше 20 до больше 70 мс. Сравнивать с чужими бессмысленно - значим только твой собственный тренд относительно личного baseline.
Отсюда подход n-of-1: меняешь по одному параметру, смотришь на себе, ловишь связь. Самый честный эксперимент по твоему здоровью ставится на выборке из одного человека - на тебе.
Данные сами по себе ничего не меняют
Архив цифр не двигает здоровье ни на грамм. Двигает действие и понимание причины. Данные меняют поведение, только когда возвращаются тебе осмысленным ответом, а не пылятся в логах (систематический обзор, IJBNPA 2023).
Поэтому OpenHealth по умолчанию не подсовывает ещё один график. Он подталкивает мягко, но без поблажек: «вот одно простое из доказательных протоколов - иди сделай. И что ты сегодня реально сделал для здоровья?» Самонаблюдение работает не само по себе, а когда замыкается в цикл: наблюдение → цель → действие → обратная связь.
Local-first и открыто
Всё локально: сырые данные и ключи никуда не уходят. Ядро - Python без зависимостей, модули по доменам (сон, восстановление, цикл, анализы, дневник), уровни доверия C1-C5 и red-flag-проверки, которые обрывают интерпретацию и ведут к врачу, если что-то выглядит тревожно.
Desktop-приложение - coming soon. Скилы работают уже сейчас, на обычных файлах в твоей папке. Код открыт: github.com/igindin/openhealth.
OpenHealth - помощник для размышления, не врач. Никаких диагнозов; медицинские решения принимаются с клиницистом, а тревожные симптомы - повод остановиться и обратиться за помощью. Цифры из научных работ приведены как ориентир и популяционная закономерность, не как клиническая точность для конкретного человека.