리뷰 - 커뮤니티에 Discord 스타일 영상 및 음성 룸과 통화를 추가하세요 🎙

중요: 2026년 9월 1일부로 이 플러그인은 Discourse 코어에 번들된 플러그인이 되었으며, 이름도 "Voice"로 변경되었습니다. 이제 관리자 페이지에서 활성화만 하면 됩니다. 2026년 10월 20일부로는 코어 내에서 "Live"라고 불립니다.

안녕하세요 여러분! Resenha라는 새로운 플러그인을 공유합니다. 이 플러그인은 외부 앱 없이 Discourse 사이드바에 직접 음성 및 비디오 채팅룸을 추가해 줍니다. 순수하게 피어투피어(P2P) WebRTC를 사용합니다.

라이브로 체험하기

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

작동 방식

사이드바의 룸을 클릭하여 참여하고, 다시 클릭하면 나옵니다. 기본적으로 모든 미디어는 WebRTC를 통해 피어투피어로 전송되며, Discourse 서버는 시그널링만 처리하고 미디어는 절대 처리하지 않습니다. 더 큰 규모의 통화가 필요한 사이트는 옵션으로 LiveKit 미디어 서버(라이브킷 클라우드 또는 셀프호스팅)를 통해 룸을 라우팅할 수 있습니다. 설치 시 기본 “Watercooler” 룸이 생성되어 커뮤니티가 즉시 대화를 시작할 수 있습니다.

기능

  • 사이드바 우선 UX — Discord 스타일로 룸과 실시간 참가자 아바타를 사이드바에 표시하며, 애니메이션 기반 발화 표시기가 포함됩니다
  • 비디오 및 화면 공유 — 전체 룸 페이지, 타일/프레젠테이션 레이아웃, 전체 화면 지원을 갖춘 선택적 카메라 비디오 및 화면/탭 공유
  • 영속적 통화 위젯 — 포럼을 둘러보는 동안 따라다니며 비디오를 포함한 고정형 리사이즈 가능한 미니 통화를 제공합니다
  • 음성 및 비디오 설정 — 장치 선택기, 실시간 마이크 테스트, 입력 감도 게이트, WebAssembly 노이즈 서프레션(DTLN), MediaPipe 배경 흐림 효과 등 모두 브라우저에서 로컬로 처리됩니다
  • 룸 채팅 — 각 룸은 실제 Discourse 채팅 채널과 스레드를 기반으로 한 텍스트 채팅을 갖습니다
  • 스테이지 룸 — AMAs와 커뮤니티 콜을 위해 발언 요청 큐를 갖춘 발표자/청중 룸
  • 룸 권한 — 공개, 그룹 제한, 비공개 룸을 지원하며, 사이드바에 잠금 배지 및 게시물에서 룸을 링크할 수 있는 룸 해시태그를 제공합니다
  • 참가자 제어 — 사용자별 볼륨, 음소거, 디afen, 추방 기능을 가진 컨텍스트 메뉴; 또한 AFK 자동 음소거/연결 해제 및 자동 사용자 상태를 지원합니다
  • 룸 관리 — 그룹에 의해 제한되는 사용자 룸 생성, 스태프 CRUD UI, 그리고 프로그래매틱 제어를 위한 완전한 REST API
  • 기본적으로 인프라 제로 — SFU/MCU가 필요 없는 DTLS-SRTP 암호화를 사용하는 순수 브라우저 WebRTC
  • 선택적 LiveKit 통합 — 개별 룸을 옵트인하거나 대규모 통화를 위해 모든 것을 LiveKit Cloud 또는 자체 LiveKit 서버를 통해 라우팅하며, 관리자 헬스 패널과 웹훅 기반 조정 기능을 제공합니다

상태

수주 동안 내부 회의용으로 사용해 왔으며, 소규모 그룹에서는 매우 잘 작동합니다. 더 큰 그룹은 LiveKit와 함께 배포하는 것이 좋을 수 있지만, 최대 10명까지의 일반적인 규모는 기본 메시 구성에서 매우 잘 작동합니다.

설치

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

관리자 > 설정 > 플러그인 > resenha enabled 에서 활성화하십시오.

피드백 환영

이것은 새로운 플러그인입니다 — 버그, 아이디어, 질문은 이 토픽에서 모두 환영합니다. PR도 환영합니다!


참고: 이것은 official 플러그인이 아닙니다.

57개의 좋아요

리뷰, 멋지다! 정말 좋아해. 같은 나라 사람이라니 고마워.

12개의 좋아요

방금 설치했는데 약 30분 만에 실행까지 완료했습니다. 잘 작동하는 것 같습니다! 몇 가지 기능 변경/추가 사항이 있으면 좋겠습니다:

기능 상태
방 이름 변경 :cross_mark: 구현되지 않음
방 삭제 :cross_mark: 구현되지 않음
기본 방 이름 변경 :cross_mark: 하드코딩됨
방을 Discourse 카테고리에 연결 :cross_mark: 지원되지 않음
방별 권한 설정 :cross_mark: 지원되지 않음
자동 만료되는 방 생성 :cross_mark: 지원되지 않음
방 설명 / 주제 :cross_mark: 지원되지 않음
10개의 좋아요

정말 놀랍네요. 알파 버전이 끝나면 팀에서 정식 버전으로 출시할 계획이 있나요?

7개의 좋아요

현재 공식 출시 계획은 없습니다. 이 기능은 주로 해당 기술의 가능성과 Discourse와의 통합 방식을 탐구하기 위한 것입니다.

다만, 다른 모든 기능과 마찬가지로 고객의 요구에 따라 결정될 것입니다.

9개의 좋아요

정말 멋진 기능입니다, Falco! 언급하신 것 외에도 이 기능의 활용도가 꽤 많아 보입니다. 이런 기능 플러그인은 확실히 Discourse Meta를 필수 플랫폼으로 만들어 줍니다!

4개의 좋아요

새 방을 생성하는 옵션은 어디에 있나요?

이것은 완성된 프로덕션 사이트용 솔루션이 아니라 기술 실험 프로젝트이기 때문에, 해당 기능에 대한 UI가 제공되지 않습니다.

2개의 좋아요

지금은 #experimental이 존재해야 하지 않나요?

멋진 플러그인입니다

3개의 좋아요

몇 날 며칠 동안 이것을 직접 써 보았는데, 정말 훌륭합니다!!!

포럼이나 채팅 토론을 음성 대화로 손쉽게 전환해야 하는 문제를 아름답게 해결해 줍니다. 그동안 다른 플랫폼으로 전환해야 하는 불편함이나, 리소스를 많이 사용하는 통합 영상 회의(시도) 사이에서 고생해 왔거든요.

더 발전시켜 나가실 계획이라면, 채팅과 통합되도록 설계해 주셨으면 좋겠습니다. 채팅 멤버들을 위해 채팅에서 바로 개인 음성 방을 열 수 있다면 정말 완벽할 것 같습니다. (사용 후 깔끔하게 정리되는 기능도 포함된다면 더욱 좋습니다.) 그리고 채팅은 여전히 추가적인 댓글, 파일, 링크 등을 공유하는 최적의 장소로 남아 있을 것입니다.

물론, 그 위에 더 걸작이 될 수 있는 기능은 다음과 같습니다:

  1. 영상 옵션 (이렇게 가벼운 기술로는 기술적으로 가능하지 않을 가능성이 높습니다)

  2. 관련 주제와 채팅을 지능적으로 통합할 수 있는 AI 전사 기능. 이는 회의 기록원으로서 정말 놀라운 기능이 될 것입니다.

11개의 좋아요

피드백 주셔서 감사합니다! 바로 이것이 제가 이 기능을 만들 때의 목표였습니다!

물론이죠, 그건 논리적인 다음 단계일 것입니다. 일시적인(에페메럴) 방을 백업으로 활용하는 방식이죠.

상당히 실현 가능합니다. 업로드 속도가 충분히 빠른 사용자들은 SFU/MCU 없이도 사용할 수 있고, 선택적으로 SFU/MCU 지원을 추가할 수도 있습니다.

7개의 좋아요

완벽했습니다. 저는 오랫동안 업데이트를 하지 않을 계획이지만, 2월에 ESR이 출시될 때 이 플러그인을 포함하기 위해 마지막으로 한 번 더 업데이트할 것입니다.

정말 기대가 크고, 그렇게 되길 바랍니다.

2개의 좋아요

더 물통(워터쿨러) 스타일의 아이콘을 사용하시겠습니까?

image

이것을 TC에 넣으세요:

// 이 코드를 JS 탭 또는 /javascripts/discourse/api-initializers/... 에 넣으세요
import { apiInitializer } from "discourse/lib/api";

export default apiInitializer(api => {
  api.replaceIcon("microphone-lines", "bottle-water");
});
/* Resenha 사이드바에서 bottle-water 아이콘을 upside down으로 뒤집기 - Common에 넣으세요 */
.sidebar-section.sidebar-section-wrapper [class*="d-icon-microphone-lines"] {
  transform: rotate(180deg);
  /* 필요 시 세로 정렬을 조정하세요 */
  display: inline-block;
}
3개의 좋아요

이제 방을 관리할 수 있는 UI가 제공됩니다.

10개의 좋아요

Falco님, 이 플러그인 감사합니다 :heart:

정말 훌륭한 작업입니다 :+1:

1개의 좋아요

프로덕션에서 테스트 중입니다! 피드백을 가지고 돌아올게요! Vamos Resenhar :brazil:

1개의 좋아요

이 경우 링(ring)이 더 나을 수도 있나요? 방 안에서 제 프로필이나 다른 사람의 프로필을 클릭하면 DOM이 새로고침되어 홈페이지로 되돌아갑니다.

이제 Discourse Chat의 세로점(케밥) 메뉴 패턴을 사용한 방 세부 정보 화면이 있습니다.

2개의 좋아요

기본 테마에서는 겹치지 않습니다. 패딩에 사용할 공간이 적은 경우를 처리하도록 테마를 조정해 보시는 건 어떨까요?

image

이 문제는 이제 수정되었습니다.

3개의 좋아요

최근 뉴스에 따라 플러그인에 새로운 기능을 추가했습니다. 바로 AI 기반 노이즈 필터입니다.

관리자는 사이트 설정을 통해 이 기능을 활성화할 수 있으며(기본값: 꺼짐), 사용자는 음성 채팅방에서 자신의 사용자 프로필을 클릭하여 이 기능을 선택적으로 사용할 수 있습니다.

6개의 좋아요