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

Phase 1 Progress Report

Проект: CalmTrader — AI Психолог для Трейдеров Контракт: order-001-phase1-ru Период: 01.12.2025 — 31.01.2026 Дата отчёта: 13.01.2026


Выводы

  1. Разработка идёт с опережением — реализован функционал сверх MVP (голос, медитации, AI Agent)
  2. Исследования отстают — нужны тестовые интервью и подготовка каналов
  3. Документация завершена — PRD, user stories, UX flow, test cases готовы
  4. Блокер: интервью зависят от Заказчика

Рекомендации

  1. Приоритизировать подготовку каналов для поиска респондентов (A4A-15)
  2. Начать тестовые интервью параллельно с разработкой
  3. Завершить Admin панель для мониторинга
  4. Согласовать ToS/PP с юристом

Executive Summary

Общий прогресс по контракту

Раздел Done Частично Todo Прогресс
2.1 Исследования 2 0 6* 25%
2.2 Операции 3 1 0* 87%
2.3 Управление продуктом 5 0 1 83%
2.4 Разработка 9 2 0 91%
ИТОГО 19 3 7 72%

* Без учёта задач Заказчика (2.1.5, 2.2.3)

Статус в Linear

Статус Количество
Done 29
In Progress 0
Todo 17
Backlog 11
Canceled 4

Статистика разработки

Метрика Значение
Коммитов 230+
Релизов 21 (v1.0.0 — v1.33.0)
Python файлов (apps/) 112
Python строк кода ~16,000
TypeScript/HTML (admin) ~2,800 строк
Telegram-бот версия v1.33.0

Ключевые достижения

  1. Telegram-бот работает в production — https://t.me/ai_calm_trader_bot
  2. AI Agent с персонализированным onboarding — GPT-4o powered
  3. Голосовые сообщения — STT (Whisper) + TTS (OpenAI/ElevenLabs)
  4. Единая команда /meditate — 5 дыхательных техник + 14 guided медитаций (включая 10 CBT-сценариев)
  5. Методология check-in/checkout с промптами для 3 режимов
  6. Admin панель — Ionic/Angular (user management, events, broadcast, analytics)
  7. 132 аудио-части — 110 CBT voice parts (male/female), 12 generic, 10 ambient sounds

Детализация по разделам контракта

2.1 Исследования (User Discovery)

Работа Linear Статус Комментарий
2.1.1 Подготовка методологии интервью A4A-12, A4A-44, A4A-45, A4A-46 ✅ Done Методология, скрипт, таблица созданы
2.1.2 Тестовые интервью (до 2 шт) A4A-13 📋 Todo
2.1.3 Доработка методологии A4A-14 📋 Todo Ждёт результатов 2.1.2
2.1.4 Каналы поиска респондентов A4A-15 📋 Todo
2.1.5 Проведение интервью (до 30 шт) ⏸️ Заказчик
2.1.6 Транскрибация интервью A4A-16 📋 Todo Ждёт 2.1.5
2.1.7 Анализ + user personas A4A-17 📋 Todo Ждёт 2.1.6
2.1.8 Van Westendorp анализ A4A-18 📋 Todo
2.1.9 Настройка аналитики A4A-19 ✅ Done PostHog Cloud EU интегрирован

Результаты: - Методология проблемных интервью - Скрипт интервью для CalmTrader - Таблица результатов (Google Sheets)


2.2 Операции

Работа Linear Статус Комментарий
2.2.1 ToS и Privacy Policy A4A-20, A4A-40, A4A-41, A4A-42 🔸 Частично RU готов, EN и согласование с юристом — нет
2.2.2 Регистрация домена A4A-21 ✅ Done calmtrader.ai (Spaceship)
2.2.3 Stripe/PayPal аккаунты ⏸️ Заказчик
2.2.4 SOPs документация A4A-22 ✅ Done sops-v1.md
2.2.5 Security audit A4A-23 ✅ Done Report, Methodology

Результаты: - Домен: calmtrader.ai - Субдомены: api., bot., app., admin., docs. - SSL: Let's Encrypt (auto-renewal via Traefik) - SOPs: Deployment, rollback, incident response, backup/restore, monitoring - Security Audit: 3 Medium findings, 3 Low findings, 0 Critical/High


2.3 Управление продуктом

Работа Linear Статус Комментарий
2.3.1 PRD для MVP A4A-24 ✅ Done prd-mvp.md
2.3.2 User stories (20 шт) A4A-25 ✅ Done user-stories-mvp.md
2.3.3 UX flow проектирование A4A-26 ✅ Done ux-flows-mvp.md
2.3.4 Координация команды A4A-27 ✅ Done Linear (57 задач), 2 статус-митинга
2.3.5 Тестирование (30 test cases) A4A-28 ✅ Done test-cases-mvp.md
2.3.6 Маркетинговая координация A4A-29 📋 Todo

Результаты:

  • PRD для MVP — 9 функциональных требований, 3 user personas
  • User Stories — 20 историй с acceptance criteria
  • UX Flows — 9 Mermaid диаграмм, wireframes
  • Test Cases — 30 тест-кейсов (21 P1, 8 P2, 1 P3)
  • Координация команды: Linear workspace (57 задач: 21 Done, 1 In Progress, 20 Todo, 11 Backlog, 4 Canceled), 2 статус-митинга с клиентом

2.4 Разработка

Работа Linear Статус Комментарий
2.4.1 Архитектура и схема БД A4A-30 ✅ Done architecture-v1.md
2.4.2 Telegram-бот framework A4A-31 ✅ Done Python aiogram 3.x
2.4.3 Database models A4A-32 ✅ Done database-schema-v1.md
2.4.4 Методология check-in A4A-33 🔸 Частично Методология готова, промпты написаны
2.4.5 Pre-market check-in flow A4A-34 🔸 Частично 3 режима промптов, нужна интеграция с агентом
2.4.6 Post-market reflection A4A-35 🔸 Частично 3 режима промптов, нужна интеграция с агентом
2.4.7 CBT-based AI responses A4A-36 ✅ Done 10 CBT-медитаций, 110 voice parts (male/female)
2.4.8 Дыхательные упражнения A4A-37, A4A-235 ✅ Done 5 техник с аудио
2.4.9 Базовые команды A4A-38 ✅ Done /start, /settings, /checkin, /checkout, /breathe, /meditate, /reset
2.4.10 Административная панель A4A-39 ✅ Done User management, events, broadcast, analytics
2.4.11 Production deployment A4A-10, A4A-11 ✅ Done Hetzner, Docker, CI/CD

Результаты: - Бот: @ai_calm_trader_bot (production) - API: https://api.calmtrader.ai - Admin: https://admin.calmtrader.ai - Docs: https://docs.calmtrader.ai - CI/CD: GitHub Actions (auto-deploy on push to main)

Детали по check-in/checkout (2.4.4–2.4.6):

Готово:

  • Методология описана в doc/methodology/checkin-checkout/
  • 6 промптов: check-{in,out}-{short,medium,unlimited}.md
  • PromptBuilder класс для генерации промптов с контекстом пользователя
  • Атрибуты и метрики определены в методологии

Осталось:

  • Интеграция промптов с AI агентом для интерактивного сценария (текст/голос)

Детали по Analytics (2.1.9):

✅ Готово:

  • PostHog Cloud EU интегрирован
  • Analytics service в боте (apps/bot/app/services/analytics.py)
  • 232 исторических события мигрированы
  • Все команды бота отслеживаются: bot_started, message_sent, checkin_started, checkout_started, breathing_started, meditation_started, chat_reset
  • User identification с properties (name, username, language)

Критерии приёмки (GO/NO-GO)

Из контракта, раздел 7:

Критерий Статус Комментарий
Методология интервью подготовлена и протестирована 🔸 Частично Подготовлена, тестовые интервью — нет
Каналы и запросы для поиска респондентов ❌ Нет
Результаты интервью обработаны и проанализированы ❌ Нет Ждёт интервью
Telegram-бот работает в production ✅ Да
Pre/post-market check-in реализован 🔸 Частично Методология и промпты готовы, нужна интеграция с агентом
Дыхательные упражнения доступны ✅ Да 5 техник
Административная панель работает ✅ Да User management, events, broadcast, analytics
Analytics dashboard настроен ✅ Да PostHog Cloud EU, 232 события мигрированы
ToS и Privacy Policy опубликованы 🔸 Частично RU есть, EN — нет

Готовность к приёмке: ~65%


Задачи сверх MVP

Функционал, который не был в контракте, но реализован:

ID Задача Описание Ценность
A4A-145 AI Agent Onboarding Персонализированный onboarding с GPT-4o, сбор профиля трейдера Высокая
A4A-147 Голосовые сообщения Транскрипция голоса (Whisper), хранение в MinIO Высокая
A4A-148 TTS ответы агента Голосовые ответы через OpenAI/ElevenLabs Высокая
A4A-159 Мультиязычность Полная локализация ru/en Средняя
A4A-249 AI Image Generation Midjourney API через APIFRAME Низкая
A4A-250 Admin Bot /generate Генерация картинок в админ-боте Низкая
A4A-259 Команда /meditate 4 guided медитации с ambient звуками Высокая

Суммарно добавлено ~7 фич сверх контракта.


Оставшиеся задачи для завершения Phase 1

Высокий приоритет (блокеры приёмки)

  1. A4A-13, A4A-14 — Тестовые интервью и доработка методологии
  2. A4A-15 — Каналы поиска респондентов
  3. A4A-33, A4A-34, A4A-35 — Методология и flows для check-in/checkout
  4. ~~A4A-39 — Завершение Admin панели~~ ✅ Done (v1.28.0)
  5. ~~A4A-19 — Настройка аналитики~~ ✅ Done (PostHog Cloud EU)

Средний приоритет

  1. A4A-20, A4A-41, A4A-42 — ToS/PP: согласование и перевод
  2. ~~A4A-22 — SOPs документация~~ ✅ Done
  3. ~~A4A-30, A4A-32 — Документация архитектуры и моделей~~ ✅ Done

Низкий приоритет

  1. ~~A4A-24, A4A-25, A4A-26, A4A-28 — PRD, User stories, UX flow, Test cases~~ ✅ Done
  2. ~~A4A-36 — CBT-based AI responses (10 сценариев)~~ ✅ Done (v1.31.0)
  3. ~~A4A-23 — Security audit~~ ✅ Done

Риски и блокеры

Риск Вероятность Влияние Митигация
Нет респондентов для интервью Средняя Высокое Подготовить каналы поиска (A4A-15)
Задержка с интервью от Заказчика Средняя Высокое Параллельная работа над разработкой
Согласование ToS с юристом затягивается Низкая Среднее Опубликовать draft версию

Приложение 1: Документация проекта

Вся документация доступна на https://docs.calmtrader.ai

Раздел Документов Описание
Продукт 7 PRD, User Stories, UX Flows, Test Cases, Архитектура
Дыхательные практики 5 Методология, визуализации, UX, техспецификация
Check-in/Check-out 4 AI-ассистент, атрибуты, логика сессий, промпты
Исследования 2 Анализ рынка, Unit-экономика
Статистика трейдеров 20 По типу, инструментам, опыту, психологии, демографии
CusDev 5 Методология интервью, скрипт, Van Westendorp
Юридическое 2 ToS, Privacy Policy (RU)
Техническая 2 Архитектура системы, схема БД
Операции 3 SOPs, Security Audit
Отчёты 1 Phase 1 Progress Report
ИТОГО 51

Приложение 2: Аудио контент медитаций

Общая статистика

Категория Файлов Описание
CBT Voice Parts 110 55 сценариев × 2 голоса (male/female)
Generic Meditation 12 Базовые части (intro, breath, body, mind, outro, trading)
Ambient Sounds 10 Фоновые звуки природы (loops)
ИТОГО 132

CBT Voice Parts (Когнитивно-поведенческая терапия)

10 сценариев для работы с эмоциями трейдера:

Phase 1 (6 сценариев):

Сценарий Частей Описание
FOMO Intervention 6 Работа со страхом упущенных возможностей
Tilt Prevention 6 Профилактика тильта
Overtrading Reset 5 Сброс переторговли
Risk Mindset 5 Мышление о рисках
Patience Cultivation 6 Развитие терпения
Acceptance Practice 6 Практика принятия

Phase 2 (4 сценария — v1.31.0):

Сценарий Частей Описание
Revenge Trading 5 Остановка реванш-трейдинга после потери
Profit Anxiety 5 Работа с тревогой о прибыли
Analysis Paralysis 5 Выход из аналитического ступора
Market Detachment 6 Психологическое отключение от рынка

Таблица CBT аудио файлов

Part Type Файл Промпт Язык Пол
cbt_fomo_intro voices/ru/male/cbt_fomo_intro.mp3 [softly] Ты заметил в себе FOMO... страх упустить возможность... Это нормальная реакция... Давай поработаем с ней... ru male
cbt_fomo_intro voices/ru/female/cbt_fomo_intro.mp3 [softly] Ты заметил в себе FOMO... страх упустить возможность... Это нормальная реакция... Давай поработаем с ней... ru female
cbt_fomo_body_scan voices/ru/male/cbt_fomo_body_scan.mp3 [softly] Обрати внимание на своё тело... Где ты чувствуешь это напряжение?.. В груди?.. В животе?.. Просто отметь это ощущение... ru male
cbt_fomo_body_scan voices/ru/female/cbt_fomo_body_scan.mp3 [softly] Обрати внимание на своё тело... Где ты чувствуешь это напряжение?.. В груди?.. В животе?.. Просто отметь это ощущение... ru female
cbt_fomo_thought_pattern voices/ru/male/cbt_fomo_thought_pattern.mp3 [softly] Какие мысли крутятся в голове?.. "Я упускаю прибыль"... "Все зарабатывают, кроме меня"... Заметь эти мысли... Не борись с ними... ru male
cbt_fomo_thought_pattern voices/ru/female/cbt_fomo_thought_pattern.mp3 [softly] Какие мысли крутятся в голове?.. "Я упускаю прибыль"... "Все зарабатывают, кроме меня"... Заметь эти мысли... Не борись с ними... ru female
cbt_fomo_reframe voices/ru/male/cbt_fomo_reframe.mp3 [softly] А теперь посмотри шире... Рынок будет существовать завтра... и послезавтра... Возможности приходят и уходят... Но твой капитал — это твоя главная возможность... Его нужно защищать... ru male
cbt_fomo_reframe voices/ru/female/cbt_fomo_reframe.mp3 [softly] А теперь посмотри шире... Рынок будет существовать завтра... и послезавтра... Возможности приходят и уходят... Но твой капитал — это твоя главная возможность... Его нужно защищать... ru female
cbt_fomo_acceptance voices/ru/male/cbt_fomo_acceptance.mp3 [softly] Прими то, что некоторые сделки — не твои... Это не потеря... Это мудрость... Пропустить сомнительную сделку — это тоже решение профессионала... ru male
cbt_fomo_acceptance voices/ru/female/cbt_fomo_acceptance.mp3 [softly] Прими то, что некоторые сделки — не твои... Это не потеря... Это мудрость... Пропустить сомнительную сделку — это тоже решение профессионала... ru female
cbt_fomo_closure voices/ru/male/cbt_fomo_closure.mp3 [softly] Почувствуй, как напряжение уходит... Ты в контроле... Ты выбираешь свои сделки... А не они выбирают тебя... ru male
cbt_fomo_closure voices/ru/female/cbt_fomo_closure.mp3 [softly] Почувствуй, как напряжение уходит... Ты в контроле... Ты выбираешь свои сделки... А не они выбирают тебя... ru female
cbt_tilt_intro voices/ru/male/cbt_tilt_intro.mp3 [softly] Тильт начинается незаметно... С одной неудачной сделки... С желания отыграться... Давай научимся замечать его раньше... ru male
cbt_tilt_intro voices/ru/female/cbt_tilt_intro.mp3 [softly] Тильт начинается незаметно... С одной неудачной сделки... С желания отыграться... Давай научимся замечать его раньше... ru female
cbt_tilt_body_signs voices/ru/male/cbt_tilt_body_signs.mp3 [softly] Тело всегда знает первым... Сжатые челюсти... Напряжённые плечи... Учащённое дыхание... Горячее лицо... Отметь, что чувствуешь прямо сейчас... ru male
cbt_tilt_body_signs voices/ru/female/cbt_tilt_body_signs.mp3 [softly] Тело всегда знает первым... Сжатые челюсти... Напряжённые плечи... Учащённое дыхание... Горячее лицо... Отметь, что чувствуешь прямо сейчас... ru female
cbt_tilt_thought_signs voices/ru/male/cbt_tilt_thought_signs.mp3 [softly] Заметь свои мысли... "Рынок против меня"... "Я должен вернуть убыток"... "Ещё одна сделка"... Эти мысли — красные флаги тильта... ru male
cbt_tilt_thought_signs voices/ru/female/cbt_tilt_thought_signs.mp3 [softly] Заметь свои мысли... "Рынок против меня"... "Я должен вернуть убыток"... "Ещё одна сделка"... Эти мысли — красные флаги тильта... ru female
cbt_tilt_pause voices/ru/male/cbt_tilt_pause.mp3 [softly] Когда замечаешь эти признаки — остановись... Пауза — это не слабость... Это сила... Отойди от терминала... Сделай перерыв... ru male
cbt_tilt_pause voices/ru/female/cbt_tilt_pause.mp3 [softly] Когда замечаешь эти признаки — остановись... Пауза — это не слабость... Это сила... Отойди от терминала... Сделай перерыв... ru female
cbt_tilt_reset voices/ru/male/cbt_tilt_reset.mp3 [softly] Убыток уже случился... Он в прошлом... Следующая сделка — это новое решение... Не связанное с предыдущей... Каждая сделка — чистый лист... ru male
cbt_tilt_reset voices/ru/female/cbt_tilt_reset.mp3 [softly] Убыток уже случился... Он в прошлом... Следующая сделка — это новое решение... Не связанное с предыдущей... Каждая сделка — чистый лист... ru female
cbt_tilt_closure voices/ru/male/cbt_tilt_closure.mp3 [softly] Ты больше, чем одна сделка... Больше, чем один день... Защити себя от себя... И рынок вознаградит твоё терпение... ru male
cbt_tilt_closure voices/ru/female/cbt_tilt_closure.mp3 [softly] Ты больше, чем одна сделка... Больше, чем один день... Защити себя от себя... И рынок вознаградит твоё терпение... ru female
cbt_overtrade_intro voices/ru/male/cbt_overtrade_intro.mp3 [softly] Ты заметил, что торгуешь слишком много... Это осознание — первый шаг... Давай остановимся и разберёмся... ru male
cbt_overtrade_intro voices/ru/female/cbt_overtrade_intro.mp3 [softly] Ты заметил, что торгуешь слишком много... Это осознание — первый шаг... Давай остановимся и разберёмся... ru female
cbt_overtrade_why voices/ru/male/cbt_overtrade_why.mp3 [softly] Спроси себя... Почему я открываю эту сделку?.. Это по системе?.. Или я ищу действие ради действия?.. Скука и азарт — плохие советчики... ru male
cbt_overtrade_why voices/ru/female/cbt_overtrade_why.mp3 [softly] Спроси себя... Почему я открываю эту сделку?.. Это по системе?.. Или я ищу действие ради действия?.. Скука и азарт — плохие советчики... ru female
cbt_overtrade_cost voices/ru/male/cbt_overtrade_cost.mp3 [softly] Каждая лишняя сделка — это комиссия... Это спред... Это эмоциональная энергия... Подсчитай, сколько стоит твоя переторговля... ru male
cbt_overtrade_cost voices/ru/female/cbt_overtrade_cost.mp3 [softly] Каждая лишняя сделка — это комиссия... Это спред... Это эмоциональная энергия... Подсчитай, сколько стоит твоя переторговля... ru female
cbt_overtrade_quality voices/ru/male/cbt_overtrade_quality.mp3 [softly] Лучше одна качественная сделка в день... Чем десять посредственных... Терпение — это навык... И он приносит деньги... ru male
cbt_overtrade_quality voices/ru/female/cbt_overtrade_quality.mp3 [softly] Лучше одна качественная сделка в день... Чем десять посредственных... Терпение — это навык... И он приносит деньги... ru female
cbt_overtrade_closure voices/ru/male/cbt_overtrade_closure.mp3 [softly] Закрой терминал... Отойди... Твои лучшие сделки ещё впереди... Дай им время появиться... ru male
cbt_overtrade_closure voices/ru/female/cbt_overtrade_closure.mp3 [softly] Закрой терминал... Отойди... Твои лучшие сделки ещё впереди... Дай им время появиться... ru female
cbt_risk_intro voices/ru/male/cbt_risk_intro.mp3 [softly] Риск — это не враг... Это партнёр... Без риска нет прибыли... Давай научимся жить с ним в мире... ru male
cbt_risk_intro voices/ru/female/cbt_risk_intro.mp3 [softly] Риск — это не враг... Это партнёр... Без риска нет прибыли... Давай научимся жить с ним в мире... ru female
cbt_risk_accept voices/ru/male/cbt_risk_accept.mp3 [softly] Перед каждой сделкой определи свой риск... Сколько ты готов потерять?.. Прими эту сумму заранее... Она уже "потрачена" на возможность... ru male
cbt_risk_accept voices/ru/female/cbt_risk_accept.mp3 [softly] Перед каждой сделкой определи свой риск... Сколько ты готов потерять?.. Прими эту сумму заранее... Она уже "потрачена" на возможность... ru female
cbt_risk_control voices/ru/male/cbt_risk_control.mp3 [softly] Ты не контролируешь рынок... Но контролируешь размер позиции... Стоп-лосс... Точку входа... Это твоя зона влияния... ru male
cbt_risk_control voices/ru/female/cbt_risk_control.mp3 [softly] Ты не контролируешь рынок... Но контролируешь размер позиции... Стоп-лосс... Точку входа... Это твоя зона влияния... ru female
cbt_risk_outcome voices/ru/male/cbt_risk_outcome.mp3 [softly] Результат отдельной сделки — это случайность... Но результат ста сделок — это система... Доверься процессу... Не отдельному исходу... ru male
cbt_risk_outcome voices/ru/female/cbt_risk_outcome.mp3 [softly] Результат отдельной сделки — это случайность... Но результат ста сделок — это система... Доверься процессу... Не отдельному исходу... ru female
cbt_risk_closure voices/ru/male/cbt_risk_closure.mp3 [softly] Рискуй осознанно... Принимай убытки спокойно... Они — часть игры... Плата за право участвовать... ru male
cbt_risk_closure voices/ru/female/cbt_risk_closure.mp3 [softly] Рискуй осознанно... Принимай убытки спокойно... Они — часть игры... Плата за право участвовать... ru female
cbt_patience_intro voices/ru/male/cbt_patience_intro.mp3 [softly] Терпение — суперсила трейдера... Рынок вознаграждает тех, кто умеет ждать... Давай развивать этот навык... ru male
cbt_patience_intro voices/ru/female/cbt_patience_intro.mp3 [softly] Терпение — суперсила трейдера... Рынок вознаграждает тех, кто умеет ждать... Давай развивать этот навык... ru female
cbt_patience_hunter voices/ru/male/cbt_patience_hunter.mp3 [softly] Представь себя охотником... Ты не бегаешь за добычей... Ты ждёшь в засаде... Идеальный момент придёт... Твоя задача — быть готовым... ru male
cbt_patience_hunter voices/ru/female/cbt_patience_hunter.mp3 [softly] Представь себя охотником... Ты не бегаешь за добычей... Ты ждёшь в засаде... Идеальный момент придёт... Твоя задача — быть готовым... ru female
cbt_patience_boredom voices/ru/male/cbt_patience_boredom.mp3 [softly] Скука — это нормально... Это значит, что ты не в рынке без причины... Скука защищает твой капитал... Прими её как союзника... ru male
cbt_patience_boredom voices/ru/female/cbt_patience_boredom.mp3 [softly] Скука — это нормально... Это значит, что ты не в рынке без причины... Скука защищает твой капитал... Прими её как союзника... ru female
cbt_patience_quality voices/ru/male/cbt_patience_quality.mp3 [softly] Вспомни свои лучшие сделки... Скорее всего, ты их терпеливо ждал... А худшие — открывал в спешке... Терпение равно качество... ru male
cbt_patience_quality voices/ru/female/cbt_patience_quality.mp3 [softly] Вспомни свои лучшие сделки... Скорее всего, ты их терпеливо ждал... А худшие — открывал в спешке... Терпение равно качество... ru female
cbt_patience_present voices/ru/male/cbt_patience_present.mp3 [softly] Будь здесь и сейчас... Не в прошлых упущенных сделках... Не в будущих воображаемых прибылях... Здесь... В этом моменте ожидания... ru male
cbt_patience_present voices/ru/female/cbt_patience_present.mp3 [softly] Будь здесь и сейчас... Не в прошлых упущенных сделках... Не в будущих воображаемых прибылях... Здесь... В этом моменте ожидания... ru female
cbt_patience_closure voices/ru/male/cbt_patience_closure.mp3 [softly] Каждая минута ожидания — это инвестиция... В качество твоих сделок... В твой долгосрочный успех... ru male
cbt_patience_closure voices/ru/female/cbt_patience_closure.mp3 [softly] Каждая минута ожидания — это инвестиция... В качество твоих сделок... В твой долгосрочный успех... ru female
cbt_accept_intro voices/ru/male/cbt_accept_intro.mp3 [softly] Принятие — это не смирение... Это освобождение... От борьбы с тем, что уже произошло... Давай практиковать принятие... ru male
cbt_accept_intro voices/ru/female/cbt_accept_intro.mp3 [softly] Принятие — это не смирение... Это освобождение... От борьбы с тем, что уже произошло... Давай практиковать принятие... ru female
cbt_accept_loss voices/ru/male/cbt_accept_loss.mp3 [softly] Эта потеря уже случилась... Она в прошлом... Сопротивление не изменит цифры на счёте... Но украдёт энергию для следующих сделок... ru male
cbt_accept_loss voices/ru/female/cbt_accept_loss.mp3 [softly] Эта потеря уже случилась... Она в прошлом... Сопротивление не изменит цифры на счёте... Но украдёт энергию для следующих сделок... ru female
cbt_accept_not_you voices/ru/male/cbt_accept_not_you.mp3 [softly] Убыточная сделка — это не ты... Это событие... Одно из тысяч в твоей карьере... Оно не определяет тебя как трейдера... ru male
cbt_accept_not_you voices/ru/female/cbt_accept_not_you.mp3 [softly] Убыточная сделка — это не ты... Это событие... Одно из тысяч в твоей карьере... Оно не определяет тебя как трейдера... ru female
cbt_accept_lesson voices/ru/male/cbt_accept_lesson.mp3 [softly] В каждой потере есть урок... Но чтобы его увидеть, нужно сначала принять... Без осуждения себя... Без самобичевания... ru male
cbt_accept_lesson voices/ru/female/cbt_accept_lesson.mp3 [softly] В каждой потере есть урок... Но чтобы его увидеть, нужно сначала принять... Без осуждения себя... Без самобичевания... ru female
cbt_accept_release voices/ru/male/cbt_accept_release.mp3 [softly] Выдохни и отпусти... Отпусти злость на рынок... Отпусти разочарование в себе... Освободи место для новых возможностей... ru male
cbt_accept_release voices/ru/female/cbt_accept_release.mp3 [softly] Выдохни и отпусти... Отпусти злость на рынок... Отпусти разочарование в себе... Освободи место для новых возможностей... ru female
cbt_accept_closure voices/ru/male/cbt_accept_closure.mp3 [softly] Принятие — это практика... С каждым разом становится легче... Ты учишься... Ты растёшь... Ты становишься сильнее... ru male
cbt_accept_closure voices/ru/female/cbt_accept_closure.mp3 [softly] Принятие — это практика... С каждым разом становится легче... Ты учишься... Ты растёшь... Ты становишься сильнее... ru female

Generic Meditation Voice Parts (Базовые части)

Part Type Файл Промпт Язык Пол
intro_relaxation voices/ru/male/intro_relaxation.mp3 [softly] Найди удобное положение... Закрой глаза... Позволь телу полностью расслабиться... ru male
breath_deep voices/ru/male/breath_deep.mp3 [softly] Сделай глубокий... медленный вдо-о-ох через нос... ru male
breath_hold voices/ru/male/breath_hold.mp3 [whispers] Задержи дыхание... ощути тишину внутри... ru male
breath_exhale voices/ru/male/breath_exhale.mp3 [softly] Медленно вы-ы-ыдохни через рот... отпуская всё напряжение... ru male
body_tension voices/ru/male/body_tension.mp3 [softly] Пройдись вниманием по телу... Заметь, где ты чувствуешь напряжение... в плечах... в челюсти... в руках... ru male
body_release voices/ru/male/body_release.mp3 [whispers] С каждым выдохом... отпускай это напряжение... позволь ему раствориться... ru male
mind_thoughts voices/ru/male/mind_thoughts.mp3 [whispers] Если приходят мысли — это нормально... просто заметь их... и мягко отпусти... как облака, проплывающие по небу... ru male
mind_present voices/ru/male/mind_present.mp3 [softly] Вернись в настоящий момент... Здесь и сейчас... только ты и твоё дыхание... ru male
outro_return voices/ru/male/outro_return.mp3 [whispers] Когда будешь готов... начни замечать звуки вокруг... [softly] Медленно открой глаза... Ты спокоен и готов к новому дню... ru male
trading_loss voices/ru/male/trading_loss.mp3 [softly] Эта сделка — лишь одна точка данных... Она не определяет тебя... как трейдера... как человека... ru male
trading_market voices/ru/male/trading_market.mp3 [softly] Рынок будет здесь завтра... и послезавтра... Всегда будут новые возможности... ru male
trading_control voices/ru/male/trading_control.mp3 [softly] Ты контролируешь только свои решения... своё внимание... свой внутренний мир... ru male
trading_process voices/ru/male/trading_process.mp3 [whispers] Фокусируйся на процессе, не на результате... Доверяй своей системе... ru male
trading_confidence voices/ru/male/trading_confidence.mp3 [softly] Ты подготовлен... Ты знаешь свою стратегию... Ты готов к новому дню... ru male

Ambient Sounds (Фоновые звуки)

Part Type Файл Промпт (SFX) Язык Пол
forest ambient/forest_30s_loop.mp3 soft ambient forest sounds, birds chirping gently in the distance, light breeze through leaves, peaceful nature atmosphere, seamless loop, no sudden sounds none none
stream ambient/stream_30s_loop.mp3 gentle mountain stream flowing over smooth rocks, soft water sounds, peaceful and calming, seamless loop for meditation none none
rain ambient/rain_30s_loop.mp3 gentle rain falling, soft patter on leaves and roof, calming rain sounds, no thunder, peaceful ambiance, seamless loop none none
fireplace ambient/fireplace_20s_loop.mp3 crackling fireplace, cozy warm fire sounds, gentle wood crackling, relaxing ambiance, seamless loop none none
ocean ambient/ocean_30s_loop.mp3 ocean waves gently rolling onto shore, soft sea sounds, peaceful beach ambiance, no seagulls, seamless loop for relaxation none none
wind ambient/wind_30s_loop.mp3 soft gentle wind blowing through meadow, peaceful breeze sounds, no harsh gusts, calming atmosphere, seamless loop none none
thunderstorm ambient/thunderstorm_30s_loop.mp3 distant thunderstorm, soft rolling thunder in background, light rain, no close lightning, relaxing storm ambiance, seamless loop none none
night ambient/night_30s_loop.mp3 peaceful night sounds, soft crickets chirping gently, occasional owl hoot in distance, calm nocturnal ambiance, seamless loop none none
garden ambient/garden_30s_loop.mp3 morning garden ambiance, birds singing softly, gentle rustling of plants, peaceful dawn atmosphere, seamless loop none none
waterfall ambient/waterfall_30s_loop.mp3 gentle waterfall flowing, soft cascading water sounds, peaceful nature ambiance, no harsh roaring, seamless loop for meditation none none

Технические детали

  • TTS Provider: ElevenLabs (eleven_v3)
  • Голоса: Liam (male), Sarah (female)
  • Формат: MP3, конвертируется в OGG Opus для Telegram
  • Хранилище: MinIO bucket meditation-audio
  • Ambient SFX: ElevenLabs Sound Effects API

Приложение 3: Функции Telegram-бота

Команды бота

Команда Описание Функционал
/start Запуск бота Экран настроек + переход к агенту
/settings Настройки Язык, голос, TTS провайдер, скорость
/checkin Pre-market check-in 3 режима: короткий (5 мин), средний (15 мин), безлимит
/checkout Post-market reflection 3 режима: короткий, средний, безлимит
/meditate Практики осознанности 3 категории: дыхание, общие, ситуативные
/reset Сброс истории Удаление всех сообщений из Telegram
/users Список пользователей Только для админов

Практики осознанности (/meditate)

Команда /meditate объединяет все практики в единый интерфейс с 3 категориями:

Категория "Дыхательные упражнения" (5 техник):

Техника Описание Длительность
Box Breathing Квадратное дыхание 4-4-4-4 3/5/7 мин
Physiological Sigh Двойной вдох + длинный выдох 3/5/7 мин
4-7-8 Breathing Вдох 4, задержка 7, выдох 8 3/5/7 мин
Coherent Breathing Синхронное дыхание 5-5 3/5/7 мин
Extended Exhale Продлённый выдох 4-8 3/5/7 мин

Категория "Общие практики" (6 медитаций):

Тип Описание Длительность
Утренняя настройка Подготовка к торговому дню 5 мин
Вечерняя рефлексия Анализ дня 7 мин
Визуализация успеха Позитивная установка 5 мин
CBT: Patience Развитие терпения 5 мин
CBT: Acceptance Практика принятия 5 мин
CBT: Market Detachment Психологическое отключение от рынка 7 мин

Категория "Ситуативные" (8 медитаций):

Тип Описание Длительность
Сброс после убытка Работа с потерей 7 мин
CBT: Tilt Prevention Профилактика тильта 5 мин
CBT: Overtrading Reset Сброс переторговли 5 мин
CBT: FOMO Работа со страхом упущенной возможности 5 мин
CBT: Risk Mindset Мышление о рисках 5 мин
CBT: Revenge Trading Остановка реванш-трейдинга 5 мин
CBT: Profit Anxiety Работа с тревогой о прибыли 5 мин
CBT: Analysis Paralysis Выход из аналитического ступора 5 мин

Голосовые функции

Функция Описание
STT (Speech-to-Text) OpenAI Whisper — транскрипция голосовых сообщений
TTS (Text-to-Speech) OpenAI tts-1 или ElevenLabs eleven_v3
Голоса Male: Liam, Echo, Fable, Onyx; Female: Sarah, Nova, Shimmer, Alloy
Скорость 0.8x / 1.0x / 1.2x
Транскрипт Опционально показывать текст после голоса

Настройки пользователя

Настройка Поле По умолчанию Варианты
Язык language_code ru ru / en
Режим ответа response_mode text text / voice
Пол агента voice_gender female male / female
TTS провайдер tts_provider openai openai / elevenlabs
Голос TTS tts_voice nova nova, echo, liam, sarah, etc.
Скорость TTS tts_speed 1.0 0.8 / 1.0 / 1.2
Показать транскрипт show_transcript true true / false

AI Agent

Функция Описание
Модель GPT-4o (OpenAI)
Персонализация Приветствие на основе профиля пользователя
Контекст История сообщений сохраняется в PostgreSQL
Промпты 6 режимов check-in/checkout (short/medium/unlimited)

Приложение 4: Функции Admin Panel

URL и доступ

  • URL: https://admin.calmtrader.ai
  • Авторизация: Telegram WebApp (только для is_admin=true)
  • Технологии: Ionic 8 + Angular 20 + Tailwind CSS

Страницы

Страница Путь Функционал
Dashboard /tabs/dashboard Статистика: пользователи, сообщения, события; График активности за 30 дней
Users /tabs/users Список пользователей с поиском и фильтрацией
User Detail /tabs/users/:id Профиль, статистика, редактирование настроек, удаление истории
Events /tabs/events Логи событий с фильтрацией по типу
Broadcast /tabs/broadcast Массовая рассылка с preview
Analytics /tabs/analytics Графики событий (PostHog)
Settings /tabs/settings Настройки темы (light/dark/system)

Dashboard

Метрика Описание
Всего пользователей Общее количество зарегистрированных
Новых за неделю Регистрации за последние 7 дней
Всего сообщений Общее количество сообщений
Всего событий Количество аналитических событий
График активности Сообщения по дням за 30 дней

User Detail

Функция Описание
Профиль Аватар, имя, username, telegram_id, дата регистрации
Статистика Количество сообщений, событий, последняя активность
Редактирование is_admin, language_code, response_mode, voice_gender
Удаление истории Удаление всех сообщений пользователя

Events

Функция Описание
Список событий event_type, user, data, timestamp
Фильтрация По типу события (dropdown)
Пагинация Infinite scroll
Детали Просмотр event_data в alert

Broadcast

Функция Описание
Ввод сообщения Textarea с поддержкой Markdown
Preview Показ количества получателей
Отправка Рассылка всем пользователям
Результат sent_count, failed_count, total_users

Analytics

Функция Описание
Период 7 дней / 30 дней / 90 дней
График событий Bar chart популярных событий
Детализация Список событий с процентами
Данные PostHog Query API через proxy

API Endpoints (Admin)

Method Endpoint Описание
GET /admin/stats Статистика для dashboard
GET /admin/activity График активности
GET /admin/events События с пагинацией
GET /admin/events/types Типы событий
GET /admin/users/{id} Детали пользователя
PATCH /admin/users/{id} Обновление настроек
DELETE /admin/users/{id}/messages Удаление истории
POST /admin/broadcast Рассылка
POST /admin/analytics/query PostHog proxy

Event Types

Тип события Описание
start Команда /start
command_checkin Команда /checkin
command_checkout Команда /checkout
command_breathe Команда /breathe
command_meditate Команда /meditate
command_reset Команда /reset
meditate_selected Выбор медитации
meditate_started Начало медитации
meditate_completed Завершение медитации
breathe_technique_selected Выбор техники дыхания
breathe_duration_selected Выбор длительности
breathe_execution_started Начало дыхательного упражнения

Отчёт сгенерирован автоматически на основе данных Linear.