All’inizio di quest’anno abbiamo condiviso Resenha, un esperimento che aggiungeva stanze vocali e video in stile Discord direttamente in Discourse. Nessuna app esterna richiesta, solo WebRTC peer-to-peer nella tua barra laterale.
L’esperimento ha funzionato. Lo utilizziamo per le nostre riunioni interne da allora e oggi diventa ufficiale: Resenha ora si chiama Voice e viene distribuito come plugin core incluso in ogni installazione di Discourse. ![]()
Cosa ottieni
- Stanze prioritarie nella barra laterale — fai clic per entrare o uscire, visualizza gli avatar dei partecipanti in tempo reale con indicatori di parlato animati e continua a sfogliare il forum mentre parli. Nessun cambio di percorso, nessuna finestra pop-up.
- Video e condivisione dello schermo — ogni stanza ottiene una pagina completa con una griglia di riquadri; la fotocamera e la condivisione dello schermo si attivano istantaneamente e la qualità si adatta automaticamente al numero di spettatori.
- Sfocatura dello sfondo — segmentazione delle persone MediaPipe che gira interamente nel tuo browser, con anteprima in diretta e intensità regolabile.
- Soppressione del rumore — scegli tra tre motori AI (RNNoise, DTLN, DeepFilterNet3) che funzionano come worklet audio WebAssembly, da quelli leggeri a quelli di qualità studio.
- Sottotitoli in diretta — opzionali, didascalie lato spettatore alimentate dal riconoscimento vocale NVIDIA Parakeet che gira localmente tramite WebGPU. Multilingue e nessun audio lascia mai il tuo browser.
- Chiamate dirette — chiama qualcuno direttamente dalla sua scheda utente o dal suo profilo.
- Chat di testo per stanza — supportata dalla vera chat di Discourse: ogni chiamata ottiene il proprio thread nel canale chat della stanza.
- Permessi e gestione delle stanze — stanze pubbliche, con restrizioni di gruppo e private; creazione di stanze da parte degli utenti limitata dai gruppi; disattivazione microfono, disattivazione audio, volume per utente e espulsione.
- Segnali audio a tema — i toni di entrata/uscita e di chiamata seguono il tuo pacchetto di suoni di notifica chat, in modo che Voice suoni come il resto del tuo sito.
Come funziona
Di default, tutto è peer-to-peer: il tuo server Discourse gestisce solo la segnalazione e i media fluiscono direttamente tra i partecipanti con crittografia DTLS-SRTP. Zero infrastruttura aggiuntiva, ideale per stanze fino a ~50 persone in voce, o fino a 10 con video.
Tutto l’elaborazione audio e video (soppressione del rumore, sfocatura dello sfondo, sottotitoli) avviene localmente sul dispositivo di ciascun partecipante. Nulla viene inviato a terze parti.
Hai bisogno di chiamate più grandi? Indirizza il plugin verso un server cloud o self-hosted di LiveKit e instrada tutte le stanze (o solo alcune) attraverso di esso. Ogni partecipante pubblica quindi ogni traccia esattamente una volta, indipendentemente dalla dimensione della stanza. Le stanze instradate tramite LiveKit possono anche registrare le chiamate, con la registrazione controllata direttamente dall’interfaccia della stanza in Discourse.
Come abilitarlo
Voice è disponibile in tutti i nostri piani di hosting. L’integrazione LiveKit per chiamate più grandi è disponibile nei nostri piani Business ed Enterprise; chi usa l’auto-ospitamento
può indirizzarlo verso il proprio server LiveKit.
Voice è incluso con Discourse, quindi non c’è nulla da installare. Attivalo tramite Admin > Impostazioni > Plugin > voice enabled. Il plugin crea una stanza predefinita “Watercooler” in modo che ci sia subito un posto dove stare insieme.
Da lì, voice_allowed_groups controlla chi può entrare nelle stanze e voice_create_room_allowed_groups controlla chi può crearle (di default admin, moderatori e TL2). Il video è attivo di default; i sottotitoli sono opzionali tramite voice_subtitles_enabled (richiedono WebGPU).
Se stavi usando il plugin Resenha dal mio repository personale, rimuovilo dal tuo app.yml quando hai l’opportunità , poiché il plugin Voice incluso lo sostituisce.
Stato
Siamo ancora all’inizio. Lo stiamo usando in modo intensivo ogni giorno da mesi e funziona molto bene per piccoli gruppi, ma testalo con il tuo team prima di aprirlo a un’intera community. Non c’è registrazione delle chiamate nel percorso peer-to-peer predefinito e gli strumenti di moderazione oltre ai segnalibri utente, espulsione e “Termina chiamata” sono ancora in fase di sviluppo.
Feedback benvenuti
Provalo e facci sapere com’è andata! Bug, idee e domande sono tutti benvenuti in questo topic. Anche le PR, ora più facili che mai: il codice si trova in core. ![]()








