Si llegaste desde el «DOCTOR» de mis redes, aquí está el prompt completo de Tu Agente para construir tu propio dashboard deportivo con ayuda de ChatGPT, Claude o la herramienta de desarrollo que elijas.
Tu Agente propone reunir entrenamiento, recuperación y evolución de métricas en un panel personal. La idea es consultar el plan del día, revisar tendencias y seguir el progreso con información organizada y fuentes identificadas.
El panel puede reunir entrenamientos y métricas desde las fuentes que cada persona elija. La guía contempla iPhone con Apple Salud y Android con Samsung Health o Salud Conectada. También propone investigar Suunto, Polar, COROS, Fitbit y otras marcas mediante exportaciones o integraciones autorizadas. Cada vía necesita un adaptador implementado y probado para sus formatos.
Aquí comparto el prompt para construir Tu Agente y una guía para instalarlo en Linux, Mac con macOS o Windows. El teléfono Android o iPhone sirve para consultar el panel y aportar datos mediante una vía compatible. Primero genera el paquete con la herramienta de desarrollo que elijas: los archivos, importadores y conectores descritos son entregables que ese desarrollo debe incluir y comprobar; esta publicación no contiene un instalador.
Qué reúne Tu Agente
- Resumen diario con las métricas disponibles del reloj y la fecha de actualización.
- Sueño y recuperación con duración, fases, puntuación, pulso en reposo y variabilidad de la frecuencia cardiaca o HRV.
- Historial de actividades y tendencias de sesiones, kilómetros, tiempo entrenado y desnivel.
- Agenda de TrainingPeaks con la sesión prevista y el calendario del coach, cuando se conecte esa cuenta.
- Métricas opcionales desde Apple Salud en iPhone, Samsung Health o Salud Conectada en Android, con importadores específicos y permisos de lectura.
- Importación de actividades de otras marcas mediante archivos admitidos, con compatibilidad documentada por formato y modelo.
- Calendario de carreras, mejores esfuerzos del historial y estimaciones orientativas.
- Informe de progreso descargable en PDF y acceso privado opcional desde el teléfono.
Las métricas dependen del reloj, la app y los datos disponibles. Body Battery y Training Readiness son nombres propios de Garmin; las puntuaciones de recuperación de distintas marcas deben conservar su fuente y método. Un archivo de actividad no garantiza sueño, HRV ni datos de salud. Las mejores marcas se calculan sobre el historial importado y las estimaciones muestran sus referencias y supuestos.
Cómo utilizar el prompt
Copia el bloque completo en la herramienta de desarrollo que utilices. Solicita que construya los archivos, prepare la instalación y compruebe el funcionamiento. Cuando la aplicación esté lista, autentica tus cuentas mediante los campos privados de la aplicación o la terminal local.
Prompt para construir Tu Agente
Leer el prompt completo
Actúa como desarrollador de aplicaciones deportivas e investigador de compatibilidad. Construye Tu Agente, un panel personal para consultar entrenamiento, recuperación y evolución de métricas. Entrega código funcional, instalación reproducible y manual en español. Distingue conexiones probadas de propuestas pendientes; no prometas soporte universal.
1 Objetivo y alcance
Reúne resumen diario, sueño y recuperación, entrenamientos, tendencias de volumen, métricas personales opcionales, agenda del coach, carreras, mejores esfuerzos, estimaciones orientativas e informe PDF. Usa cálculos transparentes, sin requerir modelos de IA para ejecutar el panel. Cualquier fuente debe poder omitirse; permite trabajar con archivos locales sin Garmin, TrainingPeaks ni una cuenta de salud.
2 Garmin Connect
Usa una versión comprobada de python-garminconnect. Implementa el SSO del cliente, correo/contraseña y verificación cuando se solicite, con entrada oculta y reutilización de tokens locales. No supongas recuperación de cookies Garmin desde el navegador.
- No guardes contraseñas ni códigos MFA ni los muestres en logs.
- Valida la sesión con una consulta autenticada; almacena tokens fuera del código y con acceso restringido.
- Separa conectar, sincronizar y desconectar. Consulta los datos que ya estén en Garmin Connect, después de sincronizar el reloj con la app del teléfono.
- Muestra actualización, progreso y errores; conserva el historial ante una descarga fallida y al desconectar.
3 TrainingPeaks opcional
Incluye trainingpeaks-mcp con versión/commit y licencia comprobados. Úsalo como biblioteca del panel, sin exigir otro asistente o servidor MCP independiente.
- Recupera la sesión de un navegador compatible de la misma computadora, a solicitud del usuario; ofrece entrada local oculta de Production_tpAuth.
- Valida la sesión y usa el almacén de credenciales del sistema o el almacenamiento cifrado del conector.
- Expón solo consultas de calendario, actividades y detalles disponibles. Diferencia comprobar conexión, desconectar y sincronizar plan.
- Propón 90 días recientes y 28 futuros, con ventanas de consulta de hasta 90 días. Conserva el último plan ante fallos y permite renovar sesiones.
- Muestra agenda y comparación entre planificado y registrado. Identifica las instrucciones del coach; no interpretes automáticamente una actividad sin vínculo como incumplimiento ni un plan ausente como descanso.
4 Salud en iPhone y Android
Ofrece importadores opcionales según la fuente y su formato comprobado:
- iPhone: CSV/ZIP documentado de Health Auto Export; XML nativo de Apple Salud con importador separado.
- Android: descarga de datos personales de Samsung Health. Inspecciona los archivos obtenidos, sus esquemas y unidades; no presupongas un CSV único ni estable.
- Salud Conectada / Health Connect: acceso mediante una app Android compañera con SDK y permisos de lectura por tipo. Python y el navegador no leen directamente su base del teléfono. Si se elige esta vía, entrega la app compañera para exportar localmente CSV/JSON con esquema documentado; no la anuncies funcional sin implementarla y probarla.
Comprueba disponibilidad del servicio y funciones según Android. Health Connect requiere Android 9+ con Google Play Services: integrado en 14+, app en 9–13. El historial anterior a la ventana predeterminada de lectura y la lectura en segundo plano requieren permisos específicos cuando sean compatibles. El respaldo Health Connect.zip no es un CSV universal ni un formato del panel: recházalo salvo que se implemente y compruebe un importador específico.
Muestra vista previa y valida campos, fechas, zona horaria, unidades, duplicados y valores antes de guardar. Conserva fuente, id cuando exista, fecha, archivo, valor/unidad original y revisiones. Normaliza kg, °C y mmHg con conversiones documentadas. Mantén sistólica y diastólica juntas, tipo de temperatura y diferencia entre mediciones y resúmenes. Muestra Sin datos cuando falte un registro.
Evita duplicar actividades o sumar pasos del móvil y reloj indiscriminadamente; usa agregación/origen de Health Connect cuando corresponda. Solicita solo los permisos necesarios y permite revocarlos. Una fuente no crea métricas que el dispositivo no mida o la app no publique.
5 Investigar otras marcas
Consulta documentación oficial vigente de Suunto, Polar, COROS, Fitbit/Google Health y otras marcas elegidas. Entrega una matriz: servicio/modelo, teléfono, formato o API, autorización, métricas accesibles, límites, versión, fecha y prueba. Separa ruta documentada de conector implementado.
Prioriza importación local FIT/TCX y CSV/JSON documentados; GPX aporta los campos presentes y puede contener solo ruta. Verifica cada extensión antes de atribuir pulso, sueño, HRV o recuperación. Conserva nombres de métricas propietarias y no las equipares entre marcas.
Investiga Suunto Cloud API y requisitos de partners; Polar AccessLink vigente; COROS MCP o Partner API; y la disponibilidad de proyectos en Google Health API. Comprueba autorización, OAuth, permisos, cuotas y condiciones antes de implementar. Si no hay acceso para uso personal, usa exportación oficial. No prometas conectar servicios cerrados ni uses APIs obsoletas como base nueva.
Etiqueta cada adaptador como probado, experimental o pendiente. Prueba archivos de muestra ficticios o anonimizados, mapeo de campos, duración, distancia, pulso, unidades, zona horaria y duplicados. Documenta los datos que no se obtienen. No exijas todos los conectores para instalar o iniciar el panel.
6 Interfaz y funciones
Interfaz en español, accesible y adaptada a computadora, iPhone y Android. Navegación: Hoy, Sueño y recuperación, Entrenamientos y progreso, Agenda y carreras, Métricas personales y Conexiones. Incluye:
- Fecha, última actualización, cobertura y fuentes.
- Sueño/recuperación con filtros de 7/30/90 días y fechas personalizadas.
- Actividades por deporte/fecha con distancia, duración, ritmo/velocidad, pulso y desnivel disponibles.
- Gráficas de sesiones, tiempo, kilómetros y desnivel por día/semana/mes.
- Carreras editables: nombre, fecha, lugar, modalidad, distancia, desnivel y cuenta regresiva.
- Mejores esfuerzos e indicadores orientativos con método, referencia, fecha y supuestos.
- Importación opcional del historial de Strava con detección de duplicados.
- PDF con resumen, gráficas, actividades, fuentes y cobertura.
Muestra pulso en reposo, HRV, estrés, pasos y métricas propietarias solo si se obtienen. Identifica VO₂ máx. del reloj como estimación del dispositivo.
7 Arquitectura y privacidad
Python 3.12, backend ligero e interfaz HTML/CSS/JavaScript preparada. Separa adaptadores, importación, almacenamiento, cálculos y presentación. Documenta versiones/arquitecturas probadas en Linux, macOS Intel/Apple Silicon y Windows. El panel Python no necesita Node, Docker ni claves de IA.
Escucha solo en 127.0.0.1:8765, con .venv y requirements.txt compatible. Protege sesiones y operaciones, valida origen/host y evita CSRF. Valida archivos importados y límites de tamaño; evita traversal y extracción insegura de ZIP.
Guarda historial/configuración/logs fuera del código: Linux $XDG_DATA_HOME/tu-agente (alternativa ~/.local/share/tu-agente), macOS ~/Library/Application Support/Tu-Agente y Windows %LOCALAPPDATA%/Tu-Agente. Restringe permisos. Usa el almacén de credenciales disponible y documenta alternativas y límites. No reveles contraseñas, cookies, tokens, identificadores ni datos reales en logs o distribuciones públicas.
Tailscale Serve privado opcional: HTTPS, identidad autorizada y puerto libre, por ejemplo 10000 hacia 127.0.0.1:8765. Conserva otras rutas sin reset ni Funnel. Equipo encendido, Tailscale conectado y Python activo. Los datos del teléfono se importan localmente o por una conexión privada autorizada; nunca al blog público.
8 Archivos entregables
Entrega Tu-Agente con:
- requirements.txt, conectar_garmin.py, panel/connect_trainingpeaks.py y panel/server.py; autenticación interactiva oculta.
- Interfaz preparada, importadores y adaptadores con dependencias opcionales por marca.
- integrations/trainingpeaks-mcp fijado y licenciado, en la misma .venv.
- Lanzadores Linux/macOS/Windows con rutas relativas y manejo de espacios.
- MANUAL-INSTALACION.md: requisitos, comandos, conexión/importación, datos, respaldo, actualización, errores y retirada.
- MATRIZ-COMPATIBILIDAD.md con evidencias y límites por fuente/dispositivo/formato.
- Si se elige Health Connect, proyecto Android compañero, esquema de exportación y manual de compilación/instalación con JDK, Android SDK, permisos y versiones comprobadas. No inventes un APK disponible.
- Inicio al iniciar sesión opcional: systemd de usuario, LaunchAgent o tarea de Windows. Incluye instalación/estado/retirada sin afectar otros servicios.
No dependas de rutas del autor ni administrador para ejecutar. El inicio automático usa el usuario que conecta cuentas y rutas absolutas al intérprete .venv, script y carpeta de trabajo.
9 Comprobaciones y manual
Documenta Python 3.12 y .venv en los tres sistemas; usa su intérprete sin activar scripts ni rebajar políticas. Ofrece uv en macOS/Linux compatibles con --seed para pip. Explica por separado uso web Android/iPhone e importación de sus datos.
Comprueba instalación limpia, arranque, rutas con espacios, permisos, importación, unidades, duplicados, PDF y conservación del historial ante fallos. Entrega inventario de archivos, versiones y pruebas por plataforma y marca. Declara cualquier opción sin probar. Verifica conexiones reales tras autenticar localmente; distingue pruebas ficticias y reales.
Usa solo datos ficticios en ejemplos, demostraciones, pruebas públicas y documentación. No publiques nombres, cuentas, métricas reales, rutas privadas, direcciones de dispositivos, rutas GPS ni credenciales de ninguna persona.Manual de instalación y uso
Esta guía se aplica al paquete Tu-Agente que se genere con el prompt. Los archivos indicados deben venir incluidos y sus comandos deben estar verificados. Ejecuta las instrucciones desde la carpeta del paquete; cada persona utiliza sus propias cuentas y registros.
Para qué sirve cada componente
| Componente | Para qué sirve |
|---|---|
| Python | Ejecuta el servidor, las conexiones y los cálculos. La versión de referencia es Python 3.12. |
| .venv y pip | Aíslan e instalan las bibliotecas dentro del proyecto. La instalación no necesita mezclar paquetes con otros proyectos. |
| Navegador | Muestra el panel y permite iniciar sesión en las plataformas. |
| garminconnect y curl_cffi | Permiten consultar Garmin Connect si eliges esta fuente; no son la vía para conectar otras marcas. |
| Conector TrainingPeaks | Consulta el calendario mediante la sesión autenticada. Es opcional para utilizar el panel con Garmin. |
| Health Auto Export | Exporta métricas almacenadas en Apple Salud en formatos como CSV. Se utiliza si eliges esta vía de importación. |
| Samsung Health / Salud Conectada | Opciones de Android. La descarga de Samsung requiere un importador; Salud Conectada requiere una app Android compañera con permisos. |
| reportlab | Genera el informe PDF de progreso. |
| fitdecode | Lee archivos deportivos FIT para funciones como mejores esfuerzos. |
| openpyxl y xlrd | Leen archivos Excel si el paquete incluye importación XLSX o XLS. |
| Tailscale | Permite acceso privado desde el teléfono u otros dispositivos autorizados. Es opcional. |
Consulta la guía de entornos virtuales de Python, la documentación del cliente Garmin y la documentación del conector TrainingPeaks para conocer el funcionamiento de estos componentes.
Paso 1 Preparar la computadora
Genera la carpeta Tu-Agente con el prompt anterior o descomprime el paquete que te entregue tu desarrollador. Necesitas una computadora con un sistema mantenido, Python 3.12 compatible, un navegador actualizado, acceso a Internet para instalar y sincronizar, y permiso para escribir en tu carpeta de usuario.
- El panel base necesita Python y sus dependencias. No requiere una API de ChatGPT o Claude para funcionar después de generarlo.
- TrainingPeaks, la importación desde una app de salud y Tailscale son opcionales.
- Los ejemplos usan Windows 11, Linux Ubuntu 24.04 o Mint 22 y macOS compatible con el instalador elegido. Otras versiones deben constar como comprobadas en el manual del paquete.
- Abre la terminal dentro de Tu-Agente. Sustituye las rutas de ejemplo por la carpeta real; mantén las comillas cuando haya espacios.
Preparación en Windows
Instala Python Install Manager desde Python.org o Microsoft Store. Cierra y vuelve a abrir PowerShell después de instalarlo. pymanager evita confundir el gestor nuevo con un lanzador antiguo. Instala Python 3.12:
pymanager install 3.12
py -3.12 --versionDesde PowerShell, entra en la carpeta descomprimida y crea el entorno. C:\ruta\Tu-Agente es un ejemplo que debes sustituir:
Set-Location "C:\ruta\Tu-Agente"
py -3.12 -m venv .venv
.\.venv\Scripts\python.exe --versionPreparación en Linux
En Ubuntu 24.04 o Linux Mint 22, instala Python 3.12 y el módulo de entornos virtuales con el gestor del sistema:
sudo apt update
sudo apt install python3.12 python3.12-venv
python3.12 --versionDespués entra en la carpeta del paquete y crea .venv. Sustituye /ruta/a/Tu-Agente por su ubicación real:
cd "/ruta/a/Tu-Agente"
python3.12 -m venv .venv
.venv/bin/python --versionEn otra distribución, usa su gestor y los paquetes de Python 3.12 correspondientes. Si no están disponibles, la alternativa con uv descrita para macOS también sirve en Linux compatible: instala uv, entra en Tu-Agente y crea el entorno con --seed.
Preparación en Mac con macOS
Una opción es instalar uv desde Astral y dejar que gestione CPython 3.12. Sus distribuciones de Python proceden de python-build-standalone, mantenido por Astral. Elige un macOS y una arquitectura compatibles con sus versiones; el paquete debe comprobar por separado Intel y Apple Silicon.
En Terminal, el instalador oficial de uv es el siguiente. También puedes descargar sus binarios desde la página oficial indicada en las fuentes. Sigue las indicaciones de PATH del instalador y reabre Terminal:
curl -LsSf https://astral.sh/uv/install.sh | shEntra en Tu-Agente, instala CPython y crea el entorno. --managed-python selecciona Python administrado por uv y --seed incluye pip:
cd "/ruta/a/Tu-Agente"
uv --version
uv python install 3.12
uv venv --python 3.12 --managed-python --seed .venv
.venv/bin/python --version
.venv/bin/python -m pip --versionSi ya utilizas Homebrew y tu Mac cumple sus requisitos actuales, puedes crear .venv por esa vía. Elige una de las dos opciones:
brew install python@3.12
"$(brew --prefix python@3.12)/bin/python3.12" --version
"$(brew --prefix python@3.12)/bin/python3.12" -m venv .venvCada computadora necesita su propio entorno virtual. Si cambias de sistema, mueves la carpeta o actualizas Python, recrea .venv e instala los requisitos. Los pasos siguientes llaman al intérprete directamente, sin activar el entorno ni cambiar la política de ejecución de PowerShell.
Paso 2 Instalar las dependencias
Ejecuta desde Tu-Agente. requirements.txt debe venir incluido y contener versiones compatibles del panel y sus importadores base. Las dependencias de las marcas se añaden según las fuentes que elijas; el paquete debe indicar cuáles incluye.
.\.venv\Scripts\python.exe -m pip install --upgrade pip
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
.\.venv\Scripts\python.exe -m pip check.venv/bin/python -m pip install --upgrade pip
.venv/bin/python -m pip install -r requirements.txt
.venv/bin/python -m pip checkpip check comprueba la coherencia de las bibliotecas instaladas. Las conexiones de las cuentas se verifican después. TrainingPeaks se instala en el paso 5 si vas a utilizarlo. Instala paquetes dentro de .venv; evita sudo pip o instalar todo en el Python del sistema.
Paso 3 Iniciar y detener el panel
.\.venv\Scripts\python.exe panel/server.py.venv/bin/python panel/server.pyAbre http://127.0.0.1:8765 en el navegador de esa misma computadora. Deja la terminal abierta durante el inicio manual y pulsa Ctrl+C para detener el panel. También puedes utilizar el lanzador incluido para tu sistema. Comprueba primero que abre la interfaz y que el proceso escucha únicamente en 127.0.0.1.
El teléfono tiene su propia dirección 127.0.0.1. Para consultar el panel de la computadora desde el teléfono, utiliza el acceso privado del paso 7.
Comprobar el puerto si el panel no inicia
Get-NetTCPConnection -State Listen -LocalPort 8765 -ErrorAction SilentlyContinuelsof -nP -iTCP:8765 -sTCP:LISTENss -ltn 'sport = :8765'Si otro proceso ocupa el puerto, identifícalo antes de actuar. Usa el ajuste de puerto documentado por tu paquete y actualiza también el destino de Tailscale. Conserva los servicios que ya utilizas.
Paso 4 Conectar Garmin si eliges esta fuente
Primero sincroniza el reloj con Garmin Connect en el teléfono. El panel consulta la cuenta por Internet y obtiene los datos que ya estén disponibles allí. El cliente comunitario admite autenticación y sesiones locales; su funcionamiento está descrito en la documentación de python-garminconnect.
- Entra en Conexiones y selecciona Garmin.
- Introduce el correo y la contraseña en el formulario privado de la aplicación.
- Completa el código de verificación cuando Garmin lo solicite.
- Comprueba que la cuenta aparezca conectada.
- Pulsa Sincronizar reloj y espera a que termine la descarga.
Como alternativa, utiliza la autenticación interactiva en la terminal. En Windows:
.\.venv\Scripts\python.exe conectar_garmin.pyEn Linux y macOS:
.venv/bin/python conectar_garmin.pyIntroduce las credenciales únicamente en esa terminal o en el formulario privado. Conectar valida la cuenta; sincronizar actualiza el historial del panel.
Paso 5 Conectar TrainingPeaks
Este paso es opcional. La carpeta integrations/trainingpeaks-mcp debe estar incluida en el paquete con una versión o commit comprobados. Instala el conector en la misma .venv. La opción browser añade la recuperación de sesión donde sea compatible:
.\.venv\Scripts\python.exe -m pip install "./integrations/trainingpeaks-mcp[browser]"
.\.venv\Scripts\python.exe -m pip check.venv/bin/python -m pip install "./integrations/trainingpeaks-mcp[browser]"
.venv/bin/python -m pip checkSi la función de navegador no está soportada en tu equipo, instala el conector sin [browser] y utiliza la entrada local oculta. El manual de la distribución debe indicar qué navegadores y versiones comprobó.
Inicia sesión en TrainingPeaks desde un navegador de la computadora que ejecuta el panel. En Conexiones, selecciona TrainingPeaks y solicita Usar sesión del navegador. Su compatibilidad y permisos dependen del sistema operativo; utiliza la alternativa local si esa recuperación falla.
.\.venv\Scripts\python.exe panel/connect_trainingpeaks.py.venv/bin/python panel/connect_trainingpeaks.pyPara la alternativa manual en Chrome o Edge, abre las herramientas de desarrollo desde el menú del navegador. En macOS también puedes usar ⌥⌘I; en Windows o Linux, F12 o Ctrl+Mayús+I. En Aplicación → Cookies, selecciona app.trainingpeaks.com y localiza Production_tpAuth. Pega su valor únicamente en el campo local oculto del script. Trata ese valor como una contraseña: debe quedar fuera del chat, argumentos de comandos, capturas y archivos compartidos.
Cuando la sesión se valide, pulsa Sincronizar plan. La descarga propuesta comprende 90 días recientes y 28 días futuros. Los detalles dependen de la cuenta y del plan disponible. Una sesión iniciada en el teléfono u otra computadora no se recupera desde el servidor local.
La integración usa un conector comunitario. La API oficial de TrainingPeaks requiere aprobación para desarrolladores; este manual se refiere al conector citado en las fuentes.
Paso 6 Importar métricas desde iPhone o Android
iPhone: Apple Salud
Si eliges Apple Salud y Health Auto Export como fuente, comprueba antes de exportar que existan los registros y que la aplicación tenga permiso para leerlos.
- Abre Health Auto Export y entra en Exportación manual.
- Selecciona el periodo y las métricas: peso, temperatura corporal y presión arterial.
- Utiliza CSV y una agrupación compatible con el importador, por ejemplo, resúmenes diarios.
- Revisa el idioma de los encabezados y las unidades indicadas por el paquete.
- Guarda los archivos o el ZIP en la computadora.
- En el panel, abre Métricas personales, selecciona Importar y revisa la vista previa.
- Confirma los registros válidos y consulta las observaciones sobre duplicados o valores pendientes de revisión.
La guía de exportación manual de Health Auto Export explica los formatos, la agrupación y los permisos. Si obtienes un único CSV, el importador debe admitirlo directamente; si requiere ZIP, sigue el formato documentado por el paquete.
Apple Salud también permite exportar los datos en XML desde el perfil del usuario. Ese archivo requiere un importador específico; no tiene la misma estructura que la exportación CSV de Health Auto Export. Guía de exportación de Apple Salud.
Para otra app de salud, utiliza su función de exportación y adapta el importador a un archivo de muestra. Comprueba fechas, unidades y si cada fila representa una medición individual o un resumen.
Android: Samsung Health
Una vía práctica es descargar los datos desde Samsung Health e importar solo los archivos que necesites. El paquete debe incluir un adaptador para los formatos recibidos; una descarga de cuenta puede contener varios archivos y no debe tratarse como un CSV único.
- Sincroniza el reloj con su app y comprueba que los datos estén disponibles en Samsung Health.
- En Samsung Health, abre el menú ⋮ → Ajustes → Descargar datos personales → Descargar. Autoriza la descarga y autentícate únicamente en el teléfono.
- Busca la carpeta Samsung Health en Mis archivos → Descargas y copia los archivos necesarios a la computadora.
- Solicita al agente que adapte el importador al esquema del archivo, con una muestra ficticia o anonimizada.
- Abre Importar en el panel, revisa la vista previa, las unidades, fechas y zona horaria; confirma únicamente los registros válidos.
Conserva la exportación completa en privado. Evita compartir perfiles, identificadores, fotos o rutas GPS; tampoco los incluyas en el prompt público ni en el blog. Los menús y la estructura de los archivos pueden variar con la versión.
Android: Salud Conectada / Health Connect
Salud Conectada reúne los datos que las apps compatibles escriben en el teléfono. Requiere Android 9 o posterior con Google Play Services: en Android 14 o posterior está integrada en Ajustes; en Android 9–13 se instala desde Google Play. No se ejecuta en el reloj Wear OS.
- Busca Salud Conectada o Health Connect en Ajustes; instala la app oficial si tu versión lo requiere.
- Comprueba qué apps pueden escribir las métricas que necesitas. En Samsung Health, revisa Ajustes → Health Connect y los permisos correspondientes.
- Autoriza solo las categorías necesarias y comprueba que existan registros. La disponibilidad depende del reloj, la app, los permisos y la sincronización.
- Para llevar esos datos al panel, pide una app Android compañera que use el SDK oficial y exporte CSV o JSON con un esquema documentado. El agente debe entregarla e indicar cómo compilarla, instalarla y probarla.
- Importa el archivo exportado en la computadora y comprueba origen, periodo, unidades y duplicados antes de guardarlo.
El panel Python y una página en el navegador no acceden directamente a la base de Salud Conectada: esta vía necesita el componente Android. Leer un historial mayor que la ventana predeterminada o leer en segundo plano requiere permisos adicionales cuando esas funciones estén disponibles.
Android 14 o posterior también permite crear Health Connect.zip como respaldo para restaurar Salud Conectada. Ese ZIP no es un CSV universal ni equivale a una exportación que el panel ya pueda importar. El paquete debe rechazarlo si no incluye un importador específico comprobado.
- Android: disponibilidad de Health Connect
- Android: SDK, permisos y puesta en marcha
- Android: lectura de datos e historial
- Google: respaldo y restauración de Salud Conectada
- Samsung: conexión con Health Connect
Evitar duplicados entre teléfono y reloj
Elige una fuente preferida por métrica o aplica una regla de deduplicación documentada. No sumes automáticamente pasos del teléfono y del reloj ni dupliques actividades que lleguen por varias apps. Mantén las métricas ausentes como Sin datos y distingue las mediciones de sus resúmenes.
Investiga otras marcas de relojes
Puedes pedir al agente que actúe como investigador de compatibilidad y adapte el panel a Suunto, Polar, COROS, Fitbit u otra marca. Estas son rutas documentadas para comenzar; el soporte del panel solo se confirma después de implementar y probar el adaptador correspondiente.
| Marca o servicio | Primera vía de datos | Integración a investigar | Límite que comprobar |
|---|---|---|---|
| Suunto | App Android/iPhone → entrenamiento → menú → exportar FIT; GPX cuando haya ruta GPS. | Suunto Cloud API con OAuth y acceso al programa de partners. | La API no está abierta a uso personal; su FAQ no ofrece sueño. Un GPX puede contener solo ruta. |
| Polar | Polar Flow web → Diario → sesión → Exportar FIT, TCX, CSV o GPX. | AccessLink Dynamic API vigente, con registro de cliente, OAuth y consentimiento. | Verificar modelo, métricas y versión de API; no trasladar automáticamente límites de versiones anteriores. |
| COROS | Training Hub → Activity List → Export Data para FIT/TCX; revisar las opciones de exportación de cuenta. | COROS MCP de autoservicio o Partner API según sus requisitos actuales. | MCP y Partner API tienen alcances distintos. La exportación manual de datos diarios puede requerir soporte. |
| Fitbit / Pixel Watch | Copia de cuenta mediante Google Takeout y archivos de actividades disponibles. | Google Health API cuando el acceso a proyectos esté disponible. | Al revisar esta guía, Google no acepta proyectos nuevos. El API antiguo de Fitbit tiene retirada prevista el 30 de octubre de 2026. |
| Samsung / Galaxy Watch | Descarga de datos personales de Samsung Health o app compañera para Health Connect. | Samsung Health Data SDK mediante una app Android, si se necesita integración directa. | Requiere Android 10+, Samsung Health 6.30.2+ y registro de partner para apps distribuidas. No es una API Python/web. |
FIT o TCX suelen ser vías útiles para actividades, según lo que exporte la plataforma. GPX puede aportar únicamente una ruta; sueño, HRV, recuperación y métricas diarias pueden requerir otra exportación o API. Revisa la cobertura de cada archivo antes de ofrecer esas funciones.
- Consulta la documentación oficial vigente de la marca y verifica si permite exportación, uso personal o acceso para partners.
- Empieza con un archivo de prueba ficticio o anonimizado; conserva los originales en privado.
- Mapea campos, unidades, fechas y zona horaria. Comprueba duración, distancia y frecuencia cardiaca cuando existan.
- Prueba duplicados, archivos incompletos, ausencia de métricas y errores sin perder el historial.
- Registra marca, modelo, versiones, formato, fecha y prueba realizada. Marca el resultado como probado, experimental o pendiente.
- Si no hay API disponible, utiliza una exportación oficial compatible. Documenta los límites sin inventar una conexión.
Si pruebas otra marca y tienes dudas, contáctame en mis redes. Puedes compartir qué formato o integración investigaste y cómo resultó la prueba, sin publicar datos personales, archivos de salud ni credenciales.
- Suunto: exportar archivos desde la app
- Suunto Cloud API: acceso y alcance
- Suunto Cloud API: preguntas frecuentes
- Polar: exportar sesiones desde Flow
- Polar: AccessLink Dynamic API
- COROS: exportar historial y datos diarios
- COROS: MCP de autoservicio
- COROS: Partner API
- Fitbit / Google Health: exportar datos
- Google Health API: disponibilidad y transición
- Samsung: SDK Android vigente
- Samsung Health Data SDK: requisitos y registro
Paso 7 Consultar el panel desde el teléfono
Esta función es opcional y privada. En Android o iPhone, abre el panel desde un navegador actualizado. Instala Tailscale en la computadora y el teléfono y conecta ambos a la misma red. Revisa las reglas para permitir el acceso solo a la identidad autorizada. El navegador muestra el panel; importar datos de salud es un paso separado.
| Sistema | Preparación |
|---|---|
| Windows | Instala el paquete oficial, abre Tailscale e inicia sesión. Reabre PowerShell para que reconozca el comando tailscale. |
| macOS | Instala la app oficial e inicia sesión. Habilita la integración CLI desde sus ajustes cuando esté disponible; la documentación oficial distingue las variantes de la app. |
| Linux | Usa los paquetes oficiales para tu distribución o el instalador de Tailscale y después conecta el equipo con tailscale up. |
| Teléfono | Instala Tailscale desde App Store o Google Play e inicia sesión en la misma red privada. |
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale upComprueba que el comando se reconoce. En macOS, si la app está en Aplicaciones y tailscale no está en PATH, la documentación permite usar el ejecutable de la app. En Windows, la ruta habitual del instalador oficial se muestra como alternativa:
tailscale version
tailscale status"/Applications/Tailscale.app/Contents/MacOS/Tailscale" version& "C:\Program Files\Tailscale\tailscale.exe" versionEn los siguientes comandos, sustituye tailscale por la ruta anterior si es necesaria. Mantén Python activo en la primera terminal. En una segunda, revisa los servicios existentes y elige un puerto HTTPS libre. Aquí se utiliza 10000; conserva las rutas que ya tengas configuradas:
tailscale serve status
tailscale serve --https=10000 http://127.0.0.1:8765Sigue el enlace de autorización de HTTPS y MagicDNS si Tailscale lo solicita. Desde el teléfono conectado a Tailscale, abre exactamente la URL HTTPS que muestre Serve, incluyendo :10000. Mantén ambas terminales abiertas y la computadora encendida. Para cerrar el proxy iniciado en primer plano, pulsa Ctrl+C en su terminal.
Para mantener solo el proxy de Tailscale en segundo plano, usa la siguiente variante y consulta su estado. --bg no arranca el servidor Python ni evita que la computadora se suspenda:
tailscale serve --bg --https=10000 http://127.0.0.1:8765
tailscale serve statusPara retirar únicamente el servicio de este ejemplo, conserva el puerto elegido en el comando. No uses reset, que podría afectar otras rutas. Este panel de datos personales utiliza Serve; Funnel lo haría público.
tailscale serve --https=10000 offPaso 8 Descargar el informe y respaldar el historial
Selecciona el periodo en Informe de métricas y pulsa Descargar informe PDF. Revisa fechas, fuentes y cobertura antes de compartirlo con tu coach o equipo de apoyo.
Para respaldar tus registros, detén el panel y copia la carpeta de historial indicada en el manual del paquete. Mantén las sesiones de conexión separadas del historial: las contraseñas, cookies y tokens deben quedar fuera de cualquier archivo que publiques o compartas.
Dónde se guardan tus datos
El paquete debe guardar el historial fuera de la carpeta del código y mostrar su ubicación real en el manual. Las ubicaciones de referencia que pide el prompt son:
| Sistema | Carpeta de referencia |
|---|---|
| Linux | $XDG_DATA_HOME/tu-agente; por defecto ~/.local/share/tu-agente |
| macOS | ~/Library/Application Support/Tu-Agente |
| Windows | %LOCALAPPDATA%\Tu-Agente |
Para cambiar de computadora, copia únicamente el historial documentado y vuelve a conectar tus cuentas en el equipo nuevo. Recrea .venv para ese sistema. Mantén tokens y sesiones separados; no los incluyas en una distribución, repositorio o archivo que compartas.
Inicio automático opcional
Actívalo después de comprobar el inicio manual y conectar tus cuentas. El paquete debe incluir la configuración y cómo retirarla. El proceso debe ejecutarse con el mismo usuario y utilizar rutas absolutas a Python de .venv, panel/server.py y la carpeta de trabajo:
| Sistema | Mecanismo que debe entregar el paquete |
|---|---|
| Linux compatible con systemd | Servicio de usuario systemd, con configuración e instrucciones de instalación y estado. |
| macOS | LaunchAgent del usuario, con su archivo plist y las instrucciones de carga y retirada. |
| Windows | Tarea del usuario en el Programador de tareas, con intérprete, argumento del servidor y directorio de trabajo. |
Estas configuraciones deben comprobarse por plataforma. El gestor de credenciales puede requerir que tu sesión esté abierta. Tailscale Serve y el proceso Python son componentes distintos; verifica ambos después de reiniciar.
Actualizar o retirar la aplicación
Antes de actualizar, detén Python y respalda el historial. Sigue las instrucciones de la nueva versión para crear o actualizar .venv, instalar requisitos y migrar datos si procede. Conserva un respaldo hasta comprobar la importación y las conexiones. Para retirar el panel, deshabilita su inicio automático y su puerto específico de Serve; el código, el historial y las sesiones deben poder gestionarse por separado.
Solución de problemas frecuentes
| Situación | Qué hacer |
|---|---|
| El panel no abre | Comprueba que el servidor siga activo y que uses la dirección y el puerto indicados. |
| Garmin muestra datos antiguos | Sincroniza primero el reloj con Garmin Connect y después pulsa Sincronizar reloj en el panel. |
| La sesión venció | Vuelve a autenticar la cuenta correspondiente y repite la sincronización. |
| No se recupera la sesión del navegador | Comprueba que uses la misma computadora y utiliza la autenticación local alternativa. |
| La conexión limita los intentos | Espera antes de volver a intentarlo; el panel debe conservar el historial. |
| No se reconoce una exportación | Revisa formato, idioma de encabezados, estructura y unidades admitidas por el importador. |
| Falta una métrica | Comprueba que exista en la fuente, que el dispositivo la registre y que esté autorizada para exportación. |
| No aparece el plan | Comprueba la cuenta y el periodo en TrainingPeaks; después pulsa Sincronizar plan. |
| El teléfono no abre el panel | Comprueba que Tailscale esté conectado en ambos dispositivos, el equipo encendido y el servidor activo. |
| Windows no reconoce pymanager o py | Reabre PowerShell después de instalar Python Install Manager. Confirma la instalación y la versión 3.12 en la documentación oficial. |
| macOS no reconoce uv o brew | Reabre Terminal y sigue la configuración de PATH del instalador oficial. Elige una de las opciones de preparación y verifica la versión antes de crear .venv. |
| Linux indica que falta venv | En Ubuntu 24.04/Mint 22 instala python3.12-venv. En otras distribuciones usa su paquete equivalente o uv con --seed. |
| Falta requirements.txt o un script | El paquete está incompleto. Solicita que la herramienta de desarrollo entregue los archivos definidos en el prompt antes de continuar. |
| pip check informa conflictos o falta una distribución compatible | Revisa las versiones y arquitecturas que admite el paquete. Solicita requisitos corregidos o un paquete probado para tu sistema. |
| El puerto 8765 está ocupado | Identifica el proceso con el comando de tu sistema. Usa el puerto configurable del paquete y actualiza el destino del proxy. |
| La carpeta .venv se copió desde otro equipo | Recrea el entorno con el Python del sistema de destino e instala requirements.txt. |
| No abre el acceso privado después de reiniciar | Comprueba por separado el proceso Python, Tailscale conectado y tailscale serve status. --bg mantiene el proxy, no Python. |
| Android abre el panel pero no aparecen datos de salud | El navegador no lee Salud Conectada. Importa una exportación compatible o instala y prueba la app compañera con sus permisos. |
| Health Connect.zip no se reconoce | Es un respaldo para restauración; no lo trates como CSV. Usa un formato documentado que tenga importador comprobado. |
| Hay pasos o actividades duplicados | Revisa orígenes y reglas de deduplicación; no sumes móvil y reloj automáticamente. |
| Otra marca no muestra sueño o recuperación | Comprueba si esa información existe en la exportación o API autorizada. Un archivo de ruta/actividad puede no incluirla. |
| No hay acceso a la API de la marca | Consulta requisitos vigentes y usa la exportación oficial cuando sea posible; marca el conector como pendiente. |
Fuentes y documentación
- Python: entornos virtuales
- Descargas de Python
- python-garminconnect: documentación del cliente comunitario
- trainingpeaks-mcp: documentación del conector comunitario
- trainingpeaks-mcp: opciones de autenticación
- TrainingPeaks: acceso a tu cuenta
- TrainingPeaks: información sobre su API
- Health Auto Export: exportación manual
- Apple Salud: compartir y exportar datos
- Tailscale Serve: acceso privado
- Python en Windows: Install Manager y lanzador
- Ubuntu: Python y entornos virtuales
- Ubuntu 24.04: módulo python3.12-venv
- Astral uv: instalación oficial
- Astral uv: instalar y gestionar Python
- Astral uv: crear entornos con pip mediante --seed
- Homebrew: requisitos e instalación
- Homebrew: Python 3.12
- Tailscale: descargas oficiales por sistema
- Tailscale: instalación en Linux
- Tailscale: CLI y variantes de macOS
- Tailscale Serve: puertos, estado y retirada de una ruta
- Apple: launchd e inicio automático en macOS
- Microsoft: acciones y carpeta de trabajo de tareas programadas
Sigue el desarrollo del proyecto
Sigue mis redes para conocer los próximos avances de Tu Agente. Si tienes dudas, contáctame en mis redes.
Guía actualizada el 10 de octubre de 2026: Linux, macOS y Windows para el panel; iPhone y Android como clientes y fuentes de datos. Las rutas citadas se basan en documentación oficial. Cada paquete debe indicar qué sistemas, formatos y marcas se han probado; ninguna conexión se considera verificada solo por aparecer en esta guía.