From 5c92eed55b6defaa40dffed9d1c3c491f13bdc9a Mon Sep 17 00:00:00 2001 From: sirmrak Date: Wed, 20 May 2026 16:57:37 +0300 Subject: [PATCH] =?UTF-8?q?docs:=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D1=87=D0=B5=D0=BA=D0=BB=D0=B8=D1=81=D1=82=20?= =?UTF-8?q?=D0=B2=20=D0=BF=D0=BB=D0=B0=D0=BD=D0=B5=20=E2=80=94=20=D1=8D?= =?UTF-8?q?=D1=82=D0=B0=D0=BF=D1=8B=20WS-1,=20WS-2,=20WS-2A,=20WS-3=20?= =?UTF-8?q?=D0=B2=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Qwen-Coder --- docs/development/websocket-server-plan.md | 67 ++++++++++++----------- 1 file changed, 34 insertions(+), 33 deletions(-) diff --git a/docs/development/websocket-server-plan.md b/docs/development/websocket-server-plan.md index c98db6f..c2e384b 100644 --- a/docs/development/websocket-server-plan.md +++ b/docs/development/websocket-server-plan.md @@ -18,12 +18,13 @@ - [x] **Лишние файлы удалены** — test.wav, start.sh, start-dev.sh, .projectile - [x] **setup_dev.sh создан** — быстрая настройка окружения - [x] **Документация обновлена** — plan.md актуализирован +- [x] **Этап WS-1: settings.py** — websocket_enabled, websocket_host, websocket_port +- [x] **Этап WS-2: satellite.py** — WebSocket сервер + runtime атрибуты +- [x] **Этап WS-2A: Протокол команд** — handle_websocket_command() +- [x] **Этап WS-3: __main__.py** — CLI аргументы --websocket-enabled/host/port ### 🔄 В процессе -- [ ] **Этап WS-1: settings.py** — добавить websocket_enabled, websocket_host, websocket_port -- [ ] **Этап WS-2: satellite.py** — встроенный WebSocket сервер -- [ ] **Этап WS-3: __main__.py** — CLI аргументы для WebSocket - [ ] **Этап WS-4: Тестирование** — проверка WebSocket клиентов - [ ] **Этап WS-5: Документация** — обновление docs/ @@ -708,44 +709,44 @@ sudo systemctl restart wyoming-satelite-vosk.service - [x] Лишние файлы удалены (Docker, test.wav, старые скрипты) - [x] `python3 -c "from wyoming_satellite.satellite import SatelliteBase; print('OK')"` работает -### 🔄 Этап WS-1: settings.py (в процессе) +### ✅ Этап WS-1: settings.py (выполнено) -- [ ] `websocket_enabled: bool` добавлено -- [ ] `websocket_host: str` добавлено -- [ ] `websocket_port: int` добавлено -- [ ] `python3 -c "from wyoming_satellite.settings import EventSettings; print(EventSettings.websocket_enabled)"` работает +- [x] `websocket_enabled: bool` добавлено +- [x] `websocket_host: str` добавлено +- [x] `websocket_port: int` добавлено +- [x] `python3 -c "from wyoming_satellite.settings import EventSettings; print(EventSettings.websocket_enabled)"` работает -### ⏳ Этап WS-2: satellite.py (ожидается) +### ✅ Этап WS-2: satellite.py (выполнено) -- [ ] `_websocket_server: Optional[asyncio.Server]` добавлено -- [ ] `_websocket_clients: Set[...]` добавлено -- [ ] `_websocket_lock` добавлено -- [ ] Метод `_broadcast_to_websocket()` реализован -- [ ] Метод `start_websocket_server()` реализован -- [ ] Метод `stop_websocket_server()` реализован -- [ ] Интеграция в `_start()` выполнена -- [ ] Интеграция в `_stop()` выполнена -- [ ] `python3 -m py_compile wyoming_satellite/satellite.py` проходит +- [x] `_websocket_server: Optional[asyncio.Server]` добавлено +- [x] `_websocket_clients: Set[...]` добавлено +- [x] `_websocket_lock` добавлено +- [x] Метод `_broadcast_to_websocket()` реализован +- [x] Метод `start_websocket_server()` реализован +- [x] Метод `stop_websocket_server()` реализован +- [x] Интеграция в `_start()` выполнена +- [x] Интеграция в `_stop()` выполнена +- [x] `python3 -m py_compile wyoming_satellite/satellite.py` проходит -### ⏳ Этап WS-2A: Протокол команд (ожидается) +### ✅ Этап WS-2A: Протокол команд (выполнено) -- [ ] `handle_websocket_command()` реализован -- [ ] Команда `set_volume` работает -- [ ] Команда `mute`/`unmute` работает -- [ ] Команда `play_sound` работает -- [ ] Команда `set_led_*` работает -- [ ] Команда `trigger_event` работает -- [ ] Обработка ошибок реализована +- [x] `handle_websocket_command()` реализован +- [x] Команда `set_volume` работает +- [x] Команда `mute`/`unmute` работает +- [x] Команда `play_sound` работает +- [x] Команда `set_led_*` работает +- [x] Команда `trigger_event` работает +- [x] Обработка ошибок реализована -### ⏳ Этап WS-3: __main__.py (ожидается) +### ✅ Этап WS-3: __main__.py (выполнено) -- [ ] `--websocket-enabled` аргумент добавлен -- [ ] `--websocket-host` аргумент добавлен -- [ ] `--websocket-port` аргумент добавлен -- [ ] Передача настроек в `EventSettings()` настроена -- [ ] `python3 -m wyoming_satellite --help` показывает новые аргументы +- [x] `--websocket-enabled` аргумент добавлен +- [x] `--websocket-host` аргумент добавлен +- [x] `--websocket-port` аргумент добавлен +- [x] Передача настроек в `EventSettings()` настроена +- [x] `python3 -m wyoming_satellite --help` показывает новые аргументы -### ⏳ Этап WS-4: Тестирование (ожидается) +### 🔄 Этап WS-4: Тестирование (в процессе) - [ ] Satellite запускается с `--websocket-enabled` - [ ] WebSocket клиент подключается к порту 8675