diff --git a/README.md b/README.md index d08fee4..d4af167 100644 --- a/README.md +++ b/README.md @@ -29,20 +29,20 @@ ```mermaid graph TB - subgraph "Основной цикл (main.py)" - A[Бесконечный цикл] --> B{Режим активации} - B -->|Ожидание wake word| C[wait_for_wakeword] - B -->|Режим диалога| D[listen в режиме follow-up] + subgraph "Основной цикл (app/main.py)" + A[main() - основной цикл] --> B{Режим активации} + B -->|Ожидание wake word| C[wait_for_wakeword()] + B -->|Режим диалога| D[listen() в режиме follow-up] C --> E[Прослушивание команды] D --> E E --> F[Анализ команды] end subgraph "Аудио подсистема (app/audio/)" - C1[wakeword.py
- wait_for_wakeword
- check_wakeword_once] - E1[stt.py
- listen
- get_recognizer] - G1[tts.py
- speak
- initialize] - H1[sound_level.py
- parse_volume_text
- set_volume] + C1[wakeword.py
- wait_for_wakeword()
- check_wakeword_once()] + E1[stt.py
- listen()
- get_recognizer()] + G1[tts.py
- speak()
- initialize()] + H1[sound_level.py
- parse_volume_text()
- set_volume()] C1 -.-> E1 E1 -.-> G1 @@ -50,11 +50,11 @@ graph TB end subgraph "Ядро (app/core/)" - F1[commands.py
- is_stop_command
- _normalize_text] - F2[ai.py
- ask_ai_stream
- translate_text] - F3[cleaner.py
- clean_response] + F1[commands.py
- is_stop_command()
- _normalize_text()] + F2[ai.py
- ask_ai_stream()
- translate_text()] + F3[cleaner.py
- clean_response()] F4[config.py
- Настройки проекта] - F5[smalltalk.py
- get_smalltalk_response] + F5[smalltalk.py
- get_smalltalk_response()] F --> F1 F --> F2 @@ -63,12 +63,12 @@ graph TB end subgraph "Функции (app/features/)" - I1[weather.py
- get_weather_report] - I2[timer.py
- get_timer_manager] - I3[alarm.py
- get_alarm_clock] - I4[stopwatch.py
- get_stopwatch_manager] - I5[music.py
- get_music_controller] - I6[cities_game.py
- get_cities_game] + I1[weather.py
- get_weather_report()] + I2[timer.py
- get_timer_manager()] + I3[alarm.py
- get_alarm_clock()] + I4[stopwatch.py
- get_stopwatch_manager()] + I5[music.py
- get_music_controller()] + I6[cities_game.py
- get_cities_game()] F --> I1 F --> I2 @@ -80,22 +80,22 @@ graph TB subgraph "Обработка команд" F --> J{Тип команды} - J -->|Small talk| K[get_smalltalk_response] + J -->|Small talk| K[get_smalltalk_response()] J -->|Повтор| L[Повтор последнего ответа] - J -->|Стоп| M[is_stop_command] - J -->|Таймер| N[parse_command timer] - J -->|Будильник| O[parse_command alarm] - J -->|Секундомер| P[parse_command stopwatch] - J -->|Громкость| Q[parse_volume_text + set_volume] - J -->|Погода| R[get_weather_report] - J -->|Музыка| S[parse_command music] - J -->|Перевод| T[parse_translation_request] - J -->|Города| U[handle cities_game] - J -->|AI| V[ask_ai_stream] + J -->|Стоп| M[is_stop_command()] + J -->|Таймер| N[parse_command() timer] + J -->|Будильник| O[parse_command() alarm] + J -->|Секундомер| P[parse_command() stopwatch] + J -->|Громкость| Q[parse_volume_text() + set_volume()] + J -->|Погода| R[get_weather_report()] + J -->|Музыка| S[parse_command() music] + J -->|Перевод| T[parse_translation_request()] + J -->|Города| U[handle() cities_game] + J -->|AI| V[ask_ai_stream()] end subgraph "Ответ пользователю" - K --> W[clean_response] + K --> W[clean_response()] L --> W M --> W N --> W @@ -108,7 +108,7 @@ graph TB U --> W V --> W - W --> X[speak] + W --> X[speak()] X --> Y[Возврат в режим ожидания] Y --> A end