Бесплатный инструмент от Инны Рыжих
Год твоего бега на одной странице
Один ключ в Garmin Connect, один промпт в Claude Code, и через двадцать минут у вас страница, которая отвечает на главный вопрос: в порядке ли база.
Без регистрации · данные остаются на вашем компьютере

Что внутри
Не восемь дашбордов на вкус, а один ответ
Garmin показывает сотню чисел и ни одного вывода. Этот дашборд собирает ваши пробежки за год по тем же правилам, по которым я читаю дневники своих спортсменов.
Вердикт
Одна фраза наверху: что в тренировках не так в первую очередь. Лёгкие не лёгкие, долго без разгрузки, рваный график или база в порядке. И три числа рядом, которые его доказывают.
Линия лёгкого
Все пробежки года точками относительно границы лёгкого пульса из ваших часов. Линию можно тянуть и смотреть, как вердикт зависит от одной настройки в Garmin.
Лента недель
Каждая неделя столбиком, каждая пробежка блоком. Ударные недели, разгрузки и самая долгая серия без неё видны сразу. Клик по неделе раскрывает её по дням.
Форма и восстановление
Метров на удар сердца: единственный показатель формы без тестов. И пульс покоя по неделям на фоне тяжёлых, чтобы видеть, хватает ли восстановления.

Что нужно
- Часы GarminЛюбые, которые пишут пульс и синхронизируются с Garmin Connect. Чем длиннее история, тем честнее картина, но и трёх месяцев уже хватит. Старые часы без зон и Training Load тоже подойдут: дашборд досчитает их сам.
- КомпьютерMac или Windows. Ключ Garmin и все данные остаются на нём, в облако ничего не уходит.
- ClaudeПриложение Claude для компьютера с вкладкой Code или Claude Code в терминале. Нужна подписка Pro или Max. Как поставить, показано в третьем шаге.
- Двадцать минутИз них ваших минут пять: создать ключ и проверить зоны. Остальное Claude Code делает сам.
Инструкция
Четыре шага
-
Создайте личный ключ Garmin
С октября 2026 года Garmin выдаёт каждому пользователю личный ключ к его данным. Это официальный способ: пароль никому не передаётся, сторонние библиотеки не нужны, ключ умеет только читать.
- Откройте connect.garmin.com → Настройки → Личный API-ключ и войдите, если попросит.
- Нажмите Create Key, прочитайте и примите условия.
- Срок действия выберите 1 год, иначе через месяц всё придётся повторять.
- Скопируйте ключ сразу. Garmin показывает его один раз. Если потеряли, удалите старый на той же странице и создайте новый.

Так страница выглядит, когда ключ уже создан: Garmin пишет срок действия, а сам ключ больше не показывает. -
Проверьте зоны пульса в Garmin
Дашборд берёт границу лёгкого бега из ваших часов, поэтому от настроек зон зависит всё. У новых часов зоны настраиваются только в приложении Garmin Connect на телефоне. Путь такой:
Ваши часы → Настройки → Профиль пользователя → Частота пульса и зоны мощности → Частота пульса
- Наверху три числа: макс. частота пульса, частота пульса при пороговом значении лактата и ЧП на отдыхе. Нажмите на любое, чтобы исправить.
- Откройте Зоны. Общие зоны Garmin называет «По умолчанию», в них есть пункт Расчет по. Лучший вариант: % частоты пульса при пороговом значении лактата, если порог измерен тестом или часы сами определили его на беге с нагрудным ремнём.
- Если максимум стоит по формуле 220 минус возраст и вы его никогда не измеряли, зоны почти наверняка сдвинуты. Дашборд это заметит и предупредит.
- Отдельные зоны для бега лежат в пункте Частота пульса по видам спорта. Если они там заданы, часы берут их, а не общие.
- Не меняйте настройки наугад. Границу можно подвинуть прямо на дашборде и посмотреть, что от этого изменится.
-
Поставьте Claude Code
Это помощник, который работает прямо на вашем компьютере: создаёт папки, скачивает файлы, запускает скрипты. Обычный чат Claude в браузере или в телефоне этого не умеет, поэтому с телефона дашборд не собрать. Нужна подписка Claude Pro или Max.
Проще всего через приложение. Скачайте Claude для Mac или Windows, войдите в аккаунт и откройте вкладку Code вверху окна. Это тот же Claude Code, только с обычным окном вместо чёрного экрана: выберите любую папку, вставьте промпт в поле сообщения и нажмите Enter. Он будет спрашивать разрешение на каждое действие, отвечайте «да».
Если привычнее терминал. Откройте Терминал на Mac или PowerShell на Windows, выполните команду справа, затем наберите claude, войдите и вставьте промпт. Подробная инструкция с картинками есть у Anthropic: code.claude.com/docs.
-
Вставьте промпт
Скопируйте текст из блока ниже целиком и вставьте в Claude Code. Он скачает три файла с этого сайта, поставит нужное, попросит вас вставить ключ в файл, заберёт данные и откроет дашборд в браузере. Единственное, что вам надо сделать руками: вставить ключ в открывшийся файл и сохранить. Через неделю или месяц скажите Claude Code «обнови дашборд», и он заберёт новые тренировки.
Промпт
Вставляется в Claude Code целиком. Читать не обязательно, но можно: там нет ничего, кроме шагов и правил безопасности.
Промпт написан по-английски: так Claude Code выполняет инструкции точнее. С вами он будет говорить по-русски, это сказано в первой строке.
Если что-то пошло не так, не редактируйте промпт. Просто скажите Claude Code, что случилось, своими словами. Он разберётся или спросит вас.
Build me the InnaTri running dashboard from my Garmin Connect data. Walk me through it step by step in plain language and do everything technical yourself: folders, files, installs. Stop and wait for me only where I have to act. Talk to me in Russian. Rules - Never print my Garmin key in the chat, never put it in a command, never write it anywhere except the file garmin.env. When you check it, say only “the key is in place” or “no key”. - The key and the data stay on my computer. Add the data folder and garmin.env to .gitignore. - The Garmin key is read-only; it cannot change anything in my account. Step 1. Folder and files Create a folder called innatri-dashboard in my home folder and work inside it. Download these three files into it: - https://innatri.com/guides/dashboard/fetch_garmin.py - https://innatri.com/guides/dashboard/build_dashboard.py - https://innatri.com/guides/dashboard/template.html Check that I have Python 3.10 or newer; if not, help me install it. Create a virtual environment and install the package garmin-connect-personal-api-python into it. Step 2. The key (I do this part, you guide me) Create the folder ~/.config/innatri and inside it the file garmin.env with one line: GARMIN_API_KEY= Set the file permissions to 600. Open it in my text editor and tell me the full path. I will paste the key right after the = sign with no spaces or quotes and save. If I do not have a key yet, tell me: it is created at https://connect.garmin.com/app/settings/personalApiToken with the Create Key button, 1 year is the best expiration, and it is shown only once. Then check that the value is filled in, without printing it. Step 3. Data Run fetch_garmin.py --months 12. If Garmin returns 401, the key was copied incompletely or has expired: ask me to check the file. If it returns 500, the script shrinks the batches on its own, just let it finish. At the end tell me how many activities and days came back. Step 4. Dashboard Run build_dashboard.py --lang ru. If it warns that the zones in my watch are based on maximum heart rate, pass that warning to me word for word. Open dashboard.html in my browser. Step 5. Summary Tell me four things from the dashboard: the verdict, the share of time in zones 1 and 2, how many runs out of how many were easy, and the longest streak of weeks without a recovery week. Do not advise anything beyond that; the coach does the reading. When I say “update the dashboard” or «обнови дашборд», repeat steps 3 and 4.
Без прикрас
Чего этот дашборд не знает
Каждый порог в нём тренерский, и каждый подписан. Но есть вещи, которых по данным Garmin не узнать. Лучше сказать о них сразу, чем отвечать на это в комментариях.
- Чем измерен пульс
Garmin не сообщает, ремень это или оптика на запястье. Оптика на интервалах и в холод ошибается на 5–10 ударов. Месячные средние надёжнее отдельных пробежек, а нагрудный ремень решает спор.
- Откуда взялся ваш максимум
Если он стоит по формуле, все зоны сдвинуты вместе с ним. Дашборд печатает, откуда взята граница, и предупреждает, но измерить максимум за вас не может.
- Жару, болезнь, недосып
Длинная в жару уходит вверх по пульсу к концу, и средний её не прощает. Пульс покоя после бокала вина выше на три удара. Это ограничения метода, а не ваши ошибки.
- Как Garmin считает нагрузку
Training Load это закрытая модель Firstbeat. Здесь она нужна только чтобы сравнивать недели между собой: найти ударные и разгрузочные.
- VO2max, статус тренированности, прогнозы
Личный ключ Garmin их не отдаёт. Дашборд намеренно построен на том, что измерено, а не оценено, и ничего не дорисовывает.
- Вашу жизнь вокруг бега
Дашборд видит пробежки, но не видит работу, сон, стресс и цели. Поэтому его вердикт это повод для разговора с тренером, а не диагноз.
Это инструмент для чтения тренировочных данных, а не медицинская рекомендация. Пороги в нём настраиваемые, выводы зависят от настроек зон в ваших часах, смотреть на них стоит трендом за 6–8 недель, а не по одной неделе. Скрипты открытые, работают только на вашем компьютере, данные никуда не отправляют. Ключ Garmin можно отозвать в любой момент на той же странице, где он создан.
Вопросы
Я не программист. Точно справлюсь?
Да. Вы делаете две вещи руками: создаёте ключ в Garmin и вставляете его в файл, который Claude Code сам откроет. Всё остальное он делает и объясняет по ходу. Если застряли, напишите ему, что видите на экране, своими словами.
Это безопасно? Куда уходят мои данные?
Никуда. Скрипты скачивают данные с серверов Garmin на ваш компьютер и собирают из них один HTML-файл. Ключ лежит в файле с правами только для вас, в чат он не попадает. Claude Code видит только то, что печатают скрипты: количество тренировок и предупреждения.
Garmin вернул ошибку 401
Ключ скопирован не полностью, с пробелом, или истёк. Откройте файл garmin.env, проверьте строку. Если ключ был на 30 дней, создайте новый на той же странице Garmin.
Дашборд говорит, что зоны считаются от максимума
Значит, в Garmin у вас зоны по проценту от максимального пульса. Это не ошибка, но если максимум не измерен, а стоит по формуле, граница лёгкого может быть сдвинута на 5–10 ударов. Потяните линию на дашборде на пять ударов в обе стороны и посмотрите, устойчив ли вердикт. Если нет, стоит измерить порог или максимум.
У меня много бега на дорожке
Пульс на дорожке настоящий, поэтому дорожка участвует во всех пульсовых метриках. Темп без футпода неточный, поэтому из «метров на удар» она исключена. В таблицах дорожка подписана.
Бегаю без пульса или с перерывами
Пробежки без пульса считаются в километрах, но не в зонах, и дашборд скажет, сколько их. Если с пульсом меньше 60% пробежек, вердикта не будет, только честное «пульс записан не везде». Дни без часов не считаются нулями.
Можно поменять правила под себя?
Да. Граница лёгкого двигается прямо на странице. Порог разгрузки задаётся ключом --deload при сборке, границу можно зафиксировать ключом --easy-ceiling. Все пороги перечислены внизу дашборда в разделе «Как считали».
Почему не Strava и не приложение?
Strava не отдаёт зоны и пульс покоя по открытому ключу так просто, а приложение означало бы, что ваши данные лежат у меня. Здесь они лежат у вас.
Что делать с этими цифрами
Дашборд показывает факты. Что с ними делать дальше, решает тренер. Если хотите, чтобы через полгода картина была другой, я веду бегунов и триатлетов онлайн.