2.9 KiB
2.9 KiB
Changelog
Todas as mudanças notáveis neste projeto serão documentadas neste arquivo.
O formato é baseado em Keep a Changelog, e este projeto adere ao Versionamento Semântico.
1.0.0 - 2026-04-23
Adicionado
Frontend (PWA)
- PWA (Progressive Web App) instalável com React 18 + Vite + TypeScript
- Gravação contínua de áudio com MediaRecorder API (timeslice, sem gaps entre chunks)
- Upload automático de chunks de áudio com retry automático em caso de falha
- VU meter (visualizador de volume) na tela de gravação
- Autenticação via Keycloak SSO com refresh automático de token
- Tela de histórico de reuniões com busca e filtros
- Tela de detalhes da reunião: transcrição, análise e speakers
- Administração: gerenciamento de usuários, roles e delete de reuniões
- Enrollment de voz para identificação automática de speakers
- Branding MAIA: logo, cores e tipografia ASAP Telecom
- PWA instalável em Android (Chrome) e iOS (Safari)
- Suporte offline básico via Service Worker (Workbox)
Backend API
- API REST com FastAPI + SQLAlchemy + Alembic
- PostgreSQL como banco de dados relacional
- Celery + Redis para processamento assíncrono de transcrições e análises
- Recepção e armazenamento de chunks de áudio
- Concatenação automática de chunks ao finalizar reunião
- Integração com Whisper GPU (large-v3) para transcrição
- Integração com Diarization API para identificação de speakers
- Integração com LLM (deepseek-v3.1) para análise e resumo
- Autenticação JWT via Keycloak com verificação de roles
- Endpoint de administração com controle de acesso por role
- Título automático de reunião: "Nome Usuário DD/MM/YYYY, HH:MM"
- Gestão de speakers: cadastro, enrollment e listagem
- API de busca no histórico de reuniões
Diarization API
- API FastAPI dedicada para transcrição + diarização
- Integração com Whisper.cpp via HTTP (GPU AMD, servidor dedicado)
- Diarização de speakers com SpeechBrain ECAPA-TDNN (~85% precisão)
- Fallback para pyannote.audio quando necessário
- Banco de vozes para identificação automática de speakers conhecidos
- Enrollment de novas vozes via API
- Processamento de áudio com librosa (normalização, VAD)
- Speaker confidence threshold configurável
Infraestrutura
- Containerização com Podman
- Nginx para servir o frontend e reverse proxy
- Serviços gerenciados via systemd
- GPU Server dedicado (10.100.16.13) para Whisper large-v3
- LLM Server com Ollama (deepseek-v3.1:671b-cloud)
- Keycloak para SSO centralizado
[Unreleased]
Planejado
- Exportação de reuniões em PDF e DOCX
- Integração com Google Calendar e Outlook
- Resumos automáticos por e-mail
- Suporte a múltiplos idiomas na transcrição
- Dashboard de analytics de reuniões
- API pública documentada com Swagger