评论 - 为您的社区添加类似 Discord 的语音房间 🎙

大家好!分享 Resenha,一个实验性的插件,它直接在 Discourse 中添加了语音聊天室——无需外部应用,无需媒体服务器,只需在侧边栏中进行点对点语音交流。

output

立即试用

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

(是的,它可以在树莓派 5 上运行——可见它有多轻量级。)

工作原理

点击侧边栏中的房间加入,再次点击离开。所有音频通过 WebRTC 点对点传输——您的 Discourse 服务器只处理信令,从不处理媒体。安装后会创建一个默认的“Watercooler”(饮水机)房间,以便您的社区可以立即开始交谈。

特性

  • 侧边栏优先的用户体验 (UX) — 房间和实时参与者头像直接显示在侧边栏中,类似 Discord 风格
  • 正在说话指示器 — 动画音频条实时显示谁在说话
  • 参与者控制 — 带有音量、静音和踢出选项的上下文菜单
  • 房间管理 — 管理员的增删改查 (CRUD) 界面以及用于程序化控制的完整 REST API
  • 零基础设施 — 纯浏览器 WebRTC,带有 DTLS-SRTP 加密,无需 SFU/MCU
  • 信任等级限制 — 使用 Discourse 现有的信任系统来管理房间创建权限

状态

:warning: Alpha — 在小型房间(2-10 个参与者)中效果良好。请先与一小组进行测试。大型房间可能会达到浏览器的对等连接限制;计划支持 SFU。

安装

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

管理员 > 设置 > 插件 > resenha enabled 中启用。

欢迎反馈

这是实验性的——欢迎在此主题中提出错误、想法和问题。也欢迎贡献拉取请求 (PR)!


注意:这不是一个 official 插件。

45 个赞

评论,太棒了,我喜欢,谢谢我的老乡

8 个赞

我刚刚安装了它,大约半小时内就运行起来了。看起来运行良好!希望看到一些功能更改/添加:

功能 状态
重命名房间 :cross_mark: 未实现
删除房间 :cross_mark: 未实现
更改默认房间名称 :cross_mark: 硬编码
将房间与 Discourse 类别关联 :cross_mark: 不支持
设置房间权限 :cross_mark: 不支持
创建自动过期房间 :cross_mark: 不支持
房间描述/主题 :cross_mark: 不支持
10 个赞

这太棒了。团队有什么计划在它走出 alpha 阶段后将其正式化吗?

7 个赞

目前没有计划,因为这主要是在探索该技术的可能性以及它如何与 Discourse 集成。

不过,和所有其他事情一样,这取决于我们的客户想要什么。

8 个赞

这太棒了,Falco!我可以看到你所列出的许多应用。像这样的功能插件绝对有助于使 Discourse Meta 成为首选平台!

4 个赞

创建新房间的选项在哪里?

由于这是一个关于该技术的实验性项目,而不是为生产站点准备的现成解决方案,因此没有用户界面。

2 个赞

experimental 目前不应该存在吗?

很棒的插件

3 个赞

我试用了这个功能几天了——它太棒了!!!

它完美地解决了将论坛/聊天讨论轻松“升级”为口头对话的问题。多年来,我一直在努力在切换到其他平台或使用资源密集型的(试图集成的)视频会议之间挣扎。

如果您决定进一步发展它,我希望它能够设计为与聊天集成。能够直接从聊天中为聊天成员启动私人语音房间将是绝对美妙的(并在之后进行整理以保持整洁)。而聊天仍然是插入附加评论、文件、链接等的完美场所。

锦上添花的功能当然是:

  1. 视频选项(可能使用如此轻量级的技术在技术上不可行)

  2. 人工智能转录,足够智能,可以整合相关主题和聊天内容。作为会议记录员,这将是绝对惊人的。

10 个赞

感谢您的反馈!这正是我做这个的目标!

当然,这将是合乎逻辑的下一步,并辅以临时房间来备份。

这是非常可行的,对于上传足够好的人来说,可以不使用 SFU/MCU,或者可以提供可选支持。

7 个赞

这太完美了,我不会在很长一段时间内更新,但二月份我会在 ESR 发布时最后一次更新,以便包含此插件。

我对此感到非常兴奋,我希望它能实现。

2 个赞

“饮水机”聊天室的图标能改成 bottle-water 吗?

2 个赞

现在有了管理房间的用户界面。

8 个赞

感谢 Falco 提供的这个插件 :heart:

这是很棒的工作 :+1:

1 个赞

我在生产环境中进行测试,稍后会提供反馈!让我们来评论一下 :brazil:

1 个赞

也许在这种情况下使用一个环(ring)会更好?当我身处一个房间中并点击我自己的个人资料或其他人的个人资料时,DOM 刷新会返回主页。

现在有了一个使用 Discourse Chat 的烤串菜单模式的房间详情屏幕

在默认主题上它没有重叠,也许调整一下你的主题以处理较少的间距?

image

这现在已修复。

1 个赞