Ciclo di vita della sessione
Una sessione è l'unità di lavoro fondamentale in Whisperer: la finestra temporale durante la quale il client ascolta una riunione, trascrive il parlato e riceve risposte dall'LLM. Comprendere il ciclo di vita ti aiuta a usare correttamente avvio/pausa, a interpretare gli stati nella dashboard e a risolvere eventuali problemi.
Quando leggere questo articolo
Leggi questo articolo se vuoi capire:
- cosa succede ai tuoi dati in ogni fase di una riunione;
- perché a volte una risposta arriva in ritardo e quando viene salvata la trascrizione;
- come funziona la connessione tra il client e il server.
Fasi della sessione
1. Avvio
Premendo il pulsante "Avvia" (o la scorciatoia da tastiera) il client passa in modalità attiva:
- Il client apre una connessione con il server e invia l'identificativo del dispositivo e il token.
- Il server convalida l'abbonamento e la quota di minuti. Se il controllo va a buon fine, conferma l'avvio della sessione e restituisce l'identificativo della sessione.
- Il client attiva la cattura audio e inizia a registrare.
2. Registrazione (Streaming)
L'audio viene trasmesso in brevi blocchi ogni ~0,8 secondi. Ogni blocco è etichettato con il parlante: l'utente o l'interlocutore.
Il server mette in buffer i blocchi e li invia per il riconoscimento. La trascrizione viene restituita al client in tempo reale e mostrata nella LiveTranscriptStrip.
3. Richiesta e risposta
Quando l'utente preme "Chiedi" (o la scorciatoia da tastiera), il client invia un frame ask con il contesto attuale della trascrizione.
Il server assembla il prompt di sistema (prompt del ruolo → contesto utente → RAG dalla knowledge base) e interroga l'LLM. La risposta arriva in streaming: il testo compare man mano che viene generato e viene mostrato immediatamente in AnswerArea con supporto Markdown e paginazione (se ci sono più risposte).
4. Pausa
Premendo "Pausa" si interrompe la cattura audio, ma la connessione WebSocket rimane aperta. Il timer della sessione si mette in pausa. Riprendi premendo "Riprendi".
5. Fine
Premendo "Stop" o chiudendo il client:
- Il client invia un frame
session.end. - Il server scarica nel database le trascrizioni bufferizzate e l'elenco delle risposte completate.
- Il WebSocket si chiude.
- Nella dashboard web la sessione compare nella sezione Cronologia con la trascrizione completa e le analisi.
📸 [Screenshot: pannello Whisperer in modalità registrazione — sono visibili la LiveTranscriptStrip e i pulsanti di controllo]
Archiviazione dei dati
Per impostazione predefinita, la trascrizione e le risposte dell'LLM vengono salvate nel database e sono accessibili nella dashboard. Se è attiva la modalità no-logs, i dati vengono eliminati al termine della sessione — ma i minuti consumati vengono comunque conteggiati.
Errori comuni
| Errore | Causa | Soluzione |
|---|---|---|
| La sessione non si avvia | Email non confermata o nessun abbonamento attivo | Controlla lo stato dell'account e la quota |
| "Non sento l'altra persona" | Permesso di registrazione dello schermo non concesso (macOS) o cattura dell'audio di sistema non disponibile (Windows) | Permessi macOS / Windows |
| La trascrizione non compare | Connessione internet scadente o perdita del WebSocket | Verifica la rete; riavvia la sessione |
| La risposta dell'LLM richiede troppo tempo | Il provider AI è sovraccarico o è selezionato un modello lento | Cambia il modello nelle impostazioni |
Buone pratiche
- Termina la sessione esplicitamente con il pulsante "Stop" — questo garantisce che i dati vengano scritti nella cronologia.
- Metti in pausa durante le lunghe interruzioni della riunione — il timer si ferma e i minuti non vengono sprecati.
- Usa la modalità no-logs per le riunioni riservate in cui non è desiderabile conservare la trascrizione.