Olá a todos! Compartilhando o Resenha, um plugin experimental que adiciona salas de chat por voz e vídeo diretamente ao Discourse — sem necessidade de aplicativos externos, apenas WebRTC peer-to-peer na sua barra lateral.
(Sim, roda em um Raspberry Pi 5 — é assim de leve que é.)
Como Funciona
Clique em uma sala na barra lateral para entrar, clique novamente para sair. Por padrão, todo o tráfego de mídia é peer-to-peer via WebRTC — seu servidor Discourse apenas gerencia o sinalização, nunca a mídia. Sites que precisam de chamadas maiores podem rotear opcionalmente as salas através de um servidor de mídia LiveKit — seja LiveKit Cloud ou auto-hospedado. Uma sala padrão “Bate-papo” é criada na instalação para que sua comunidade possa começar a conversar imediatamente.
Recursos
UX focado na barra lateral — salas e avatares de participantes ao vivo diretamente na barra lateral, estilo Discord, com indicadores animados de fala
Vídeo e compartilhamento de tela — vídeo de câmera opcional e compartilhamento de tela/aba com página completa de sala, layouts em grade/apresentação e suporte a tela cheia
Widget de chamada persistente — uma mini-chamada ancorada e redimensionável que acompanha você enquanto navega pelo fórum, incluindo vídeo
Configurações de voz e vídeo — seletores de dispositivo, teste de microfone ao vivo, porta de sensibilidade de entrada, supressão de ruído WebAssembly (DTLN) e desfoque de fundo MediaPipe — tudo processado localmente no navegador
Chat da sala — cada sala tem um chat de texto apoiado por canais e tópicos de chat reais do Discourse
Salas de palco — salas de palestrante/audiência com fila de solicitação para falar, para AMAs e chamadas comunitárias
Permissões de sala — salas públicas, restritas a grupos e privadas, com badges de bloqueio na barra lateral e hashtags de sala para vincular salas em posts
Controles de participante — menu de contexto com volume por usuário, mudo, surdez e expulsão; além de mudo/desconexão automática AFK e status de usuário automático
Gerenciamento de sala — criação de sala por usuário restrita a grupos, interface CRUD para staff e API REST completa para controle programático
Zero infraestrutura por padrão — WebRTC puro no navegador com criptografia DTLS-SRTP, sem necessidade de SFU/MCU
Integração opcional com LiveKit — opte por salas individualmente ou roteie tudo através do LiveKit Cloud ou seu próprio servidor LiveKit para chamadas grandes, com painel de saúde do administrador e reconciliação baseada em webhooks
Status
Beta — O modo peer-to-peer padrão é testado e funciona bem com pequenos grupos (2–10 participantes). Para salas maiores, aponte o plugin para o LiveKit (Cloud ou auto-hospedado) — tudo o mais continua funcionando da mesma forma.
Isto é muito impressionante, Falco! Posso ver várias aplicações para isso sendo o que você listou. Plugins de recursos como este definitivamente ajudam a tornar o Discourse Meta a plataforma de referência!
Estive brincando com isso por alguns dias - e é brilhante!!!
Ele resolve lindamente o problema de “atualizar” facilmente um fórum/discussão de bate-papo para uma conversa verbal. Tive anos de luta entre a necessidade de mudar para outras plataformas ou ter tentativas (que consomem muitos recursos) de videoconferência integrada.
Se você decidir levá-lo adiante, eu adoraria que fosse projetado para integrar-se ao chat. Seria simplesmente sublime poder iniciar uma sala de Voz privada para os membros de um bate-papo diretamente do bate-papo (com uma limpeza depois para manter as coisas organizadas). E o bate-papo permaneceria como o lugar perfeito para inserir comentários adicionais, arquivos, links, etc.
A cereja do bolo seria, é claro:
Uma opção para vídeo (provavelmente não é tecnicamente possível com uma tecnologia tão leve)
Transcrição por IA, inteligente o suficiente para integrar tópicos e bate-papo relacionados. Isso seria absolutamente incrível como um secretário de reuniões.
Isto foi perfeito, não farei atualizações por um longo período, mas em fevereiro farei a última atualização quando o ESR for lançado para incluir este plugin.
Estou muito animado com isso e espero que aconteça.
Talvez um anel pudesse ser melhor neste caso? quando estou em uma sala e clico no meu próprio perfil ou no perfil de outra pessoa, a atualização do DOM retorna à página inicial.
À luz das notícias recentes, adicionei um novo recurso ao plugin: um filtro de ruído com inteligência artificial (IA).
Os administradores podem disponibilizá-lo através de uma configuração do site (padrão: desativado) e, em seguida, os usuários podem optar por ativá-lo clicando em seu próprio usuário em uma sala de bate-papo por voz.