Maia/CHANGELOG.md

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