Не схема-набросок, а сам бот: каждый блок — реальное сообщение целиком и реальные кнопки, как увидит пользователь. Стрелки подписаны нажатой кнопкой, показаны все ветки ответов. Тексты текущей логики — дословно из кода; целевой — по согласованному спеку. Оранжевым помечено, что меняем.
Согласованный редизайн (спек §2c). На каждом шаге — узкие кнопки или строго валидируемый формат с переспросом. Усилие тапается (описания в тексте бота). Темп — персональные кнопки уже ПОСЛЕ замера формы: невозможную цель выбрать нельзя.
🧮 Зачем каждый вопрос — что он даёт плану: обычный бег + усилие → форма (VDOT), из неё считаю темпы всех тренировок · длинный бег + усилие → стартовая длинная и выносливость + сверка формы · объём → старт плана и потолок роста (≤10%/нед) · дни → на сколько частей режу недельный объём. Ни одно число не лишнее.
T1 · дистанция
Привет 👋 Я твой беговой коуч. Построю план под твою цель и каждый день буду подстраивать его под восстановление.
На какую дистанцию бежим?
5 км10 км21.1 км42.2 км
▼ нажал «21.1 км»
T2 · дата · строгий формат
Когда забег? Напиши дату в формате ДД.ММ.ГГГГ — например 29.08.2026.
ввёл «в конце августа» — формат не тот
Не понял дату 🤔 Нужен формат ДД.ММ.ГГГГ, например 29.08.2026.
→ переспрашиваем, пока не введёт корректно
ввёл «29.08.2026» — ок
📅 29 августа 2026 · до гонки 10 недель → дальше
▼
T3 · бег 1 · км · строгий формат
Теперь измерим твою форму — по одному обычному недавнему бегу.
Сколько километров? Напиши числом — например 4.5.
ввёл «нормально» — не число
Нужно число километров, например 4.5. Попробуй ещё раз.
→ переспрашиваю, пока не пришлёшь число
ввёл «4.5» — ок
→ дальше: время
▼
T4 · бег 1 · время · строгий формат
За сколько пробежал эти 4.5 км? Формат ММ:СС — например 25:00.
ввёл «минут 25» — не тот формат
Нужен формат ММ:СС, например 25:00. Введи ещё раз.
→ переспрашиваю, пока формат не сойдётся
ввёл «25:00» — ок
→ дальше: усилие
▼
T5 · бег 1 · усилие
Теперь измерим твою форму по этому бегу. Как он ощущался?
🟢 Спокойно(восстановительный)
• дыхание носом, ровное · речь — болтал бы свободно · в конце мог бы пробежать ещё столько же
🟡 Бодро, но комфортно(выносливость)
• дыхание чуть глубже, под контролем · речь — целыми предложениями с паузами · в конце пробежал бы ещё немного
🟠 Тяжело(порог)
• дыхание ртом, частое · речь — только короткие фразы · в конце хватило бы ещё на 10–15 минут
🔴 Максимум(гонка)
• дыхание на пределе · говорить не мог · выложился полностью, как на гонке
🟢 Спокойно🟡 Бодро
🟠 Тяжело🔴 Максимум
➕ Я знаю свой пульс
нажал «🟠 Тяжело»
⚙️ усилие → VDOT (форма)
темп 4.5 км / 5:33, доля порога f=0.88 → VDOT 35.9. (Тот же бег как 🔴 дал бы 33.6, как 🟢 — 45.2. Усилие — решающий множитель.)
нажал «➕ Я знаю свой пульс»
Введи средний пульс за тот бег — например 165.
▼ нажал «165»
⚙️ пульс → зона → VDOT
165 / макс ~187 = 88% → зона Z4 (порог) → VDOT 35.9 (тот же результат, точнее)
▼
T6 · бег 2 · длинная → старт длинной
Теперь — самый длинный бег за последний месяц. По нему пойму, с какой длинной стартует план и насколько ты уже вынослив (длинную нельзя растить быстрее ~2 км/нед).
Сколько километров?
А как ощущалась эта длинная? Тот же язык, что и в первом беге — так сверю одно с другим.
🟢 Спокойно(восстановительный)
• дыхание носом, ровное · речь — болтал бы свободно · в конце мог бы пробежать ещё столько же
🟡 Бодро, но комфортно(выносливость)
• дыхание чуть глубже, под контролем · речь — целыми предложениями с паузами · в конце пробежал бы ещё немного
🟠 Тяжело(порог)
• дыхание ртом, частое · речь — только короткие фразы · в конце хватило бы ещё на 10–15 минут
🔴 Максимум(гонка)
• дыхание на пределе · говорить не мог · выложился полностью, как на гонке
🟢 Спокойно🟡 Бодро
🟠 Тяжело🔴 Максимум
➕ Я знаю свой пульс
нажал «🟡 Бодро»
⚙️ сверка формы
длинная 12 км как 🟡 «бодро» согласуется с VDOT 35.9 из первого бега — форма подтверждена; этот бег задаёт стартовую длинную и выносливость.
нажал «➕ Я знаю свой пульс»
Введи средний пульс за тот бег — например 165.
▼ нажал «165»
⚙️ пульс → зона → VDOT
165 / макс ~187 = 88% → зона Z4 (порог) → VDOT 35.9 (тот же результат, точнее)
▼
T8 · объём → старт + потолок роста
Сколько примерно набегаешь в неделю сейчас? От этого числа считаю старт плана и безопасный рост — не больше +10% в неделю.
до 1515–2525–40
40–6060+
▼ нажал «15–25»
T9 · дней/нед → деление объёма
Сколько дней в неделю готов бегать? На столько частей раскладываю недельный объём.
3456
▼ нажал «5»
⚙️ Вердикт выполнимости (домен B) считается здесь, ПОСЛЕ замера формы — и темп ниже предлагается только в выполнимых вариантах.
T10 · целевой темп · персональные кнопки
Прикинул твою форму по двум бегам и сколько осталось до старта — 10 недель. За этот срок реально целиться так:
🎯 6:00 /км — реально
🔥 5:30 /км — амбициозно
🏁 Просто добежать
Кнопки персональные: 6:00 — достижимо с запасом, 5:30 — впритык но реально. Быстрее ~5:24 /км в кнопках нет: форму за 10 недель столько не нарастить — бот честно пишет это строкой, а не прячет за кнопкой. (VDOT — внутренняя мера формы из формул Дэниелса; пользователю её не показываем, только результат — темпы.)
▼ нажал «🎯 6:00 /км — реально»
T11 · ВЕСЬ план — изучи перед согласованием
Готово, план собран 🎯 Изучи его целиком — без этого не согласуем.
🎯 Полумарафон — 21.1 км · 📅 29 августа 2026 · через 10 недель
5 пробежек в неделю · старт 20 км/нед · всего ≈ 234 км
Как устроен план
База · нед 1–4 — спокойный объём, фундамент
Развитие · нед 5–6 — темпо и интервалы
Пик · нед 7–8 — самые длинные и качественные
Перед стартом · нед 9–10 — снижаем объём, приходишь свежим
📱 Открыть весь план в приложении
📖 Как читать план❤️ Темпы и зоны
🏃 Что значит каждая тренировка
Весь план виден двумя способами: кнопкой 📱 в Мини-аппе (выше) — или прямо в чате, раскрывающимся списком по неделям 👇 (нажми на неделю — раскроется; числа — реальный вывод движка).
Неделя 1 · База · 20 км
• Лёгкий — 3 км · 6:39 /км · зона 2 • Лёгкий — 3 км · 6:39 /км · зона 2 • Лёгкий — 3 км · 6:39 /км · зона 2 • Лёгкий — 3 км · 6:39 /км · зона 2 • Длинная — 8 км · 6:39–6:59 /км · зона 2
Неделя 2 · База · 22 км
• Лёгкий — 3.5 км · 6:39 /км · зона 2 • Лёгкий — 3.5 км · 6:39 /км · зона 2 • Лёгкий — 3.5 км · 6:39 /км · зона 2 • Лёгкий — 3.5 км · 6:39 /км · зона 2 • Длинная — 8 км · 6:39–6:59 /км · зона 2
Неделя 3 · База · 24.2 км
• Лёгкий — 3.5 км · 6:39 /км · зона 2 • Лёгкий — 3.5 км · 6:39 /км · зона 2 • Лёгкий — 3.5 км · 6:39 /км · зона 2 • Лёгкий — 3.5 км · 6:39 /км · зона 2 • Длинная — 10 км · 6:39–6:59 /км · зона 2
Неделя 4 · База · 17.7 км · 📉 дилоад
• Лёгкий — 2.5 км · 6:39 /км · зона 2 • Лёгкий — 2.5 км · 6:39 /км · зона 2 • Лёгкий — 2.5 км · 6:39 /км · зона 2 • Лёгкий — 2.5 км · 6:39 /км · зона 2 • Длинная — 7.5 км · 6:39–6:59 /км · зона 2
Неделя 5 · Развитие · 26.6 км
• Интервалы — 4.5 км · 5:06 /км · зона 5 • Лёгкий — 3.5 км · 6:39 /км · зона 2 • Лёгкий — 3.5 км · 6:39 /км · зона 2 • Лёгкий — 3.5 км · 6:39 /км · зона 2 • Длинная — 11.5 км · 6:39–6:59 /км · зона 2
Неделя 6 · Развитие · 29.2 км
• Горки — 5 км · зона 4 • Лёгкий — 3.5 км · 6:39 /км · зона 2 • Лёгкий — 3.5 км · 6:39 /км · зона 2 • Лёгкий — 3.5 км · 6:39 /км · зона 2 • Длинная — 13.5 км · 6:39–6:59 /км · зона 2
Неделя 7 · Пик · 32.1 км
• Интервалы — 6.5 км · 5:06 /км · зона 5 • Лёгкий — 3 км · 6:39 /км · зона 2 • Лёгкий — 3 км · 6:39 /км · зона 2 • Лёгкий — 3 км · 6:39 /км · зона 2 • Длинная — 16.5 км · 6:39–6:59 /км · зона 2
Неделя 8 · Пик · 23.4 км · 📉 дилоад
• Лёгкий — 3 км · 6:39 /км · зона 2 • Лёгкий — 3 км · 6:39 /км · зона 2 • Лёгкий — 3 км · 6:39 /км · зона 2 • Лёгкий — 3 км · 6:39 /км · зона 2 • Длинная — 11.5 км · 6:39–6:59 /км · зона 2
Неделя 9 · Перед стартом · 22.5 км · 🏁 подводка
• Темпо — 3.5 км · 5:33 /км · зона 4 • Лёгкий — 3 км · 6:39 /км · зона 2 • Лёгкий — 3 км · 6:39 /км · зона 2 • Лёгкий — 3 км · 6:39 /км · зона 2 • Длинная — 10 км · 6:39–6:59 /км · зона 2
Неделя 10 · Перед стартом · 16.1 км · 🏁 подводка
• Лёгкий — 2.5 км · 6:39 /км · зона 2 • Лёгкий — 2.5 км · 6:39 /км · зона 2 • Лёгкий — 2.5 км · 6:39 /км · зона 2 • Лёгкий — 2.5 км · 6:39 /км · зона 2 • Длинная — 6 км · 6:39–6:59 /км · зона 2
📖 / ❤️ / 🏃 — открывают объяснения типов тренировок, темпов и зон. Пользователь должен полностью понять план перед согласованием.
· решение
Изучил? Если всё ок — согласуем. Если что-то не так — поправим по одному рычагу.
✅ Согласовать
✏️ Изменить план
нажал «✅ Согласовать»
Договорились 🤝 Когда начнём?
▶️ Сегодня🌅 Завтра утром
«▶️ Сегодня»
Отлично, стартуем сегодня! Лови первую тренировку 👇
→ сразу подробная карточка (домен C)
«🌅 Завтра утром»
Принято. Завтра в 07:00 напишу первым с планом на день.
→ дальше каждый день — утренний цикл (домен G): «бежим или отдых?» + адаптация
нажал «✏️ Изменить план»
Что поправить? Каждая кнопка — ровно один рычаг, никакого «ИИ перепридумал план»:
Меньше тренировокОбъём
Темп не мойДлинная великовата
Больше скорости
Меньше тренировок→меняет дней в неделю ↓ меньше пробежек, каждая длиннее
Объём→меняет текущий объём ↕ масштабируется весь недельный объём
Темп не мой→меняет пере-замер формы (бег + усилие) или пульс сдвигаются все темпы тренировок
Длинная великовата→меняет доля и потолок длинной ↓ длинная растёт медленнее
Больше скорости→меняет число/тип жёстких ↑ больше темпо и интервалов
Что реально происходит при нажатии каждого рычага:
Меньше тренировок
Сколько дней в неделю оставляем?
345
→ меньше пробежек, каждая длиннее → пересчёт
Объём
Какой недельный объём ставим сейчас?
до 1515–2525–40
→ масштабируется весь план → пересчёт
Темп не мой
Перемеряем форму — это сдвинет все темпы. Как замерим?
🏃 Бег + усилие❤️ Ввести пульс
→ повтор замера (шаги T3–T5) → новый VDOT → пересчёт всех темпов
Длинная великовата
Снижаю долю длинной — расти будет медленнее. Подтверждаешь?
✅ Да, мягче↩️ Оставить
→ потолок длинной ↓ → пересчёт
Больше скорости
Добавляю качества: больше темпо и интервалов вместо части лёгких. Ок?
✅ Да↩️ Нет
→ доля жёстких ↑ → пересчёт
→ любой рычаг меняет один вход профиля → build_plan пересобирает план целиком → снова показываю его с [✅ Согласовать / ✏️ Изменить] (T11)
A · Онбординг — ТЕКУЩАЯ
Как бот спрашивает сейчас (в коде)текущая · в коде
Дословно из handlers.py. Отличия от целевой помечены оранжевым: форму берёт из «теста», а не из двух бегов + усилия; целевой темп спрашивает рано и общим списком.
C1
Привет 👋 Я твой беговой коуч. Помогу подготовиться к гонке: построю план и буду подстраивать его под твоё восстановление каждый день.
🔬 На чём основан расчёт
· дистанция
Давай поставим цель. Какая дистанция?
5 км10 км21.142.2
▼ нажал «21.1»
· дата · календарь + текст
Полумарафон — отличная цель: достаточно серьёзно и реально подготовиться.
Когда гонка? Выбери дату в календаре 👇
Или просто напиши — например «29.08.2026» или «29 августа».
▼
⚠️ Здесь текущая логика спрашивает целевой темп до замера формы и общим списком — в целевой это шаг T10 после формы, персональными кнопками.
· целевой темп (рано)
До гонки 10 недель.
Какой темп хочешь держать на дистанции? Это точка Б — по ней проверю реалистичность.
5:00–5:30 /км5:30–6:00 /км
6:00–7:00 /кммедленнее 7:00
просто добежать
▼ нажал «6:00–7:00 /км»
· форма · тест
Был за последние пару месяцев забег или тест на время? Это самый точный вход, чтобы оценить твою форму.
Да, был забег/тестНет
нажал «Да, был забег/тест»
Напиши дистанцию и время — например «5 24:30» или «10 50:00».
▼ нажал «5 24:30»
Принял: 5 км за 24:30 ⏱
нажал «Нет»
→ сразу к объёму
▼
· объём
Сколько примерно набегаешь в неделю сейчас? Это нужно, чтобы рост был безопасным.
Выбери ближайший диапазон (на границе бери больший), или впиши точно ✍️. Если подключён Strava — потом уточню по нему.
Меньше 10 км10–20 км
20–35 км35+ км
✍️ Ввести точно← Назад
▼ нажал «20–35 км»
· длинная
Какую дистанцию пробегал без остановки за последний месяц?
На границе (например ровно 8 км) бери больший вариант, или впиши точно ✍️.
до 55–88–1212+
✍️ Ввести точно← Назад
▼ нажал «8–12»
· дней/нед
Сколько дней в неделю готов бегать?
234567
← Назад
▼ нажал «5»
· дни недели
Какие дни недели тебе удобно бегать? Отметь — потом можно поменять.
Тренировки не привязаны жёстко к дням, это просто ориентир.
ПнВтСрЧтПтСбВс
← НазадГотово ▸
▼ нажал «Готово ▸»
· травмы
Есть травмы или что-то, что мешает бегать?
Нет, всё окДа, расскажу…
нажал «Да, расскажу…»
Расскажи, что беспокоит — пару слов.
▼ нажал «свободный текст»
нажал «Нет, всё ок»
→ к саммари
▼
· саммари
Секунду, сверяюсь со Strava… 👀
Вот что я понял про тебя — поправь, если что не так:
🎯 21.1 км · 29 августа 2026 · через 10 недель
Целевой темп: 6:00–7:00 /км
Сейчас:
• Объём ~27 км/нед
• Длинная до 10 км
• Привычный темп ~6:00 /км
Всё так?
✅ Да, верно✏️ Поправить
нажал «✏️ Поправить»
Ок, давай заново — внимательнее.
→ перезапуск с дистанции
нажал «✅ Да, верно»
→ вердикт точка А → Б
▼
· вердикт
Минуту, собираю план… 🧮
Точка А → Б. Сейчас бежишь спокойно ~6:00 /км, объём ~27 км/нед. Цель — 6:00–7:00 /км. Честно: за этот срок это реально.
🎯 Строим под цель
📉 Поставить реалистичнее
⚠️ Вердикт — это engine._assess_realism (3 исхода: реально / амбициозно / риск). В целевой — calculator.feasibility с двумя замками и причиной (домен B).
▼ нажал «🎯 Строим под цель»
· интро коуча + план
Готово, план собран 🎯 Прежде чем начнём — коротко, как мы будем работать.
Моя задача — довести тебя до 21.1 км 29 августа 2026 здоровым, без травм.
☀️ Каждое утро смотрю твой recovery из WHOOP и спрашиваю самочувствие.
🎛 План живой. Не восстановился — двигаю тренировки. Цель важнее расписания.
💬 Говори честно. «Тяжело», «болит» — это данные, а не нытьё.
🛡 Безопасность вперёд. Не дам делать две тяжёлые подряд.
📊 Открыть мой план
⏰ Когда писать по утрам? (7:00)
🌅 План на день✍️ Занести тренировку
B · Каждое утро — адаптация (СЕЙЧАС)
Recovery + самочувствие → нагрузкатекущая · вшито
Дословно из scheduler.py / morning.py. Структуру держит код (adaptation.decide), не уговоры. Работает и без WHOOP — тогда решает самочувствие.
🔗 Это утренний цикл как сейчас: сессия стоит на конкретном дне недели, утром адаптация её смягчает или двигает. Целевая версия — домен G: тот же recovery + самочувствие и те же кнопки (Полегче / По плану / Отдых), но день выбираешь ты, а сессию бот достаёт из набора недели. B и G — одно и то же утро, разница только в том, привязаны ли тренировки к дням.
M1 · 07:00 · самочувствие
Доброе утро! 🌅
Как себя чувствуешь сегодня? Это поможет мне настроить тренировку под тебя.
😴😐🙂😀🔥
😴=плохо · 😐=так себе · 🙂=нормально · 😀=хорошо · 🔥=отлично
▼ нажал «выбрал самочувствие»
⚙️ decide(recovery, mood, тип сегодня)
Лёгкий день / отдых → ok. Иначе тяжёлая: recovery ≤33 → смягчаем · recovery 34–66 и самочувствие ≤3 → смягчаем · нет WHOOP и самочувствие ≤2 → смягчаем · recovery ≥67 / бодр → по плану.
день отдыха
Сегодня день отдыха — восстанавливаемся 😴 Тело строится в покое.
тяжёлая + ты свеж (ok)
recovery 75% — отличное восстановление. Сегодня по плану длинная 12 км, тело готово. 🏃
✅ Принять
🏃 Что за тренировка?
«✅ Принять»
Отлично, вперёд! 💪 Вот сегодняшняя тренировка — разбор ниже 👇
→ сразу шлёт подробную карточку (домен C)
«🏃 Что за тренировка?»
→ подробная карточка тренировки (домен C)
тяжёлая + низкий recovery (смягчаем)
Сегодня по плану — Интервалы (тяжёлая).
Но recovery 35% + ты отметил «так себе» — два сигнала вниз.
Гнать интенсивную на невосстановленном теле — не прогресс, а шаг к травме. Безопаснее смягчить и перенести скорость на день, когда восстановишься.
Что делаем?
🟢 Полегче — лёгкий 5 км
💪 По плану
😴 Отдых
▼ нажал «из ветки «смягчаем»»
«🟢 Полегче»
Готово. Сегодня — Лёгкий 5 км. Интервалы сдвинул на четверг — там восстановление должно быть лучше. Объём недели держим.
Почему так: не гружу тяжёлым на низком recovery и не ставлю 2 тяжёлых подряд.
«💪 По плану»
Идём по плану 💪 Доверяй процессу — слежу, чтобы не было перегруза.
«😴 Отдых»
Принято — сегодня отдыхаем. Тело строится в восстановлении, не в беге. Почему так: на низком recovery отдых полезнее через силу.
📋 Как только тренировка взята (Принять / Полегче / По плану) — бот сразу шлёт подробную карточку: что это, как бежать (разминка / работа / заминка), темп и пульс, почему именно сегодня. Описание не прячем за кнопкой — это домен C. Только при «Отдых» карточки нет.
C · Что за тренировка
Карточка тренировки + 7 видовтекущая · вшито
По кнопке «🏃 Что за тренировка?» бот шлёт карточку (что / как бежать / темп+пульс / почему / дальше). Дальше — все 7 типов с описанием, которое бот показывает в плане.
C1 · карточка тренировки
⚡ Сегодня — Интервалы · 6 кмЧто это: чередование быстрых отрезков и восстановления — поднимает порог, после которого ноги забиваются.
Как бежать:
🔥 разминка 1.5 км
⚡ 6 × 400 м быстро / 200 м трусцой
🧊 заминка 1.5 км
Темп и пульс: 5:05 /км · зона 5 (максимум)
Почему сегодня: recovery 75% — ты свеж, единственная скоростная на неделе.
Дальше: Ср — Лёгкий 5 км, Чт — отдых
✅ Сделал — оценить
🔄 Перенести📱 Открыть в приложении
▼ нажал «✅ Сделал — оценить»
· оценка RPE
Как далась?
😀 Легко🙂 Норм
😮💨 Тяжело🥵 На пределе
Все 7 видов тренировок — описание, которое бот объясняет в плане и карточке:
🏃 Лёгкий
расслабленный бег в разговорном темпе — строит аэробную базу и ускоряет восстановление.
🏞 Длинная
самый длинный бег недели в лёгком темпе — развивает выносливость и жировой обмен.
🔥 Темпо
продолжительный отрезок в умеренно-тяжёлом темпе — поднимает лактатный порог, после которого темп «встаёт».
⚡ Интервалы
чередование быстрых отрезков и восстановления — поднимает порог, после которого ноги забиваются.
🌀 Фартлек
«игра скоростью»: чередуй быстрые и лёгкие участки по самочувствию — скорость без жёсткого давления.
⛰ Горки
повторы в гору на усилии — строит силу ног и экономичность бега без ударной нагрузки.
📈 Прогрессия
старт в лёгком темпе, финиш быстрее темпового — учит бежать быстро на усталых ногах.
Если сегодня отдых — отдельная карточка:
· карточка отдыха
😴 Сегодня — отдых
Сегодня не бежим — и это часть плана, а не пропуск.
Почему важно: мышцы крепнут не в беге, а в восстановлении между пробежками. Пропустишь отдых — копится усталость и растёт риск травмы.
Если очень хочется двигаться: 10–15 мин растяжки, прогулка или 1–2 км очень медленно в зоне 1. Без скорости и без длины.
📱 Открыть в приложении
D · Занести тренировку
Логирование: авто / вручную / не бегалтекущая · вшито
Кнопка «✍️ Занести тренировку». Все ветки — дословно из кода.
L1
Окей. Подтянуть автоматически или внесёшь вручную?
🔄 Из WHOOP + Strava
✍️ Вручную
«🔄 Из WHOOP + Strava»
Нашёл пробежку за 25 июня:
Strava: 8 км, темп 6:10
WHOOP: strain 12.4, пульс 148
Это была Лёгкий по плану. Как далась?
😀 Легко🙂 Норм
😮💨 Тяжело🥵 На пределе
«✍️ Вручную»
Сколько километров? Напиши числом — например 5 или 8.5.
8 — как в планеНе бегал сегодня
▼ нажал «8 — как в плане»
Принял, 8 км. Как далась?
😀 Легко🙂 Норм
😮💨 Тяжело🥵 На пределе
«Не бегал сегодня»
Окей, бывает — без вины. Перенести или пропустить?
🔄 Перенести⏭ Пропустить
«🔄 Перенести»
Перенёс — поймаем в другой день. Объём недели держу, ничего не теряем.
«⏭ Пропустить»
Пропустили — не страшно, идём дальше по плану. Завтра новый день.
▼ нажал «выбрал оценку»
· итог · RPE
Записал ✅ 8 км — норм. Отмечаю выполненной в плане. Раз идёт легко — следующие тренировки оставляю по плану.
🏃 Твой план готов
🎯 Полумарафон — 21.1 км
📅 29 августа 2026 · через 10 недель
5 пробежек в неделю · старт 20 км/нед · всего ≈ 234 км
Где ты сейчас → куда идём
Сейчас бежишь спокойно ~6:00 /км. Цель — спокойно и уверенно добежать дистанцию.
Как устроен план
База · нед 1–4 — спокойный объём, фундамент
Развитие · нед 5–6 — темпо и интервалы
Пик · нед 7–8 — самые длинные и качественные
Перед стартом · нед 9–10 — снижаем объём
📖 Как читать план
❤️ Темпы и зоны
Каждая неделя — раскрывающийся блок:
· неделя (раскрыта)
Неделя 1 · База · 20 км · 5 пробежек
• Лёгкий — 3 км · 6:39 /км · зона 2
• Лёгкий — 3 км · 6:39 /км · зона 2
• Лёгкий — 3 км · 6:39 /км · зона 2
• Лёгкий — 3 км · 6:39 /км · зона 2
• Длинная — 8 км · 6:39 /км · зона 2
Зачем неделя: чистая аэробная база — качества пока нет, это норма для старта.
«📖 Как читать план»
📖 Как читать планЛёгкий — спокойный бег, можешь болтать на ходу. Тяжело = бежишь слишком быстро.
Длинная — самый долгий бег недели, медленный. Цель — время на ногах.
Темпо — долгий отрезок «комфортно-тяжело».
Интервалы — короткие быстрые куски через отдых.
Горки — повторы в подъём на усилии.
«Длинная 10 км · 6:30–6:50 /км · зона 2» → пробежать 10 км в спокойной зоне 2.
«❤️ Темпы и зоны»
❤️ Пульсовые зоны
Зона 1 — очень легко · разминка
Зона 2 — легко, разговорный · основная база, 80% бега
Зона 3 — средне
Зона 4 — тяжело · темпо, горки
Зона 5 — максимум · интервалы
⚖️ 80/20: 80% времени легко (зоны 1–2), 20% тяжело. Так форма растёт без травм.
F · Меню
Команда /menu — все действиятекущая · вшито
MENU
⚙️ Чем могу помочь?
🎯 Новая цель
🔄 Пересобрать план
⏰ Время по утрам
🔬 На чём основан расчёт
🔌 Переподключить WHOOP/Strava
🗑 Сбросить всё
«🎯 Новая цель»
Ок, ставим новую цель 🎯 Давай заново.
→ онбординг
«🔄 Пересобрать план»
Пересобираю план… 🧮
Пересобрал план 🔄
📊 Открыть план
«⏰ Время по утрам»
Когда писать по утрам?
06:0007:0008:0009:00
«🗑 Сбросить всё»
⚠️ Это удалит твой профиль и весь план. Начнём заново?
✅ Да, сбросить❌ Отмена
«✅ Да, сбросить»
Готово — профиль и план удалены 🗑
Твои данные WHOOP и Strava сохранены — только цель и план обнулились.
Поехали заново 👇
«❌ Отмена»
Отменено 🙂
G · Каждое утро — целевое
То же утро, что в B, но день выбираешь тыцелевая · ещё не вшито
Спек §6b. Это домен B, доведённый до цели: те же recovery + самочувствие и те же кнопки адаптации (Полегче / По плану / Отдых), но сессии не висят на днях — это набор (bucket), и сначала ты решаешь «бежим или отдых». Сейчас в боте — фикс-дни (B); это шаг к тому, чтобы день выбирал ты.
ценное вперёд: длинная > качество > лёгкое · блок жёсткого при 2 жёстких подряд или низком recovery · длинная не падает с конца недели
Лучшее на сегодня из остатка недели — Длинная 12 км. recovery и самочувствие ок, день нормальный. Можно свапнуть на другую.
✅ Беру🔁 Другую
→ взял сессию → сразу подробная карточка (домен C)
⚙️ адаптация — та же, что в домене B
Если recovery низкий или самочувствие вниз, suggest_session уже не предложит жёсткое, а на самой сессии будут те же кнопки 🟢 Полегче · 💪 По плану · 😴 Отдых — поведение один-в-один с B. Меняется только то, что день выбираешь ты.
Конец недели (много отдыхал — дней не хватило): бережём длинную и качество, лишние лёгкие сгорают. Перенос на след. неделю не делаем — каждая неделя считается заново от рампы объёма (week_dropouts).
Расхождения
Что меняем: текущая → целевая
Блок
Сейчас (в коде)
Целевая (согласуем)
Замер формы
Берёт VDOT из «теста» или темпа Strava; усилие не спрашивает.
Два бега (обычный + длинный) + усилие 🟢🟡🟠🔴 или пульс → VDOT по формуле.
Целевой темп
Спрашивается рано, общим списком диапазонов (до замера формы).
После замера — персональные кнопки, только выполнимые + «просто добежать».