Resenha - Adicione Salas de Voz estilo Discord à sua comunidade 🎙

Olá a todos! Compartilhando o Resenha, um plugin experimental que adiciona salas de bate-papo por voz diretamente no Discourse — sem aplicativos externos, sem servidores de mídia, apenas voz peer-to-peer na sua barra lateral.

output

Experimente ao Vivo

:point_right: https://discourse-on-a-pi5.falco.dev/

(Sim, ele roda em um Raspberry Pi 5 — é o quão leve isso é.)

Como Funciona

Clique em uma sala na barra lateral para entrar, clique novamente para sair. Todo o áudio é transmitido peer-to-peer via WebRTC — seu servidor Discourse lida apenas com a sinalização, nunca com a mídia. Uma sala padrão “Watercooler” é criada na instalação para que sua comunidade possa começar a conversar imediatamente.

Funcionalidades

  • UX com foco na barra lateral — salas e avatares de participantes ao vivo direto na barra lateral, estilo Discord
  • Indicadores de fala — barras de áudio animadas mostram quem está falando em tempo real
  • Controles do participante — menu de contexto com opções de volume, silenciar e expulsar
  • Gerenciamento de salas — interface de criação, leitura, atualização e exclusão (CRUD) para a equipe, além de uma API REST completa para controle programático
  • Infraestrutura zero — WebRTC puro no navegador com criptografia DTLS-SRTP, sem necessidade de SFU/MCU
  • Restrição por nível de confiança — usa o sistema de confiança existente do Discourse para permissões de criação de salas

Status

:warning: Alpha — funciona bem para salas pequenas (2–10 participantes). Teste primeiro com um grupo pequeno. Salas maiores podem atingir os limites de pares do navegador; suporte a SFU está planejado.

Instalação

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/xfalcox/resenha.git

Habilite em Admin > Configurações > Plugins > resenha habilitado.

Feedback Bem-vindo

Isto é experimental — bugs, ideias e perguntas são todos bem-vindos neste tópico. PRs também!


Nota: Este não é um plugin official.

47 curtidas

Resenha, awesome I love it thank you my conterrâneo

8 curtidas

Acabei de instalar e está funcionando em cerca de meia hora. Parece funcionar bem! Gostaria de ver algumas mudanças/adições de recursos:

Recurso Status
Renomear uma sala :cross_mark: Não implementado
Excluir uma sala :cross_mark: Não implementado
Alterar o nome padrão da sala :cross_mark: Codificado como fixo
Vincular salas a categorias do Discourse :cross_mark: Não suportado
Definir permissões por sala :cross_mark: Não suportado
Criar salas com expiração automática :cross_mark: Não suportado
Descrições/tópicos da sala :cross_mark: Não suportado
10 curtidas

Isto é incrível. Existe algum plano para a equipe torná-lo oficial assim que sair da versão alfa?

7 curtidas

Atualmente, não há planos, pois esta é principalmente uma exploração das possibilidades da tecnologia e de como ela pode se integrar ao Discourse.

Ainda assim, como tudo mais, depende do que nossos clientes desejam.

8 curtidas

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!

4 curtidas

Onde fica a opção para criar uma nova sala?

Não há interface de usuário para isso, pois este é um projeto experimental sobre a tecnologia, em vez de uma solução pronta para sites de produção.

2 curtidas

Não deveria o #experimental estar presente por enquanto?

Plugin legal

3 curtidas

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:

  1. Uma opção para vídeo (provavelmente não é tecnicamente possível com uma tecnologia tão leve)

  2. 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.

11 curtidas

Obrigado pelo feedback! Esse era exatamente o meu objetivo com isso!

Com certeza, esse seria um próximo passo lógico, com salas efêmeras para dar suporte.

É totalmente viável, tanto sem um SFU/MCU para pessoas com upload bom o suficiente, quanto com suporte opcional para isso.

7 curtidas

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.

2 curtidas

Há alguma chance de mudarmos o ícone para bottle-water para a sala de bate-papo ‘Watercooler’?

3 curtidas

Agora existe uma interface de usuário para gerenciar salas.

9 curtidas

Obrigado Falco por este plugin :heart:

É um ótimo trabalho :+1:

1 curtida

I’m testing in production I’ll be back with feedbacks! Vamos Resenhar :brazil:

1 curtida

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.

Agora existe uma tela de detalhes da sala usando o padrão de menu kebab do Discourse Chat

2 curtidas

Não se sobrepõe no tema padrão, talvez ajuste seu tema para lidar com o menor ritmo para preenchimento (padding)?

image

Isso agora está corrigido.

3 curtidas

À 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.

5 curtidas