← На главную

OpenBrief: локально скачивает видео, распознаёт речь и делает саммари

25.05.2026 21:50 · hackernews

OpenBrief — это open-source десктопное приложение на Tauri v2, которое собирает, анализирует и перерабатывает медиаконтент прямо на твоей машине. Работает как единый pnpm/Turborepo workspace.

Можно вставить ссылку на видео или загрузить локальный аудиофайл — приложение само скачает медиа через встроенные тулы. Дальше — локальное распознавание речи: из любого видео или подкаста извлекаются субтитры и транскрипция. На основе транскрипта генерируется саммари в стиле markdown-заметки с таймкодами. С итоговым текстом или полной расшифровкой можно чатиться — задавать вопросы и получать ответы с привязкой к контексту. Готовое саммари можно озвучить через text-to-speech. Всё это собирается в поисковую библиотеку из ссылок и файлов, которую можно экспортировать.

Для распознавания речи (STT) поддерживаются Whisper, Parakeet, Qwen3-ASR. Для синтеза речи (TTS) — Supertonic 3, Qwen3-TTS. В качестве LLM можно подключать OpenAI GPT, Anthropic Claude, Google Gemini, DeepSeek через OpenRouter, а локально — Gemma 4. В планах — добавить семантический поиск по кадрам и клипам.

Клиентская часть состоит из нескольких приложений: основное десктопное на Tauri (React + Rust), веб-приложение на Next.js, заготовка на TanStack Start и React Native (Expo). Есть общие пакеты: API-роутинг, аутентификация, схема БД, UI-компоненты, валидаторы и тулинговые конфиги (ESLint, Prettier, Tailwind, TypeScript). В качестве базы используется PostgreSQL или SQLite — судя по упоминанию pnpm db:push, схема живёт в Prisma или аналогичном ORM.

Сборка требует Node.js 22, Rust и Cargo, pnpm 11. Запускается в двух терминалах: веб-сервер на порту 3000, десктоп — через Vite на 1420. Есть скрипты для сборки сайдкаров и медиа-ассетов. Команды запуска тестов, проверок типов и линтинга прописаны для каждого workspace.

OpenBrief вдохновлён несколькими проектами и распространяется под лицензией GNU Affero General Public License v3.0.

Читать оригинал →