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