// Engineering Log

Confgraph: изобрёл ли я велосипед, делая ИИ-секретаря для видеозвонков

Опубликовано 22.09.2026

// Быстрый маршрут

Эта статья относится к теме Деплой и стабильная работа.

Периодически ловлю себя на мысли «а что, если это уже кто-то сделал?» — уже после того, как написал очередной кусок кода. С confgraph, моим ИИ-секретарём для видеоконференций, я решил не гадать, а честно разобраться: насколько проект нов и есть ли смысл его продолжать.

Что вообще за проект

Confgraph — серверный бот на базе LiveKit, который заходит в видеозвонок как участник только на приём (без своего микрофона, обычно скрытый в списке участников), слушает каждого говорящего отдельно и:

  • распознаёт речь локально, через faster-whisper на CPU, не отправляя аудио наружу;
  • с помощью LLM (через OpenRouter) относит фразы к темам и строит из них граф обсуждения — не плоский список тегов, а узлы-темы со связями между ними;
  • сохраняет транскрипт, эмбеддинги и граф в SQLite — сырое аудио в базу не попадает;
  • отвечает на вопросы по содержанию звонка через RAG-эндпоинт;
  • после звонка собирает саммари: по темам, оффтоп, решения, дедлайны, задачи на следующий созвон.

Интерфейс — Meet, форк livekit-examples/meet с панелью «Секретарь»: список тем, дерево обсуждения с автообновлением, кнопка саммари. Всё это работает в собственном docker-compose (LiveKit + confgraph + meet) без внешних облачных сервисов, кроме вызова LLM через API. Попробовать вживую можно на meet.regionruza.ru.

Для тех, кому интересны детали, — несколько реальных параметров конфигурации:

ACTIVE_SPEAKER_MODE=replace   # границы фразы = active speaker + hangover 2с
CLASSIFY_TOPIC_CONFIDENCE=0.9 # порог, ниже которого короткое "ок" не переключает тему
LIVEKIT_HIDDEN=true           # бот не отображается в списке участников
CHAT_LOG_ENABLED=false        # не спамить в общий чат встречи

Проверка на велосипед

Прежде чем писать ещё одну строчку, я посмотрел, что уже есть на рынке.

Коммерческие SaaS

Otter.ai, Fireflies, Fathom, tl;dv, Grain, Read.ai — вся эта категория работает по одному принципу: бот-гость заходит в чужой звонок (Zoom, Google Meet, Teams) как отдельный участник, аудио уходит в облако, взамен приходят транскрипт и саммари. Тарифы — от бесплатных с ограничениями до платных подписок за каждого участника команды. У некоторых сервисов (Fireflies, MeetGeek) есть «topic tracking», но это аналитика повторяющихся тем, плоский список, а не граф со связями между темами.

Self-hosted и open-source альтернативы

Здесь интереснее: это прямые конкуренты по принципу «бесплатно и без подписки»:

  • Meetily — открытый код под лицензией MIT, локальное распознавание через Whisper или Parakeet, саммари через Ollama или любой API на выбор. Это ближайший бесплатный аналог confgraph в части «распознавание и саммари локально». Но это настольное приложение для одного человека на своём компьютере, а не сервис с API для комнаты с несколькими участниками и не часть какой-либо платформы видеозвонков.
  • Vexa — открытый API для ботов-участников, который можно развернуть у себя: боты заходят в Google Meet, Teams и Zoom и передают расшифровку в реальном времени и через вебхуки. По архитектуре (свой сервер, API в основе) это ближе всего к confgraph, но это конструктор для разработчиков, рассчитанный на подключение к чужим звонкам, а не своя платформа для встреч. Графа тем и RAG по комнате там нет.
  • LiveKit Agents — фреймворк, на котором построен confgraph. Он даёт базовые блоки для голосовых агентов — распознавание и синтез речи, определение голосовой активности, — но это строительный материал, а не готовый секретарь. Использовать LiveKit — не значит изобретать заново, это применение готового компонента по прямому назначению.

Так что не велосипед

Если свести задачу к «локальной расшифровке и LLM-саммари без подписки», она уже решена — Meetily тому доказательство, и здесь я не первый.

Но трёх вещей в такой комбинации я не нашёл ни у кого:

  1. Секретарь встроен в свою платформу для звонков, а не заходит гостем в чужую. Не нужно разрешение на то, чтобы впустить бота, и не нужно доверять аудио чужой инфраструктуре — секретарь входит в мой собственный Meet.
  2. Граф тем со связями, а не плоский список. К тому же короткое «да» или «ок» не переключает разговор на другую тему, если классификатор в этом не уверен. Ни у одного из найденных инструментов такого нет.
  3. RAG-запросы, привязанные к конкретной комнате, через собственный API — не общий поиск по всей истории аккаунта, а именно по контексту одного разговора.

Итог

Отчасти да, это велосипед: базовую часть «слушать и расшифровывать» я не изобретал, она существовала и до меня. Но конструкции целиком — своя платформа, граф тем и RAG по комнате — под мою задачу я не нашёл нигде. И главный практический плюс для меня не в уникальности архитектуры, а в том, что это моё: никакой подписки за место в команде из одного человека, полный контроль над данными звонка и возможность в любой момент изменить то, что не устраивает, а не писать в поддержку.

// Похожая задача

Если у вас похожая ситуация

Эта статья относится к одной из рабочих тем. Можно продолжить чтение по теме, перейти на главную, чтобы понять, чем я занимаюсь, или сразу открыть услуги.

Тема статьи

Деплой и стабильная работа

Docker, CI/CD, релизы, мониторинг, observability и разбор инцидентов.

Часто с этим приходят

  • Настроить деплой без ручных действий и хаоса
  • Подключить мониторинг, алерты и базовую observability
  • Разобрать инциденты и стабилизировать production

// Следующий шаг

Если вам нужна не только статья, а помощь по этой теме, удобнее сразу перейти в услугу. Главная и подборка материалов остаются рядом.

Открыть услуги

// Reviews

Отзывы по теме

Опыт сотрудничества оставил максимально позитивное впечатление, в первую очередь профессионализмом и подходом к решению возникающих проблем.

Опыт сотрудничества оставил максимально позитивное впечатление, в первую очередь профессионализмом и подходом к решению возникающих проблем.

mendarinno384

Jitsi meet: персональный zoom, настройка jitsi meet в docker и на VPS

11.11.2025 · ★ 5/5

Была задача наладить работу n8n, redis и базы данных. Заказывал раньше у другого исполнителя, постоянно все ломалось. Заказал у Михаила, на следующий же день все стало работать быстро, как часы!

Была задача наладить работу n8n, redis и базы данных. Заказывал раньше у другого исполнителя, постоянно все ломалось. Заказал у Михаила, на следующий же день все стало работать быстро, как часы!

christ_media

N8n установка на ваш vps сервер. Настройка n8n, docker, ai, telegram

24.09.2025 · ★ 5/5

Опытный покупатель

ladohinpy

N8n установка на ваш vps сервер. Настройка n8n, docker, ai, telegram

25.08.2025 · ★ 5/5

Михаил выполнил настройку очередного VPS. Быстро, профессионально обходя определенные ограничение хостинг провайдеров.

Михаил выполнил настройку очередного VPS. Быстро, профессионально обходя определенные ограничение хостинг провайдеров.

NadoBy

NadoBy

N8n установка на ваш vps сервер. Настройка n8n, docker, ai, telegram

12.08.2025 · ★ 5/5

Освоившийся покупатель

// Contact

Нужна помощь?

Свяжись со мной и я помогу решить проблему

Написать в Telegram

Отвечаю в течение рабочего дня (03:00–13:00 GMT)

Или оставьте заявку здесь:

Подтвердите, что вы не бот.

Написать и получить быстрый ответ