Перейти к содержанию

User Stories: CalmTrader MVP

Версия: 1.0 Дата: 13.01.2026 Количество: 20 user stories


Формат User Story

Каждая user story содержит:

  • Роль — кто использует функцию
  • Действие — что хочет сделать
  • Ценность — зачем это нужно
  • Acceptance Criteria — критерии выполнения
  • Приоритет — High / Medium / Low
  • Story Points — оценка сложности (1-8)

Онбординг (US-001 — US-003)

US-001: Первый запуск бота

Как новый пользователь, Я хочу запустить бота командой /start, Чтобы начать использовать сервис.

Acceptance Criteria:

  • AC1: Команда /start создаёт запись пользователя в БД
  • AC2: Telegram ID сохраняется уникальным
  • AC3: Повторный /start не создаёт дубликат
  • AC4: Отображается экран настроек с приветствием
  • AC5: Язык определяется автоматически по Telegram

Приоритет: High Story Points: 3 Связь: A4A-38


US-002: Настройка языка

Как пользователь, Я хочу выбрать язык интерфейса (русский или английский), Чтобы получать сообщения на понятном мне языке.

Acceptance Criteria:

  • AC1: В настройках есть кнопка выбора языка
  • AC2: Доступны варианты: Русский, English
  • AC3: Выбор сохраняется в БД (поле language_code)
  • AC4: Все последующие сообщения на выбранном языке
  • AC5: Команды бота (/start, /help) локализованы

Приоритет: High Story Points: 2 Связь: A4A-38


US-003: Настройка голосовых предпочтений

Как пользователь, Я хочу настроить голосовые параметры агента, Чтобы получать ответы в предпочтительном формате.

Acceptance Criteria:

  • AC1: Выбор режима: текстовый или голосовой
  • AC2: Выбор пола голоса агента: мужской или женский
  • AC3: Выбор TTS провайдера: OpenAI или ElevenLabs
  • AC4: Выбор конкретного голоса из списка
  • AC5: Настройка скорости речи (0.8 / 1.0 / 1.2)
  • AC6: Все настройки сохраняются в профиле

Приоритет: Medium Story Points: 5 Связь: A4A-148


Check-in / Checkout (US-004 — US-007)

US-004: Pre-market check-in (короткий)

Как трейдер перед торговой сессией, Я хочу быстро пройти check-in за 1-2 минуты, Чтобы оценить свою готовность к торговле.

Acceptance Criteria:

  • AC1: Команда /checkin показывает выбор длительности
  • AC2: Кнопка "Быстро (1-2 мин)" выбирает короткий режим
  • AC3: Отправляется короткий системный промпт
  • AC4: Агент задаёт 2-3 ключевых вопроса
  • AC5: Состояние агента меняется на IN_SESSION_SHORT

Приоритет: High Story Points: 3 Связь: A4A-34


US-005: Pre-market check-in (полный)

Как трейдер, желающий глубоко проработать состояние, Я хочу пройти полный check-in без ограничения времени, Чтобы получить максимально персонализированные рекомендации.

Acceptance Criteria:

  • AC1: Кнопка "Полная (до 10+ мин)" выбирает unlimited режим
  • AC2: Отправляется полный системный промпт
  • AC3: Агент проводит глубокое интервью
  • AC4: Состояние агента меняется на IN_SESSION_UNLIMITED
  • AC5: Агент даёт развёрнутые CBT-рекомендации

Приоритет: High Story Points: 5 Связь: A4A-34


US-006: Post-market checkout

Как трейдер после торговой сессии, Я хочу провести рефлексию торгового дня, Чтобы проанализировать эмоции и извлечь уроки.

Acceptance Criteria:

  • AC1: Команда /checkout показывает выбор длительности
  • AC2: Доступны 3 режима: короткий, средний, полный
  • AC3: Отправляется соответствующий промпт для checkout
  • AC4: Агент анализирует результаты и эмоции дня
  • AC5: Состояние агента меняется на OUT_SESSION_*

Приоритет: High Story Points: 3 Связь: A4A-35


US-007: Персонализированное приветствие

Как пользователь, Я хочу получать персонализированное приветствие при check-in/checkout, Чтобы чувствовать индивидуальный подход.

Acceptance Criteria:

  • AC1: Приветствие содержит имя пользователя
  • AC2: Учитывается время суток (утро/день/вечер)
  • AC3: Учитываются предыдущие заметки агента
  • AC4: Приветствие генерируется через OpenAI
  • AC5: Разные приветствия для check-in и checkout

Приоритет: Medium Story Points: 3 Связь: A4A-145


Практики осознанности (US-008 — US-014)

US-008: Выбор категории практики

Как трейдер, желающий восстановить спокойствие, Я хочу выбрать категорию практики осознанности, Чтобы получить подходящее упражнение для моей ситуации.

Acceptance Criteria:

  • AC1: Команда /meditate показывает 4 категории (дыхание, общие, ситуативные, справка)
  • AC2: Каждая категория имеет название и эмодзи-иконку
  • AC3: Категории отображаются как inline-кнопки
  • AC4: Показывается персонализированное приветствие с изображением
  • AC5: Кнопка "Назад" для навигации между уровнями

Приоритет: High Story Points: 3 Связь: A4A-37, A4A-235, A4A-259

Категории:

# Категория Описание
1 🌬️ Дыхательные упражнения 5 техник для быстрого успокоения
2 📿 Общие практики 6 медитаций на каждый день
3 🎯 Ситуативные практики 8 медитаций для конкретных эмоций
4 📖 Справка и методология Описание подхода и рекомендации

US-009: Выбор дыхательной техники

Как трейдер, испытывающий острый стресс, Я хочу выбрать технику дыхания из категории "Дыхательные упражнения", Чтобы быстро восстановить спокойствие.

Acceptance Criteria:

  • AC1: Категория "Дыхательные" показывает 5 техник
  • AC2: Каждая техника имеет название
  • AC3: Техники отображаются как inline-кнопки (2+2+1)
  • AC4: Кнопка "Назад" возвращает к категориям
  • AC5: После выбора — выбор длительности (3/5/10 мин)

Приоритет: High Story Points: 3 Связь: A4A-37, A4A-235

Техники:

# Техника Назначение
1 Physiological Sigh Экстренное успокоение (30 сек)
2 Box Breathing Баланс и фокус (2-3 мин)
3 4-7-8 Breathing Глубокое расслабление (3-5 мин)
4 Coherent Breathing Базовая практика (5-20 мин)
5 Extended Exhale Поддержание спокойствия (2-5 мин)

US-010: Выполнение дыхательной практики

Как пользователь, Я хочу выполнить дыхательную практику с аудио-сопровождением, Чтобы правильно следовать ритму дыхания.

Acceptance Criteria:

  • AC1: Выбор длительности: short (3 мин) / medium (5 мин) / long (10 мин)
  • AC2: Кнопки "Техника" (объяснение) и "Выполнить" (практика)
  • AC3: Аудио динамически собирается из частей
  • AC4: Части: intro, inhale, hold, exhale, outro
  • AC5: Формат: OGG Opus для Telegram voice
  • AC6: После паузы (5 сек) появляется кнопка "Готово"

Приоритет: High Story Points: 8 Связь: A4A-235


US-011: Выбор медитации

Как трейдер, желающий восстановиться, Я хочу выбрать guided медитацию из общих или ситуативных, Чтобы получить направленную практику для моей ситуации.

Acceptance Criteria:

  • AC1: Категория "Общие практики" показывает 6 медитаций
  • AC2: Категория "Ситуативные" показывает 8 медитаций
  • AC3: Каждая медитация имеет название и кнопку
  • AC4: Кнопка "Справка" объясняет назначение категории
  • AC5: Кнопка "Назад" возвращает к категориям

Приоритет: High Story Points: 3 Связь: A4A-259

Общие медитации:

# Медитация Назначение
1 Morning Focus Утренняя настройка на день
2 Evening Reflection Вечерняя рефлексия
3 Success Visualization Визуализация успеха
4 Patience Cultivation Развитие терпения
5 Acceptance Practice Принятие результатов
6 Market Detachment Отстранённость от рынка

Ситуативные медитации:

# Медитация Назначение
1 Loss Recovery Восстановление после убытка
2 Tilt Prevention Предотвращение тильта
3 Overtrading Reset Сброс после овертрейдинга
4 FOMO Intervention Работа с FOMO
5 Risk Mindset Правильный риск-менеджмент
6 Revenge Trading Предотвращение мести рынку
7 Profit Anxiety Тревога из-за прибыли
8 Analysis Paralysis Паралич анализа

US-012: Прослушивание медитации

Как пользователь, Я хочу прослушать guided медитацию с ambient звуками, Чтобы расслабиться и восстановить силы.

Acceptance Criteria:

  • AC1: После выбора начинается генерация аудио
  • AC2: Показывается индикатор "Генерируем..."
  • AC3: Аудио собирается динамически из частей
  • AC4: Добавляется 1 из 10 ambient звуков (лес, дождь, океан и др.)
  • AC5: Отправляется как voice message в Telegram
  • AC6: После паузы появляется кнопка "Готово"

Приоритет: High Story Points: 8 Связь: A4A-259


US-013: Feedback после дыхательной практики

Как пользователь, завершивший дыхательную практику, Я хочу поделиться ощущениями с агентом, Чтобы получить поддержку и рекомендации.

Acceptance Criteria:

  • AC1: Кнопка "Готово" удаляется после нажатия
  • AC2: Состояние агента меняется на BREATHE_FEEDBACK
  • AC3: Агент получает контекст: техника + длительность
  • AC4: Агент спрашивает об ощущениях
  • AC5: Ответы учитываются для персонализации

Приоритет: Medium Story Points: 3 Связь: A4A-235


US-014: Feedback после медитации

Как пользователь, завершивший медитацию, Я хочу обсудить ощущения с агентом, Чтобы закрепить эффект и получить рекомендации.

Acceptance Criteria:

  • AC1: Кнопка "Готово" удаляется после нажатия
  • AC2: Состояние агента меняется на MEDITATE_FEEDBACK
  • AC3: Агент получает контекст: тип медитации
  • AC4: Агент спрашивает об ощущениях
  • AC5: Агент даёт рекомендации на основе feedback

Приоритет: Medium Story Points: 3 Связь: A4A-259


AI Agent (US-015 — US-017)

US-015: Текстовое общение с агентом

Как пользователь, Я хочу общаться с AI-агентом текстовыми сообщениями, Чтобы получать поддержку и рекомендации.

Acceptance Criteria:

  • AC1: Любое текстовое сообщение отправляется агенту
  • AC2: Показывается индикатор набора текста
  • AC3: Агент отвечает в течение 5 секунд
  • AC4: Ответ учитывает текущее состояние агента
  • AC5: Сообщения сохраняются в БД

Приоритет: High Story Points: 5 Связь: A4A-145


US-016: Голосовое сообщение агенту

Как пользователь, Я хочу отправить агенту голосовое сообщение, Чтобы быстрее выразить мысли без набора текста.

Acceptance Criteria:

  • AC1: Голосовое сообщение принимается ботом
  • AC2: Сообщение транскрибируется через Whisper
  • AC3: Транскрипция отправляется агенту
  • AC4: Аудио сохраняется в MinIO
  • AC5: Ограничение: максимум 20 минут

Приоритет: High Story Points: 5 Связь: A4A-147


US-017: Получение CBT-рекомендации

Как трейдер, испытывающий негативные эмоции, Я хочу получить рекомендацию на основе CBT-методологии, Чтобы изменить деструктивные паттерны мышления.

Acceptance Criteria:

  • AC1: Агент распознаёт негативные паттерны (FOMO, tilt)
  • AC2: Агент применяет CBT-техники в ответах
  • AC3: Рекомендации персонализированы
  • AC4: Агент предлагает практику (дыхание/медитация) при необходимости
  • AC5: Заметки о пользователе обновляются

Приоритет: High Story Points: 5 Связь: A4A-36


Управление (US-018 — US-020)

US-018: Сброс истории чата

Как пользователь, Я хочу очистить историю общения с ботом, Чтобы начать с чистого листа.

Acceptance Criteria:

  • AC1: Команда /reset запрашивает подтверждение
  • AC2: При подтверждении удаляются сообщения из Telegram
  • AC3: Удаляются записи сообщений из БД
  • AC4: Сбрасываются заметки агента
  • AC5: Сбрасывается состояние агента на IDLE

Приоритет: Medium Story Points: 3 Связь: A4A-75


US-019: Изменение настроек

Как пользователь, Я хочу изменить настройки бота в любой момент, Чтобы адаптировать его под текущие потребности.

Acceptance Criteria:

  • AC1: Команда /settings открывает меню настроек
  • AC2: Все настройки сгруппированы по категориям
  • AC3: Изменения применяются сразу
  • AC4: Кнопка "Назад" возвращает в главное меню
  • AC5: Кнопка "Продолжить" переводит к агенту

Приоритет: Medium Story Points: 3 Связь: A4A-38


US-020: Просмотр статистики (admin)

Как администратор, Я хочу видеть статистику использования бота, Чтобы мониторить активность пользователей.

Acceptance Criteria:

  • AC1: Команда /users доступна только админам
  • AC2: Показывается список пользователей
  • AC3: Для каждого пользователя — дата последней активности
  • AC4: Возможность фильтрации по активности
  • AC5: Админ-панель показывает расширенную статистику

Приоритет: Medium Story Points: 5 Связь: A4A-39


Сводная таблица

ID Название Приоритет SP Статус
US-001 Первый запуск бота High 3 Done
US-002 Настройка языка High 2 Done
US-003 Настройка голосовых предпочтений Medium 5 Done
US-004 Pre-market check-in (короткий) High 3 Partial
US-005 Pre-market check-in (полный) High 5 Partial
US-006 Post-market checkout High 3 Partial
US-007 Персонализированное приветствие Medium 3 Done
US-008 Выбор категории практики High 3 Done
US-009 Выбор дыхательной техники High 3 Done
US-010 Выполнение дыхательной практики High 8 Done
US-011 Выбор медитации High 3 Done
US-012 Прослушивание медитации High 8 Done
US-013 Feedback после дыхательной практики Medium 3 Done
US-014 Feedback после медитации Medium 3 Done
US-015 Текстовое общение с агентом High 5 Done
US-016 Голосовое сообщение агенту High 5 Done
US-017 Получение CBT-рекомендации High 5 Partial
US-018 Сброс истории чата Medium 3 Done
US-019 Изменение настроек Medium 3 Done
US-020 Просмотр статистики (admin) Medium 5 In Progress

Итого Story Points: 76


Документ создан: 13.01.2026 Версия: 1.0