# Контекст
Каждый рабочий день — это встречи и звонки. Решения принимаются на словах, договорённости живут в голове, а задачи — на полях блокнота. Через день детали стираются, и приходится собирать всё заново.
Записать разговор мало — по часовой аудиозаписи никто не будет искать нужный момент. Нужен инструмент, который сам превращает разговор в структуру.
# Задача
Сделать продукт, который закрывает весь путь «разговор → результат»:
# Архитектура
┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐
│ ТЕЛЕФОН │ │ ПК │ │ БРАУЗЕР │ │ КЛИПСА │
│ (Flutter) │ │ (Tauri) │ │ (расшир.) │ │ (device) │
└─────┬─────┘ └─────┬─────┘ └─────┬─────┘ └─────┬─────┘
└─────────────┴──────┬──────┴─────────────┘
│ аудио (HTTPS)
┌──────────▼──────────┐
│ FastAPI │
│ очередь · async │
└──────────┬──────────┘
┌──────────────────┼──────────────────┐
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ GigaAM-v3 │ │ sherpa-onnx │ │ YandexGPT │
│ распознавание │ │ спикеры │ │ резюме │
└──────┬───────┘ └──────┬───────┘ └──────┬───────┘
└────────────────┼────────────────┘
┌──────────▼──────────┐
│ PostgreSQL · S3 │ → Битрикс24 (таймлайн)
│ встречи · аудио │
└─────────────────────┘
# Решение
→ Записывайте откуда угодно
- Один аккаунт — телефон, компьютер, браузер и веб-панель синхронизированы
- Длинные встречи обрабатываются в фоне — приложение не «висит»
- Статус расшифровки обновляется сам, без ручного обновления списка
- Аудио и расшифровки доступны только владельцу, передача по HTTPS
→ Что получает пользователь
# Как выглядит
Стилизованные мокапы ключевых экранов. Данные условные — для демонстрации структуры интерфейса.
Перенос релиза на 2 недели из-за рисков по интеграции платежей.
Клиент подтвердил бюджет на пилот, ждёт КП до пятницы.
| ☐ | Собрать спеку по интеграции платежей | до ср |
| ☐ | Отправить КП клиенту «Северсталь» | до пт |
| ☑ | Назначить владельца релиза | done |
// резюме добавлено в таймлайн автоматически после звонка
// демонстрационный интерфейс — реальные данные пользователей не публикуются
# Технические особенности
asr
GigaAM-v3 (Sber) как основная русскоязычная модель, Whisper как запасная. Обе на CPU через ONNX
diarization
Разделение по спикерам на sherpa-onnx локально, без отправки аудио наружу
summary
AI-резюме и задачи через YandexGPT — российский LLM, данные не покидают РФ
async
Асинхронная фоновая обработка: длинные встречи не упираются в таймауты, статус обновляется поллингом
storage
Аудио в S3 через presigned-ссылки, PostgreSQL с индексами, ежедневные бэкапы pg_dump → S3
cross-platform
Единый API для Flutter, Tauri, браузерного расширения и веб-панели — один аккаунт, всё синхронно
integration
Приложение для Битрикс24 (OAuth): событие звонка → расшифровка → резюме в CRM. На очереди — amoCRM
reliability
systemd с лимитами памяти, OnFailure-алерты, watchdog, авто-восстановление «зависших» задач
# Результат
Продукт живой: мобильное приложение опубликовано в RuStore, работает на реальных пользователях
Запись доступна на 5 платформах: iOS, Android, Windows, macOS и в браузере
Русскоязычная модель GigaAM-v3 даёт точную расшифровку без отправки данных за рубеж
Интеграция с Битрикс24: звонки автоматически превращаются в резюме прямо в CRM
Разделение по спикерам и авто-задачи убрали ручную работу по конспектам встреч
Полное соответствие 152-ФЗ: обработка и хранение данных в России