// Engineering Log

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

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

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

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

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

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

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

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

Сверху — Meet, форк livekit-examples/meet с панелью «Секретарь»: список тем, дерево обсуждения с автообновлением, кнопка саммари. Всё это крутится в собственном docker-compose (LiveKit + confgraph + meet), без внешних SaaS-зависимостей, кроме одного вызова 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) как отдельный участник, аудио уходит в облако, взамен — транскрипт и саммари. Цены — от бесплатного тарифа с ограничениями (у Fathom, например, лимит на число AI-саммари в месяц) до 30–40 долларов за место в месяц на старших планах. У некоторых (Fireflies, MeetGeek) есть «topic tracking» — но это отслеживание повторяющихся тем как аналитика, плоский список, а не граф со связями между темами.

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

Тут интереснее, потому что это прямые конкуренты по духу «бесплатно и без подписки»:

  • Meetily — открытый код, MIT-лицензия, локальный Whisper/Parakeet, саммари через Ollama или любой API по выбору. По факту это ближайший бесплатный аналог confgraph в части «STT + саммари локально». Но это desktop-приложение для одного человека на своей машине — не сервис с API для комнаты с несколькими участниками, не встроено ни в какой видеозвонок как продукт.
  • Vexa — открытый, self-hostable API для ботов-участников, заходящих в Google Meet/Teams/Zoom, с реалтайм-транскриптами и вебхуками. Ближе всего к confgraph по архитектуре (self-host, API-first), но это конструктор для разработчиков, заточенный под то, чтобы заходить в чужие звонки, а не своя платформа для встреч. Графа тем и RAG по комнате там нет.
  • LiveKit Agents — фреймворк, на котором построен confgraph, сам по себе даёт STT/TTS/VAD-примитивы для голосовых агентов, но это стройматериал, а не готовый секретарь. Использование LiveKit тут — это не переизобретение, а применение готового кирпича по прямому назначению.

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

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

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

  1. Секретарь встроен в свою платформу для звонков, а не заходит гостем в чужую. Не нужно ничьего разрешения впускать бота, не нужно доверять чужой инфраструктуре аудио — это часть моего собственного Meet.
  2. Граф тем со связями, а не плоский список. Плюс sticky-логика: короткое «да/ок» не перебрасывает разговор в другую тему без высокой уверенности классификатора. Ни у одного из найденных инструментов такого нет.
  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)

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

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