1. Цель проектаДобавить в существующее детское мобильное приложение функцию голосового общения с ИИ:Речь ребёнка → Распознавание → Ответ ИИ → ОзвучиваниеСистема должна быть:безопасной для детей,быстрой,экономически оптимальной,масштабируемой.2. Технологический стек (зафиксирован) КлиентFlutter / DartiOS + Android BackendStrapi (Node.js) Strapi используется как:CMS (сказки, песни, стихи),Backend для AI,Backend для подписок, лимитов и сессий.AI-сервисы GoogleНазначениеСервисМодельASRGoogle Speech-to-Text V2chirpLLMGoogle Geminigemini-flash-lite-latestTTSGoogle Gemini TTSgemini-2.5-flash-preview-ttsTTS fallbackGoogle Gemini TTSgemini-2.5-pro-preview-ttsПоддерживаемые языки:11 язвков3. Пользовательский сценарийНажатие кнопки AIЗапись голоса (до 20–30 сек)Отправка аудио в backendBackend:ASR → текстформирует запрос в LLM:SYSTEM_PROMPT + CONTEXT_BRIEF + LAST_5_MESSAGES + USER_MESSAGEполучает текст ответаTTS → аудиоВозврат аудио в приложениеПроигрывание ответаUI-состояния: Idle → Listening → Thinking → Speaking → Idle4. Контекст и память диалогаХранение (Strapi DB)Таблица ai_sessionssession_iduser_idlangrolling_summary (≤ 600–1000 символов)last_activity_atТаблица ai_messagessession_idrole (user / assistant)contentcreated_atХранитьпоследние 5 сообщений + rolling_summary. История очищается через 7–30 дней.5. System Prompt (детский режим)Хранится в Strapi как конфигурация и может редактироваться без релиза.Требования:общение с ребёнком,дружелюбный и спокойный тон,короткие ответы (1–3 предложения),запрет опасных и взрослых тем,не запрашивать личные данные.6. Flutter — технические требованияПлагиныЗапись: record или flutter_soundРазрешения: permission_handlerПроигрывание: just_audioHTTP: dioАудио форматPCM WAV, 16kHz, monoАвто-стоп при тишине 1–1.5 сек7. Backend — APIОсновнойendpointPOST /api/ai/voiceRequest{ "session_id": "uuid", "lang": "az-AZ", "audio_base64": "..."}Response{ "recognized_text": "...", "assistant_text": "...", "audio_base64": "..."}8. Подписки, биллинг, лимитыПлатежиiOS: Apple In-App Purchase (подписка)Android: Google Play Billing (подписка)