docs(readme): sync configuration table with .env.template after openWakeWord #7

Closed
opened 2026-08-10 00:26:11 +03:00 by slaid098 · 0 comments
Owner

Контекст

После merge PR #3 (замена Vosk+Fuzzy wake word на openWakeWord) и PR #6 (Vivaldi app-режим) файл .env.template был обновлён корректно, но таблица конфигурации в README.md отстала — содержит устаревшие переменные и не содержит новые.

Конкретные расхождения (проверено grep'ом и Read):

Устаревшие строки в README.md:44-45 (удалены из .env.template в PR #3):

| `WAKE_ALIASES` | Алиасы для fuzzy-матчинга (через запятую) | `вики,wiki,вика,...` |
| `WAKE_THRESHOLD` | Порог fuzzy-матчинга (0-100) | `70` |

Эти переменные удалены из config.py и .env.template — fuzzy/substring-логика полностью убрана, openWakeWord имеет собственный score 0-1 с порогом 0.5 внутри детектора.

Пропущенные переменные (есть в .env.template, нет в README):

  • WAKE_WORD_DETECTOR (.env.template:14, default openwakeword) — ключевой параметр wake word
  • STT_PROVIDER (.env.template:21, default google) — провайдер распознавания команд
  • STT_LANGUAGE (.env.template:24, default ru-RU) — язык Google STT
  • MAX_MISUNDERSTAND (.env.template:34, default 3) — есть в README? проверить
  • PIPER_MODEL (.env.template:63, default ru_RU-irina-medium.onnx)
  • VOSK_STT_MODEL (.env.template:64, default vosk-model-small-ru-0.22)
  • VOSK_TTS_MODEL (.env.template:65, default vosk-model-tts-ru-0.7-multi)
  • VOSK_TTS_SPEAKER (.env.template:68, default 2)

BROWSER_PATH (.env.template:83) добавлен в README в PR #6 — корректно, не трогать.

Задача

Синхронизировать таблицу конфигурации в README.md (строки 41-57) с актуальным .env.template (83 строки):

  1. Удалить строки 44-45 (WAKE_ALIASES, WAKE_THRESHOLD) — этих переменных больше нет.
  2. Добавить пропущенные переменные в таблицу (с описаниями и defaults из .env.template):
    • WAKE_WORD_DETECTOR — Детектор слова активации: openwakeword (default openwakeword)
    • STT_PROVIDER — Провайдер распознавания команд: google / vosk / auto (default google)
    • STT_LANGUAGE — Язык Google STT (default ru-RU)
    • MAX_MISUNDERSTAND — Максимум непониманий подряд (default 3) — если ещё нет в таблице
    • PIPER_MODEL — Модель Piper TTS (default ru_RU-irina-medium.onnx)
    • VOSK_STT_MODEL — Модель Vosk STT (default vosk-model-small-ru-0.22)
    • VOSK_TTS_MODEL — Модель Vosk TTS (default vosk-model-tts-ru-0.7-multi)
    • VOSK_TTS_SPEAKER — Спикер Vosk TTS 0-4 (default 2 = Ирина)
  3. Порядок — сохранить логическую группировку как в .env.template: Wake word → STT → Таймауты → VAD → TTS → Модели → Погода → YouTube → Браузер.
  4. Не трогать CHANGELOG.md — исторические записи (WAKE_THRESHOLD/WAKE_ALIASES в строках 110, 187) отражают прошлые версии, их не менять.

Контракты

  • Таблица в README.md (строки 41-57) — единственное место правки.
  • .env.template — source of truth (уже актуален после PR #3 и PR #6).
  • AGENTS.md — уже актуален (обновлён в PR #3), не трогать.
  • Формат таблицы Markdown: | Переменная | Описание | По умолчанию | — сохранить.

Инварианты

  • Не менять ничего кроме таблицы конфигурации в README.
  • Не добавлять переменных, которых нет в .env.template.
  • Не удалять BROWSER_PATH (строка 57 — добавлен в PR #6, корректен).
  • Значения defaults должны точно совпадать с .env.template.

Граничные случаи

  • MAX_MISUNDERSTAND — проверить, есть ли уже в таблице (возможно пропущен, возможно нет). Если есть — не дублировать.
  • BROWSER_PATH уже в таблице (стр. 57) — не дублировать при добавлении секции браузера.
  • Порядок строк в таблице — не критичен, но логическая группировка (как в .env.template) предпочтительна.

Влияние на связанные компоненты

  • README.md — единственный затрагиваемый файл.
  • .env.template — не меняется (source of truth).
  • AGENTS.md — не меняется (уже актуален).
  • CHANGELOG.md — не меняется (исторические записи).
  • Release ZIP — README входит в комплект, обновление попадёт в следующий release.

Вне scope

  • Изменение .env.template (уже актуален)
  • Изменение AGENTS.md (уже актуален)
  • Реструктуризация README (другие секции)
  • Обновление CHANGELOG (исторические записи не трогаем)

Критерии приемки

  • Строки 44-45 (WAKE_ALIASES, WAKE_THRESHOLD) удалены из таблицы README
  • WAKE_WORD_DETECTOR добавлен в таблицу с default openwakeword
  • STT_PROVIDER добавлен с default google и вариантами google/vosk/auto
  • STT_LANGUAGE добавлен с default ru-RU
  • PIPER_MODEL, VOSK_STT_MODEL, VOSK_TTS_MODEL, VOSK_TTS_SPEAKER добавлены
  • MAX_MISUNDERSTAND — добавлен если отсутствовал
  • Все defaults совпадают с .env.template
  • BROWSER_PATH (стр. 57) сохранён
  • ruff check / mypy — не применимо (документация), но pytest должен быть зелёным (тесты на README не падают)
  • CHANGELOG.md не тронут
## Контекст После merge PR #3 (замена Vosk+Fuzzy wake word на openWakeWord) и PR #6 (Vivaldi app-режим) файл `.env.template` был обновлён корректно, но таблица конфигурации в `README.md` отстала — содержит устаревшие переменные и не содержит новые. Конкретные расхождения (проверено grep'ом и Read): **Устаревшие строки в `README.md:44-45` (удалены из `.env.template` в PR #3):** ``` | `WAKE_ALIASES` | Алиасы для fuzzy-матчинга (через запятую) | `вики,wiki,вика,...` | | `WAKE_THRESHOLD` | Порог fuzzy-матчинга (0-100) | `70` | ``` Эти переменные удалены из `config.py` и `.env.template` — fuzzy/substring-логика полностью убрана, openWakeWord имеет собственный score 0-1 с порогом 0.5 внутри детектора. **Пропущенные переменные (есть в `.env.template`, нет в README):** - `WAKE_WORD_DETECTOR` (`.env.template:14`, default `openwakeword`) — ключевой параметр wake word - `STT_PROVIDER` (`.env.template:21`, default `google`) — провайдер распознавания команд - `STT_LANGUAGE` (`.env.template:24`, default `ru-RU`) — язык Google STT - `MAX_MISUNDERSTAND` (`.env.template:34`, default `3`) — есть в README? проверить - `PIPER_MODEL` (`.env.template:63`, default `ru_RU-irina-medium.onnx`) - `VOSK_STT_MODEL` (`.env.template:64`, default `vosk-model-small-ru-0.22`) - `VOSK_TTS_MODEL` (`.env.template:65`, default `vosk-model-tts-ru-0.7-multi`) - `VOSK_TTS_SPEAKER` (`.env.template:68`, default `2`) `BROWSER_PATH` (`.env.template:83`) добавлен в README в PR #6 — корректно, не трогать. ## Задача Синхронизировать таблицу конфигурации в `README.md` (строки 41-57) с актуальным `.env.template` (83 строки): 1. **Удалить** строки 44-45 (`WAKE_ALIASES`, `WAKE_THRESHOLD`) — этих переменных больше нет. 2. **Добавить** пропущенные переменные в таблицу (с описаниями и defaults из `.env.template`): - `WAKE_WORD_DETECTOR` — Детектор слова активации: `openwakeword` (default `openwakeword`) - `STT_PROVIDER` — Провайдер распознавания команд: `google` / `vosk` / `auto` (default `google`) - `STT_LANGUAGE` — Язык Google STT (default `ru-RU`) - `MAX_MISUNDERSTAND` — Максимум непониманий подряд (default `3`) — если ещё нет в таблице - `PIPER_MODEL` — Модель Piper TTS (default `ru_RU-irina-medium.onnx`) - `VOSK_STT_MODEL` — Модель Vosk STT (default `vosk-model-small-ru-0.22`) - `VOSK_TTS_MODEL` — Модель Vosk TTS (default `vosk-model-tts-ru-0.7-multi`) - `VOSK_TTS_SPEAKER` — Спикер Vosk TTS 0-4 (default `2` = Ирина) 3. **Порядок** — сохранить логическую группировку как в `.env.template`: Wake word → STT → Таймауты → VAD → TTS → Модели → Погода → YouTube → Браузер. 4. **Не трогать** `CHANGELOG.md` — исторические записи (`WAKE_THRESHOLD`/`WAKE_ALIASES` в строках 110, 187) отражают прошлые версии, их не менять. ## Контракты - Таблица в `README.md` (строки 41-57) — единственное место правки. - `.env.template` — source of truth (уже актуален после PR #3 и PR #6). - `AGENTS.md` — уже актуален (обновлён в PR #3), не трогать. - Формат таблицы Markdown: `| Переменная | Описание | По умолчанию |` — сохранить. ## Инварианты - Не менять ничего кроме таблицы конфигурации в README. - Не добавлять переменных, которых нет в `.env.template`. - Не удалять `BROWSER_PATH` (строка 57 — добавлен в PR #6, корректен). - Значения defaults должны точно совпадать с `.env.template`. ## Граничные случаи - `MAX_MISUNDERSTAND` — проверить, есть ли уже в таблице (возможно пропущен, возможно нет). Если есть — не дублировать. - `BROWSER_PATH` уже в таблице (стр. 57) — не дублировать при добавлении секции браузера. - Порядок строк в таблице — не критичен, но логическая группировка (как в `.env.template`) предпочтительна. ## Влияние на связанные компоненты - `README.md` — единственный затрагиваемый файл. - `.env.template` — не меняется (source of truth). - `AGENTS.md` — не меняется (уже актуален). - `CHANGELOG.md` — не меняется (исторические записи). - Release ZIP — README входит в комплект, обновление попадёт в следующий release. ## Вне scope - Изменение `.env.template` (уже актуален) - Изменение `AGENTS.md` (уже актуален) - Реструктуризация README (другие секции) - Обновление CHANGELOG (исторические записи не трогаем) ## Критерии приемки - [ ] Строки 44-45 (`WAKE_ALIASES`, `WAKE_THRESHOLD`) удалены из таблицы README - [ ] `WAKE_WORD_DETECTOR` добавлен в таблицу с default `openwakeword` - [ ] `STT_PROVIDER` добавлен с default `google` и вариантами `google`/`vosk`/`auto` - [ ] `STT_LANGUAGE` добавлен с default `ru-RU` - [ ] `PIPER_MODEL`, `VOSK_STT_MODEL`, `VOSK_TTS_MODEL`, `VOSK_TTS_SPEAKER` добавлены - [ ] `MAX_MISUNDERSTAND` — добавлен если отсутствовал - [ ] Все defaults совпадают с `.env.template` - [ ] `BROWSER_PATH` (стр. 57) сохранён - [ ] `ruff check` / `mypy` — не применимо (документация), но `pytest` должен быть зелёным (тесты на README не падают) - [ ] `CHANGELOG.md` не тронут
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
slaid098/voice_assistant#7
No description provided.