Транскрипция звонков Uchat: STT-worker в комнате LiveKit

В комнату LiveKit Uchat заходит worker apps/call-stt-agent. Он пишет сегменты. Саммари в тред, если есть assistant LLM. Профиль local: stub.

В комнату LiveKit Uchat заходит worker apps/call-stt-agent. Он пишет сегменты. Саммари в тред, если есть assistant LLM. Профиль local: stub.

Звонки в Uchat уже шли на своём LiveKit. Cloud SFU не обязателен. Запись оставалась локальным webm у клиента. Серверного STT не было. Нужны были транскрипт звонка и саммари в тред после созвона.

Worker в комнате LiveKit

Медиа оставили как было: rooms, токены, попап звонка. В комнату LiveKit заходит worker apps/call-stt-agent на livekit-agents. Имя агента uchat-call-stt. Только STT. Он один пишет сегменты.

Captions уходят в клиент. Сегменты пишутся в chat-service под ACL участников звонка. Спикеры равны identity участников LiveKit. ML-диаризации на первом круге нет. SFU почти не трогали. Worker рядом (compose или systemd) плюс доступ до chat-service.

Два профиля STT

Переключатель через env.

Саммари если есть LLM

На call.ended job в API гонит готовый текст в уже существующий assistant LLM и кладёт саммари сообщением в тред. Нет LLM: саммари скипаем, транскрипт остаётся.

Uchat живёт рядом с Utracker. Соседний экран того же контура: Process Hub.