От ручного копирования к автоматическому агенту
Данные Garmin — сон, вариабельность сердечного ритма (HRV), уровень стресса и показатели тренировок — хранятся в приложении, но ChatGPT не имеет к ним прямого доступа. Чтобы проанализировать неделю, приходится вручную переносить цифры из Garmin Connect в чат. Решение этой проблемы — создание полноценного open-source пайплайна, который превращает разрозненные метрики в структурированную библиотеку данных.
Система работает как агентный Telegram-бот: он не просто пересказывает готовые отчеты, а самостоятельно запрашивает нужные данные у API под конкретный вопрос пользователя. Чтобы избежать лишних запросов к Garmin API, в архитектуру внедрен локальный кэш на базе SQLite. Он хранит не только посчитанные цифры, но и сырые ответы от сервера, что позволяет мгновенно получать отчеты за любые периоды без повторных обращений к облаку.
Приватность и локальные модели
В отличие от закрытых фитнес-сервисов, которые хранят биометрию на своих серверах, данное решение ориентировано на self-hosted использование. Пользователь может полностью изолировать свои данные, используя локальные языковые модели через Ollama. Это критически важно для данных о здоровье, к которым уровень доверия к облачным сервисам традиционно низок.
Для выполнения агентных задач (function calling) на пользовательском железе эффективно проявляют себя компактные модели, такие как qwen3:4b. Они способны корректно вызывать инструменты для получения или изменения данных, не ограничиваясь простым текстовым рассуждением.
Управление тренировками через текст
Возможности системы выходят за рамки простого чтения. Благодаря доступу к API на запись, пользователь может создавать тренировки голосом или текстом. Бот способен составить план интервальной тренировки, подогнав разминку под длительность предыдущей активности, и отправить его на устройство. При этом система поддерживает механизм подтверждения действий через кнопки в интерфейсе Telegram, чтобы избежать случайных изменений.
Для удобства использования проект реализован в двух форматах: максимально упрощенный Windows-дистрибутив (.exe) с веб-интерфейсом для обычных пользователей и набор CLI-команд и MCP-серверов для разработчиков, использующих Cursor или Claude Code.
