76 lines
2.9 KiB
Markdown
76 lines
2.9 KiB
Markdown
# Changelog
|
|
|
|
Todas as mudanças notáveis neste projeto serão documentadas neste arquivo.
|
|
|
|
O formato é baseado em [Keep a Changelog](https://keepachangelog.com/pt-BR/1.0.0/),
|
|
e este projeto adere ao [Versionamento Semântico](https://semver.org/lang/pt-BR/).
|
|
|
|
---
|
|
|
|
## [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
|
|
|
|
---
|
|
|
|
[1.0.0]: https://github.com/ASAPTelecom/Maia/releases/tag/v1.0.0
|