| 摘要 | 一款自托管的开源 Discord 替代品:将 Discourse 转变为基于频道的社区,支持文本、语音和论坛频道。 | |
| 仓库 | github.com/awesomerobot/concord | |
| 安装指南 | 如何安装主题或主题组件 | |
| Discourse 主题新手? | 使用 Discourse 主题的入门指南 |
安装此主题
当您使用 Discourse 运营自己的独立站点时,您可以选择您的政策,允许您的站点公开可见,并发布内容以供搜索引擎和爬虫索引。此外,您还可以随意扩展和重新样式化它!
Concord 将一切都变为频道,并在自定义侧边栏中显示所有频道:
- 类别 (Categories) 是论坛频道
- 聊天频道 (Chat channels) 是文本频道
- 语音房间 (Voice rooms)(来自 voice plugin)是语音频道
- 标签 (Tags) 也可以可选地作为标签频道
自定义标题包含一个下拉菜单,其中包含全站页面(关于、群组、徽章、管理后台等),它位于当前频道的名称、描述和操作旁边。私信拥有独立的视图,右侧有一个成员列表,显示谁在线。
这极大地改变了 Discourse 的布局,因此可能与某些插件或主题组件不兼容。它还依赖于核心的一些非常近期的更改,因此在安装之前请确保已更新 Discourse(您需要 2026 年 10 月 15 日或之后的构建版本)。
设置
Concord 需要一些站点设置更改,因此安装后请在您的 Discourse 站点设置中检查以下内容。
作为管理员,您可以通过将此粘贴到您的 Discourse URL 末尾来同时查看所有这些设置:
/admin/site_settings/category/all_results?filter=any:navigation_menu|default_homepage|chat_enabled|chat_allowed_groups|enable_public_channels|voice_allowed_groups|voice_create_room_allowed_groups|enable_user_status|tagging_enabled
请注意,您需要从即将推出的更改中启用语音才能看到相关设置,
/admin/config/upcoming-changes
| 站点设置 | 应设置为什么值 |
|---|---|
navigation menu |
sidebar(必需,频道列表就是侧边栏) |
chat enabled |
如果您想要文本频道和私信,请设为 enabled |
chat allowed groups |
谁应该能够聊天,包括 anonymous_users 以允许未登录用户查看 |
enable public channels |
设为 enabled 以便工作人员创建文本频道 |
live enabled |
如果您想要 Live 频道(音频/视频),请设为 enabled |
live allowed groups |
谁应该能够加入 Live 频道 |
live create room allowed groups |
谁应该能够创建 Live 频道 |
enable user status |
可选,状态会显示在用户面板和标题中的头像上 |
tagging enabled |
可选,仅当启用主题的 include tags 设置时需要 |
default homepage |
可选,但您可以将其设置为您选择的任意聊天频道 |
创建频道
站点名称旁边的 + 会打开“创建频道”模态框。它只提供您有权创建的频道类型:
- Forum (论坛) 创建一个类别(任何可以创建类别的人)
- Text (文本) 创建一个聊天频道(工作人员)
- Voice (语音) 创建一个语音房间(
voice create room allowed groups设置)
每种类型都可以对一组群组设为私有。您可以稍后通过侧边栏中频道的 … 菜单中的 Privacy (隐私) 更改此设置。
在 Discourse 中,聊天频道从其类别获取权限,因此在此主题中创建的每个文本频道都会获得一个空的“后备”类别,嵌套在 chat-channels 父类别内部。这些类别隐藏在频道列表中,因此您不需要考虑它们……但请不要在其中发布主题(普通用户不允许这样做)!当您从频道的 … 侧边栏菜单中删除文本频道时,其后备类别也会被删除。
组织侧边栏频道
频道可以分组到可折叠的部分中。管理员可以从部分标题的 … 菜单中创建、重命名、重新排序和删除部分,并从每个频道的 … 菜单中将频道在部分之间移动。任何不在部分中的内容都会按字母顺序列在顶部。
部分是全站范围的,因此每个人看到的布局都相同。更改会在其他人下次加载页面时显示。
主题设置
| 名称 | 描述 |
|---|---|
| include tags | 将用户的侧边栏标签列为频道(默认关闭) |
| include chat channels | 将聊天频道列为文本频道(默认开启) |
| ai conversations link | 在站点名称旁边显示 AI 机器人对话按钮,供可以使用它们的人使用(需要启用 Chatbot 的 Discourse AI) |
| remember last channel | 当某人返回您的站点时,重新打开他们最后所在的频道 |
| chat container category | 容纳文本频道后备类别的类别 Slug,默认为 chat-channels |
| sidebar sections | 各个部分及其中的频道,您可以从侧边栏管理这些,这只是数据存储的位置 |
| member list roles | 在成员列表顶部显示为角色的群组,按顺序排列(默认是管理员和版主) |
其他注意事项
- 每个人都能看到他们有权限访问的所有频道,目前还没有办法让人们从自己的列表中隐藏单个频道。静音频道对于通知仍然照常工作。
- 打开文本频道即加入该频道,就像 Discord 一样。如果某人离开频道,它仍会列在列表中,因此静音是安静下来更好的选择。
- 子类别不会在频道列表中占据自己的位置,而是作为框显示在其父级论坛频道的顶部。该主题通常建议扁平结构,但您可以在创建后编辑论坛频道来选择父类别。
- 从聊天自己的设置页面删除具有后备类别的频道是被隐藏的,因此它们总是从频道的
…菜单中删除(这也清理了类别)。如果频道通过其他方式(如通过 API)被删除,后备类别会被遗留下来,您需要自行删除它。 - 聊天始终以全页打开,从不打开在抽屉中。
- 成员列表中的“在线”意味着在过去几分钟内在该站点的任何地方活跃,而不仅仅是在聊天中。隐藏其存在状态的人保持隐藏状态。
- 在拥有大量频道的站点上,只有前 500 个文本频道被加载到列表中。同样,私有聊天频道的成员列表预先加载其前 250 名成员,其余部分在您滚动时加载。
- 使语音频道私有会添加您选择的群组的当前成员(最多 200 人)。后来加入这些群组的人不会自动获得访问权限,因为语音房间没有群组权限。您将不得不手动邀请额外成员。
- 如果您稍后切换离开 Concord,您的文本频道的后备类别仍将在那里(并且在
/categories上可见),因此您可能希望删除它们。
我们在这里还有很多事情可以做,但如果您正在寻找可以自托管的 Discord 替代品(或在我们的付费 discourse.org 托管上使用!),这是一个坚实的基础。
一如既往,欢迎反馈和建议!






