Blueprint open-source · Telegram + Supabase + WHOOP

Um coach de saúde pessoal que lembra de tudo.

Um agente no Telegram que lê seu wearable, guarda seu histórico num Supabase próprio e fundamenta cada resposta nos seus exames, genética e metas. Clone, aponte pro seu projeto e bot — e tenha um coach que revisa ontem e lê a recuperação de hoje.

Mapa do sistema Health OS: wearable, fotos e logs entrando no Supabase, o coach raciocinando e entregando a revisão matinal e o dashboard
⚠️ Não é aconselhamento médico. Isto é um blueprint de software, não orientação de saúde. É o que funcionou para uma pessoa que consultou seus médicos a cada passo — não é prescrição, diagnóstico nem recomendação para você. Converse com profissionais qualificados antes de mudar exames, suplementos, treino ou dieta. A IA pode errar ou alucinar: trate o que ela sugerir como pergunta para levar ao médico, nunca como instrução.
O que é

Específico ganha do genérico

Um coach fundamentado nos seus dados reais dá conselhos cientes do mecanismo, em vez de platitudes. O design inteiro força essa especificidade — e mantém tudo trancado no seu próprio Supabase privado.

🩺 Fundamentado nos seus dados

Os exames de sangue, SNPs de DNA, composição corporal e metas viram o contexto de cada resposta. Cada marcador mapeia para uma risk flag, um suplemento ou um alvo no schema.

🧠 A memória é o produto

Tudo é gravado em linhas estruturadas — comida, treinos, vitais, exames, check-ins — mais memória semântica das mensagens. O coach enxerga padrões ao longo de semanas, não só reage à última mensagem.

⌚ Recuperação como espinha do dia

Lê a recuperação do WHOOP da última noite e condiciona o plano de hoje ao número: verde, avança; vermelho, pega leve — e te ensina as suas próprias alavancas.

Como funciona

Do dado ao conselho, num só ciclo

No início de cada turno o agente lê um snapshot da sessão compacto — tendência de peso, ingestão de hoje, PA, recuperação da última noite, padrão de sono dos 7 dias e metas — então sempre responde a partir do contexto atual.

Wearable · Fotos · Logs Supabase (14 tabelas) Snapshot da sessão Coach (LLM) Revisão matinal · Dashboard · Conselhos

A conexão WHOOP — o blueprint principal

Crie um app WHOOP, registre o callback, habilite read:recovery read:sleep read:cycles offline e autorize uma vez. Um cron diário (whoop-sync.py) puxa recuperação + sono para a tabela vitals, rotacionando o refresh token a cada execução e enviando um user-agent de navegador (o Cloudflare bane o padrão do Python).

Fluxo de configuração única do WHOOP: app OAuth, callback e escopos
Configuração única: app OAuth, redirect/callback e escopos.
Caminho dos dados do WHOOP: do JSON da API até o coach
Caminho dos dados: do JSON da API ao mapeamento na tabela vitals.
Pré-requisitos

O que você precisa ter

Todo segredo vive em ~/.env (no seu home, nunca um .env de projeto, nunca commitado). Copie agent/.env.example e preencha.

Runtime

Python 3.9+ (scripts só com stdlib, exceto advice.py), Node para o agente + dashboard, e ffmpeg só para os clipes de treino.

# única dependência pip
pip install requests

Serviços

Projeto Supabase privado + Supabase CLI para aplicar as migrations, e um bot do Telegram criado no @BotFather.

# bucket privado de fotos
python3 agent/scripts/db.py mkbucket health-assets

Chaves de API

Telegram, Supabase, OpenAI (embeddings) e Google/Gemini (visão). Opcionais: WHOOP, Apify e uma API de vídeo.

# ~/.env (exemplo)
HEALTH_BOT_TOKEN=
SUPABASE_URL=
OPENAI_API_KEY=
GOOGLE_API_KEY=
Guia de uso · passo a passo

Do clone ao coach no ar

Sete passos. O detalhe completo, ponta a ponta, está em docs/BUILD_GUIDE.md no repositório.

1

Clone o repositório

Tudo aqui é genérico ou exemplo — sem nenhuma informação pessoal de saúde. Traga seus próprios dados, bot e projeto Supabase.

git clone https://github.com/inematds/health-os && cd health-os
2

Provisione o Supabase e aplique as migrations

Projeto privado em região apropriada; faça o push de agent/supabase/migrations/ (cria pgvector e as 14 tabelas) e o bucket privado de fotos.

supabase db push   # aplica todas as migrations
python3 agent/scripts/db.py mkbucket health-assets  # bucket privado
3

Configure os segredos em ~/.env

Copie o exemplo e preencha as chaves do Supabase, OpenAI, Google/Gemini, seu token do Telegram e (opcional) WHOOP. Nunca commite o seu ~/.env real.

cp agent/.env.example ~/.env   # depois preencha os valores
4

Crie o bot do Telegram

Gere o token no @BotFather e aponte telegram_bot_token_env no agent.yaml. Os slash commands (/checkin, /today, /sofar, /newday, /supplements, /advice) aparecem no menu "/".

# em agent.yaml
telegram_bot_token_env: HEALTH_BOT_TOKEN
5

Preencha o CLAUDE.md com o seu perfil

É o cérebro do coach: meta, exames de sangue, genética e restrições. Quanto mais específico o perfil, mais o conselho é ciente do mecanismo.

cp agent/CLAUDE.md ./CLAUDE.md   # e preencha com o seu perfil real
6

Conecte o WHOOP e agende o sync

OAuth único; depois agende whoop-sync.py algumas vezes pela manhã (idempotente). Use o crontab.example (Linux) ou o whoop-sync.plist.example (macOS launchd).

python3 agent/scripts/whoop-sync.py   # grava recovery_pct, hrv_ms, resting_hr, sleep_hours
7

Dispare o check-in matinal

O check-in é um turno do LLM — agende o prompt /checkin toda manhã pelo scheduler da sua plataforma. Ele abre com a recuperação da última noite e condiciona o plano do dia.

/checkin   # abre com a recuperação e gateia o plano de hoje
Exemplos

Um dia na vida

Um dia típico, todo no Telegram. Exemplo ilustrativo — não são números reais, e não é aconselhamento.

Diagrama da revisão matinal guiada pela recuperação
A revisão matinal guiada pela recuperação: liga a comida, cafeína e treino de ontem ao número de hoje.
Modelo de dados do Health OS com as 14 tabelas no Supabase
O modelo de dados: 14 tabelas no seu Supabase — da alimentação aos exames, mais memória semântica.
Construção

As fases de validação

O README traz um checklist completo para verificar no seu próprio setup. Em resumo, você valida o sistema em seis frentes:

Banco
Supabase + schemaProjeto privado, pgvector, as 14 tabelas, RLS sem policies, bucket health-assets e seed com as suas metas.
Agente
Agente + TelegramBot no @BotFather, o agente responde, slash commands no menu e o CLAUDE.md preenchido com o seu perfil.
Registro
LoggingFoto de comida → food_log, peso → weigh_ins, PA → vitals, exame → lab_results, e recall semântico das mensagens.
Wearable
WHOOPApp e escopos, OAuth único, whoop-sync gravando recuperação/HRV/RHR/sono, idempotente, com rotação de token e cron matinal.
Coaching
ComportamentoCheck-in abre com a recuperação, o plano é visivelmente gateado no número e o histórico se acumula em coach_summary.
Extras
OpcionalDashboard de tendências ao vivo, geração de clipe de demonstração de treino e RAG de conselhos com fonte citada.