anc
Этап 1: запись встречи в Zoom, живая расшифровка и разбор
- crates/audio: захват звука процесса Zoom и микрофона (WASAPI, process
loopback), формат 16 кГц моно, нарезка на куски по паузам с отсевом
тишины, распознавание начала и конца встречи по звуковой сессии Zoom.
- Ядро: запись двух дорожек → Whisper через OpenRouter → расшифровка,
живой конспект раз в три минуты, по окончании — разбор сам; звук
удаляется после разбора, если не включено хранение.
- Контроллер: слежу за Zoom → прошу предупредить участников → пишу;
запись вручную, пауза, стоп; прерванная запись помечается при запуске.
- Трей, уведомления, крестик прячет окно, запуск вместе с Windows.
- Интерфейс: главный экран с карточкой состояния (задача #1), живая
расшифровка и конспект на экране встречи, новые настройки.
- reqwest на системном TLS: под Windows без C-кода ring.
- 67 тестов; код под Windows проверен компиляцией и clippy с Mac,
на Windows не запускался.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
169ce64
30 сентября 2026 г.
lib.rs
//! Звук встречи: захват, формат, нарезка на куски и распознавание начала
//! встречи в Zoom. Всё, что не зависит от Windows, проверяется тестами на любой
//! машине; сам захват — в модуле [`win`] и собирается только под Windows.
/// Микрофон и звук процесса Zoom. Вне Windows — ошибка «только в Windows».
/// Процесс Zoom с активной сессией вывода звука, если он есть. Вне Windows — `None`.
/// Запись встреч возможна на этой машине.
pub const CAPTURE_SUPPORTED: bool = cfg!;