PTENES
MÓDULO 3.2

🍽️ Comida y entrenamiento por foto

Registrar sin escribir macros: la foto de la comida se convierte en food_log por la visión, el entrenamiento se convierte en una línea, y todo eso repercute en la recuperación de mañana. Más presión y peso.

7
Temas
~35
Minutos
Práctico
Nivel
Uso
Tipo
Tu progreso en este módulo 0% · 0 de 7
1

📸 Foto del desayuno → macros

La forma de registrar comida en HealthOS no es escribir gramos, sino enviar la foto del plato. La visión (modelo Gemini) mira la imagen, estima la proteína y los demás macros, plantea flags (p. ej., grasa saturada alta) y registra todo en una línea de food_log. Solo revisas la respuesta.

🟢 ¿Nuevo por aquí? Dos términos

  • Visión (Gemini) — es el modelo de IA que "ve" la foto. En vez de describirla, el modelo lee la imagen y devuelve una estimación de la comida y sus macros.
  • Macro — «macronutriente»: proteína, carbohidratos y grasa. Son los tres valores que el coach sigue día a día.
📷 Foto del platotú envías en el chat 🧠 Visión (Gemini)estima los macros + indicadores 🗄️ food_log1 línea registrada 🌙 Recuperación mañanael dato vuelve no tienes que escribir ni un gramo: la foto hace el registro

📊 Cómo leer: sigue la imagen de izquierda a derecha. El recuadro morado (la visión) es el paso que hace el trabajo: lee la imagen, estima y marca las flags. El final de la línea muestra que ese dato no desaparece después del registro: vuelve a aparecer en la recuperación del día siguiente (tema 6).

1

📷 Tú tomas una foto

Toma una foto del plato y envíala por Telegram, con una leyenda breve si quieres ayudar ("huevos revueltos y aguacate").

2

🧠 La visión estima

Gemini identifica los alimentos, estima las proteínas, las grasas y los carbohidratos, y señala alertas relevantes (p. ej., alto contenido de grasas saturadas).

3

🗄️ Guarda y confirma

La línea entra en food_log y el coach confirma en una frase: «~38g de proteína, bajo en grasas saturadas, registrado».

▶ Copia y usa en Telegram

Objetivo: registrar el desayuno sin escribir ningún macro.

Envías

[📷 foto do prato]  +  legenda: <ex.: ovos mexidos e abacate>

El coach responde

~38g proteína, baixa gordura saturada, registrado ✓
Cómo verificar: envía /today — la comida aparece en la lista de hoy; o ejecuta en el servidor python3 agent/scripts/db.py select food_log --limit 1 y mira la fila guardada. Los números son ilustrativos.

Conceptos clave

Foto, no gramos

Envías la imagen; la visión hace el cálculo.

Estimación

La proteína y los macros son aproximados, no se pesan.

Flags

Avisos como «alto en grasas saturadas».

Confirmación

Una frase cierra el registro en el chat.

2

🗄️ food_log: qué queda guardado

Cada foto se convierte en una fila estructurada en la tabla food_log. No es solo texto: son campos que el coach suma y cruza después (ingesta del día, tendencia, patrón). Por eso "recuerda" lo que comiste: todo está en líneas, no en una conversación que se pierde.

🧾 Lo que suele incluirse en la línea

•cuándo — fecha y hora de la comida.
•qué — descripción estimada («huevos + aguacate»).
•proteína — gramos estimados (el macro al que más se le da seguimiento).
•grasa / carbohidratos — estimaciones de los demás macros.
•flags — alertas («grasa saturada alta», «mucho sodio»).
•origen — foto o texto, para que el coach sepa qué tan seguro estás.

✓ Ideal para

  • ✓Tendencia: "alcanzaste tu meta de proteína 5 de los últimos 7 días".
  • ✓Patrón: "cada vez que cenas tarde, duermes peor".
  • ✓Registro sin fricción — la barrera es tomar una foto.

✗ No sustituye

  • ✗Pesar la comida — la foto es estimación visual, no la balanza.
  • ✗Precisión clínica para una dieta médica restringida.
  • ✗Adivinar qué está oculto en el plato (salsa, aceite).

💡 Buena para ver tendencias, no para medir el peso exacto

Los macros de la foto son estimaciones: excelentes para ver el dirección a lo largo de semanas, no para calcular con exactitud las calorías. Si un número realmente importa (dieta médica, definición agresiva), pesa y corrige la línea — el tema 5 muestra cómo.

Conceptos clave

Línea estructurada

Campos sumables, no texto suelto.

Flags

Avisos que el coach lee después.

Tendencia

El valor está en el patrón de semanas.

Estimación

Visión, no báscula.

3

🏋️ Registrar el entrenamiento

El entrenamiento también es un mensaje. Lo describes con texto libre — tipo, duración e intensidad — y el coach guarda una fila en la tabla workouts. Esto completa el otro lado de la cuenta: lo que ingresa (comida) y lo que gastas (entrenamiento), ambos junto a la recuperación.

▶ Copia y usa en Telegram

Objetivo: registrar la sesión de hoy como una línea en workouts.

Envías

treino: <tipo> <duração> intensidade <baixa|média|alta>
ex.: treino: push 45min intensidade alta

El coach responde

Push 45min, intensidade alta — registrado. Põe carbo perto da sessão. ✓
Cómo verificar: envía /today y mira el entrenamiento en la lista; o en el servidor python3 agent/scripts/db.py select workouts --limit 1.
Tipo — push, pull, piernas, carrera, movilidad… la etiqueta que uses.
Duración — cuánto duró (p. ej., 45min). Se registra como minutos en la línea.
Intensidad — baja / media / alta. Es lo que el coach cruza con la recuperación de mañana.

💡 Texto libre, no formulario

No necesitas memorizar un formato. «Hice una carrera suave de media hora» funciona igual: el agente extrae el tipo, la duración y la intensidad de la frase. El ejemplo estructurado de arriba es solo la vía más rápida.

Conceptos clave

workouts

La tabla donde el entrenamiento se convierte en una fila.

3 campos

Tipo, duración, intensidad.

Texto libre

Descríbelo con libertad; el agente lo extrae.

Compara con la recuperación

La carga de hoy pesa en el mañana.

4

🎬 Clip demo del ejercicio (opcional)

Esto es un extra. El script exercise_clip.py usa ffmpeg para preparar un clip corto que muestre un ejercicio — útil cuando no recuerdas cómo hacer un movimiento. No forma parte del registro; es una ayuda visual a demanda.

🟢 ¿Nuevo por aquí?

ffmpeg — es una herramienta de línea de comandos para procesar video y audio. En HealthOS solo aparece aquí, para generar el clip del ejercicio; el resto del coach no depende de ella.

▶ Copia y ejecuta en el servidor

Objetivo: generar un clip de demostración de un ejercicio (necesita tener ffmpeg instalado).

Comando

python3 agent/scripts/exercise_clip.py "<nome do exercício>"
ex.: python3 agent/scripts/exercise_clip.py "agachamento búlgaro"
Cómo verificar: el script termina y escribe un archivo de video corto; en la lista de verificación de build, el elemento "La generación del clip de demostración del entrenamiento funciona (exercise_clip.py)» pasa cuando el clip se genera sin errores.

🧭 Puedes saltártelo sin perderte nada

Si no instalaste ffmpeg o no usas clips, HealthOS sigue siendo 100% funcional: la comida, el entrenamiento, la recuperación y la presión no dependen de este paso. Es una comodidad, no una base.

Conceptos clave

exercise_clip.py

Genera el clip demo del movimiento.

ffmpeg

La herramienta de video que hay detrás.

Opcional

El coach funciona sin eso.

Bajo demanda

Generas cuando lo necesitas.

5

✏️ Corregir lo que la IA hizo mal

La visión calcula — y el coach avisa cuando está adivinando. Esto es intencional: el registro se mantiene fiel a la realidad y tú tienes el control. Cuando la estimación sea incorrecta, la corriges con un mensaje y la línea se actualiza. Tú eres quien verifica.

✓ Vale la pena corregir cuando

  • ✓La visión se equivocó con la cantidad ("eran 2 huevos, no 3").
  • ✓Faltó un elemento oculto (el aceite, la salsa).
  • ✓El coach dijo explícitamente que no estaba seguro.

✗ No hace falta preocuparse cuando

  • ✗La estimación está cerca: es una tendencia, no una báscula.
  • ✗Solo quieres saber la tendencia de la semana, no el gramo exacto.
  • ✗Buscar precisión clínica en una foto: para eso, pésala.

▶ Copia y usa en Telegram

Objetivo: corregir una estimación que quedó mal.

Envías

na verdade era <correção>
ex.: na verdade eram 2 ovos, não 3, e tinha azeite

El coach responde

Corrigido: ~30g proteína, gordura um pouco maior. Linha atualizada. ✓
Cómo verificar: envía /today de nuevo: la comida aparece con los números corregidos en lugar de los anteriores.

⚠️ La IA puede estar segura y equivocarse

El coach es un modelo de IA: puede adivinar con convicción. Toma la estimación como punto de partida, no como verdad. Para cualquier cosa que realmente importe para tu salud, consúltalo con un profesional; esto no es consejo médico.

Conceptos clave

Avisa cuando se pasa

El coach señala la incertidumbre.

Corriges

Un mensaje actualiza la fila.

Verificación humana

Tú eres el control de calidad.

Puede alucinar

Tener confianza no significa tener razón.

6

🔁 Ayer en el recovery de mañana

Aquí se cierra el ciclo. La cena tarde, la copa de vino, el entrenamiento intenso: todo eso se registra hoy, y reaparece mañana por la mañana dentro de la recuperación. El coach no solo muestra el número: señala la causa probable usando lo que registraste. Por eso vale la pena registrar.

🍽️ Comida + entrenamientose convierte en una fila hoy 😴 La recuperación cambiamañana siguiente 🎯 El coach ajustaconsejo del día el ajuste de hoy cambia lo que comes mañana — y el ciclo vuelve a empezar

📊 Cómo leer: las tres cajas forman un ciclo. Lo que registras (morado) cambia la recuperación (rojo), que cambia el consejo (cian) — y la línea discontinua cierra el ciclo de vuelta en la comida. Es el mismo loop del Módulo 1.1, ahora visto desde el lado de quien registra.

19:00 (hoy) "Bife y una copa de vino" → registrado; el coach ya nota que el alcohol puede afectar la recuperación durante la noche.
07:00 (mañana) "Recovery bajó a 48% (ámbar) — el vino y cenar tarde son la causa probable. Tómalo con calma hoy, apuesta por proteína, fibra e hidratación."
El vínculo La recuperación no "acusa" por sí sola: se explica al cruzarla con lo que registraste ayer. Números ilustrativos.

💡 Registrar es lo que le da causa al número

Sin el registro de ayer, el recovery de mañana sería solo un número suelto. Con él, se convierte en explicación: "fue el vino", "fue la cena tarde". Cuanto más registras, más aprende el coach cuáles son tus propios desencadenantes.

Conceptos clave

El bucle se cierra

La elección de hoy se convierte en el número de mañana.

Causa probable

El coach señala el porqué, no solo el qué.

Registro = causa

Sin datos, el número queda huérfano.

Tus botones

Aprendes qué influye en ti.

7

🩺 Presión y peso

Los dos registros más rápidos del día: la presión (BP) e o peso de la mañana (weigh-in). Cada uno es un mensaje. La presión va a la tabla vitals; el peso, en weigh_ins. Junto con la comida, permiten que el coach relacione la sal con la presión arterial, o la cena con el peso.

🟢 ¿Nuevo por aquí?

  • BP — «blood pressure», presión arterial. Tiene dos números: sistólica/diastólica (ej.: 120/80).
  • weigh-in — el pesaje, de preferencia a la misma hora todos los días (por la mañana, en ayunas) para que la tendencia sea comparable.

▶ Copia y usa en Telegram

Objetivo: registrar la presión y el peso de la mañana.

Envías

pressão <sistólica>/<diastólica>
peso <kg>
ex.: pressão 124/79   ·   peso 78.4

El coach responde

BP 124/79 registrada (vitals). Peso 78,4kg registrado (weigh_ins). ✓
Cómo verificar: en la lista de verificación de build, «A BP reading writes a vitals row" y "A weight message writes a weigh_ins row"; o python3 agent/scripts/db.py select vitals --limit 1.

🧂 El ejemplo del autor: sal × presión

En el caso del autor, registrar la comida y la presión juntos reveló un patrón: después de comidas más saladas, su presión subía alrededor de 10-15%. Este tipo de vínculo solo aparece porque ambos datos están en la misma base de datos. Es la experiencia de una persona, número ilustrativo —no es una meta para ti.

⚠️ No es consejo médico

La presión es un dato clínico serio. El coach no diagnostica ni modifica la medicación — registra y señala patrones para que los lleves al médico. Cualquier lectura fuera de lo normal debe tratarse con un profesional de la salud, no con el bot.

Conceptos clave

vitals

La tabla de presión arterial (BP).

weigh_ins

La tabla del peso de la mañana.

Sal × presión

Patrón que solo aparece al cruzar datos.

No diagnostica

Registra; el médico decide.

✅ Autoevaluación (opcional): ¿por qué las macros de la foto son "buenas para ver tendencias, no para medir gramos"?

📋 Resumen del módulo

✓
La foto se convierte en food_log — la visión (Gemini) estima los macros y las alertas; no tienes que escribir los gramos.
✓
Estimación, no una báscula — excelente para ver tendencias; pésate cuando el número realmente importe.
✓
El entrenamiento es una línea — tipo, duración e intensidad en texto libre; el clip de demostración es opcional.
✓
Tú eres quien verifica — el coach te avisa cuando hace una conjetura; tú lo corriges con un mensaje.
✓
El ciclo se cierra — la comida, el entrenamiento, la BP y el peso de hoy influyen en la recuperación de mañana.

Próximo módulo:

3.3 — Memoria, patrones y suplementos: cómo el coach recuerda el historial, detecta patrones a lo largo de las semanas y organiza el horario de los suplementos.