Audio Scribe TMA: workspace для транскрибации, файлов и рабочих данных

Audio Scribe TMA — frontend-часть платформы Audio Scribe: Telegram Mini App и web workspace на React/Vite. Если бот удобен для быстрых действий из чата, то TMA закрывает сценарии, где нужно загрузить большой файл, выбрать параметры транскрибации, посмотреть историю, разложить результаты по заметкам, задачам, календарю и напоминаниям.

Что решает TMA

Я делал TMA как рабочий интерфейс вокруг тех же backend-возможностей, которые доступны боту, но с более удобным управлением данными. Основные задачи:

  • загрузить аудио или видео через UI, а не через ограничения Telegram-чата;
  • настроить параметры транскрибации перед обработкой;
  • отслеживать статус больших файлов через polling;
  • работать с файлами, заметками, задачами, календарём и напоминаниями в одном workspace;
  • дать администраторам отдельный dashboard для мониторинга, настроек и контроля системы.

Для больших файлов frontend использует отдельный endpoint транскрибации и polling статуса обработки. Это делает web-интерфейс более подходящим для записей встреч, длинных лекций, интервью и видеофайлов, которые неудобно отправлять напрямую в Telegram.

Вход и авторизация

TMA поддерживает два сценария входа:

  • Telegram Mini App — при запуске внутри Telegram используется initData;
  • web-flow — для обычного web-доступа применяется JWT.

В логике frontend Telegram initData имеет приоритет над JWT. Это важно для Mini App-сценария: пользователь может открыть workspace из Telegram и продолжить работу с тем же аккаунтом и балансом, не проходя отдельный ручной вход.

Как работает транскрибация через UI

В разделе /workspace/transcribe пользователь загружает аудио или видео и выбирает параметры обработки.

Настройки транскрибации:

  • язык;
  • пунктуация и регистр;
  • speaker labels;
  • profanity filter;
  • entity detection;
  • redact PII.

После отправки frontend запускает обработку и опрашивает backend о статусе. Такой flow лучше подходит для больших файлов: пользователь видит отдельный экран, может работать с параметрами и не зависит от формата Telegram-сообщения.

Workspace-разделы

TMA организован вокруг нескольких рабочих маршрутов:

  • /workspace — общий вход в рабочую область;
  • /workspace/transcribe — загрузка и транскрибация файлов;
  • /workspace/files — работа с файлами и результатами обработки;
  • /workspace/notes — заметки и база рабочих материалов;
  • /workspace/reminders — напоминания и управление уведомлениями;
  • /workspace/settings — настройки пользователя и интерфейса;
  • Tasks & Calendar — задачи, проекты и календарные связи.

Files и результаты анализа

Файлы и результаты транскрибации доступны не только как сообщение в Telegram, но и как сохранённые сущности. Это нужно для повторного обращения к материалу: открыть расшифровку, вернуться к summary, найти цитаты или использовать результат как основу для заметки.

После транскрипта платформа хранит связанные блоки анализа: summary, thoughts, quotes, notes и key takeaways. В UI это превращается в рабочую карточку материала, а не в одноразовый ответ.

Notes

Раздел заметок закрывает ручную и полуавтоматическую работу с материалами. В нём есть:

  • ручные заметки;
  • теги;
  • закрепление;
  • архив;
  • вложения;
  • ссылки;
  • привязка к задачам и проектам.

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

Reminders

Напоминания доступны и в web UI, и через Telegram inline controls. В TMA удобнее просматривать и редактировать их списком, а в Telegram — быстро реагировать на уведомления.

Поддержанные сценарии:

  • отложить напоминание;
  • pause / resume / cancel;
  • recurring reminders;
  • категории;
  • ntfy settings.

Tasks & Calendar

Отдельный слой workspace — задачи и календарь. Он нужен, чтобы результаты встреч и заметок не оставались только текстом.

В интерфейсе поддерживаются:

  • доска задач;
  • список;
  • календарь;
  • проекты;
  • подзадачи;
  • bulk operations;
  • связи задач с календарными событиями.

Практический сценарий: после расшифровки созвона сохранить ключевые пункты в заметку, выделить follow-up как задачи, связать их с проектом и поставить напоминания по срокам.

Admin dashboard

Кроме пользовательского workspace, frontend содержит admin dashboard. Он покрывает разделы:

  • overview;
  • transcribe;
  • tasks;
  • reminders;
  • users;
  • settings;
  • servers;
  • audit;
  • agent;
  • memory.

Для контроля системы есть system monitor и feature flags. Это не маркетинговый «центр управления всем», а практический административный слой: посмотреть состояние, проверить настройки, отследить отдельные операции и управлять доступными возможностями.

Чем TMA полезнее бота

Бот удобен для быстрых входящих действий: переслать голосовое, отправить ссылку, получить ответ в чате. TMA полезнее в других случаях:

  • Большие файлы — загрузка через UI и обработка через отдельный endpoint с polling статуса;
  • Параметры обработки — можно явно выбрать язык, speaker labels, фильтры и redact PII;
  • Навигация по данным — файлы, заметки, задачи и напоминания доступны как разделы workspace;
  • Рабочий контекст — результаты можно связывать с проектами, задачами, календарём и заметками;
  • Администрирование — dashboard даёт мониторинг, настройки и feature flags.

Инженерные решения

Во frontend я использовал React/Vite и разделил пользовательский workspace, TMA-вход и admin dashboard. На уровне интеграции с backend важны несколько решений:

  • приоритет Telegram initData над JWT для Mini App-сценария;
  • отдельный flow для больших транскрибаций через backend endpoint;
  • polling статуса обработки вместо ожидания длинного blocking-запроса;
  • единый доступ к файлам, анализам, заметкам, задачам и напоминаниям;
  • UI для параметров транскрибации, которые влияют на backend-обработку.

TMA дополняет бота: Telegram остаётся быстрым каналом ввода и уведомлений, а workspace становится местом для управления материалами после обработки.

Бизнес-сценарии

Обработка созвонов

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

Разбор интервью клиентов

Интервью можно хранить как файл с транскриптом, выделять цитаты, тегировать заметки и связывать наблюдения с проектом. Такой flow удобнее в workspace, чем в одном Telegram-чате.

База знаний из видео и аудио

YouTube/Vimeo-ссылки, подкасты, лекции и внутренние записи можно превращать в текстовые материалы, сохранять в файлы и заметки, а затем использовать как базу для поиска и последующих вопросов.

Операционные напоминания

Напоминания помогают закрывать follow-up после встреч, регулярные проверки и повторяющиеся действия. Telegram удобен для реакции на уведомление, TMA — для просмотра и настройки списка.

Контроль расхода обработки

Баланс в секундах и генерациях помогает разделить стоимость транскрибации и AI-ответов. Это полезно для сценариев, где важно понимать, на что расходуется обработка: длинные файлы, частые вопросы или повторные генерации.


Это описание frontend/TMA-части проекта Audio Scribe: без заявлений о точности, SLA или production-нагрузке, только реализованные пользовательские и инженерные сценарии.