Библиотека ДИИП

ИИ-секретарь на созвоне — сам заходит, расшифровывает и присылает итоги

Кидаешь Telegram-боту ссылку на встречу — он заходит как участник, пишет звук, расшифровывает по спикерам и присылает итоги. Self-hosted, в закрытом контуре, без посеатной подписки

Что болит

Онлайн-встреч много, конспектировать некому, а кто ведёт запись — выпадает из обсуждения. У Телемоста есть встроенная запись и AI-конспект, но только в платных корпоративных тарифах Yandex 360 (от ~339 ₽/чел/мес): на бесплатном тарифе, на разовых и внешних встречах, во внутренних совещаниях без подписки фиксировать нечем. Готовые SaaS-нотетейкеры (класс MyMeet) часть кейсов закрывают, но тянут аудио в чужое облако и берут помесячную плату за каждого — что не везде допустимо (NDA, закрытый контур).

Чем отличается от готовых сервисов

Данные не уходят наружуПайплайн self-hosted, а не чужое облако
Закрытый контурВнутренние совещания, где внешний бот недопустим
Встроен в граф проектовИтоги сразу становятся черновиками в базе знаний, а не письмом
Кастомные итогиПод ваш формат: решения / задачи / ответственные / теги
Без посеатной подпискиНе платим за каждого участника помесячно
Любые платформыТелемост (вкл. 360), Zoom, Meet — одним инструментом

Как это работает

    1. Запрос боту. Кидаешь в Telegram ссылку — бот подтверждает «подключаюсь».
    2. Заход на встречу. Headless Chromium + Playwright под виртуальным дисплеем (Xvfb) заходит гостем, без аккаунта.
    3. Захват звука. Смешанный звук вкладки (PulseAudio/PipeWire monitor → ffmpeg, opus); авто-стоп по детекту тишины.
    4. Расшифровка. Двухэтапно: быстрый прогон (Groq Whisper large-v3) сразу, затем точный (faster-whisper).
    5. Спикеры и итоги. Диаризация pyannote по числу участников; Claude выделяет решения / задачи / ответственных и кладёт черновик в граф проектов.

Инструменты

Telegram-ботТочка входа
Headless Chromium + Playwright + XvfbГостевой заход на встречу
PulseAudio / PipeWire → ffmpegЗахват аудио (opus 16k)
Groq Whisper large-v3 + faster-whisperРасшифровка; для рус. — Yandex SpeechKit
pyannote 4.xДиаризация по числу спикеров
Claude (Sonnet)Итоги → черновик в граф проектов

Результаты на практике

Конспект встречи
вручную, отвлекаясь
автоматически, никто не отвлекается
Встречи без корп-подписки / в закрытом контуре
не фиксировались
расшифровка есть, данные не уходят
«Кто что сказал»
по памяти
в тексте, по спикерам

Честные развилки

Детект «кто говорит / звонок завершён» по обфусцированным CSS-классам ломается при обновлении UI — поэтому авто-стоп сделан по уровню звука (детект тишины), а не по DOM. Заход зависит от платформы: при смене вёрстки логин-флоу приходится чинить.

Реальный кейс

Наш Telegram-бот записи Телемоста (headless Chromium + Xvfb + Pulse → Groq / faster-whisper + pyannote 4.x → Claude), self-hosted на собственном VPS; принимает ссылки telemost.yandex.ru и telemost.360.yandex.ru, отдаёт расшифровку со спикерами в тот же чат.

Валентин Демихов · Диалектика·

Другие сценарии раздела