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