30+ 款开源 IM 软件源码调研详细报告

编制日期:2026-05-29
范围:35 款主流开源 IM/协作/社交/论坛软件
用途:秀秀 3.0(TailChat 替代品)筛选与选型决策依据
配套:30款源码调研_总览.md(精简对比表)
输入基准:功能盘点清单_A类_秀秀现有功能.md(58 条)+功能盘点清单_B类_目标功能.md(89 条)


3 道硬过滤门槛(B 类提炼)

候选软件必须同时满足

  1. 协议宽松(B77/B78):MIT/Apache 2.0/BSD 优先;AGPL/GPL 需谨慎评估三方分发场景(守一要给乙方独立部署)
  2. 近 3 月活跃(B75):commit 时间 ≥ 2026-02-29 或最新 release ≤ 90 天
  3. 核心 11 项齐全(≥9/11):转发/多选/置顶/@ /RBAC/Bot 原生/Web/Win/Mac/iOS/Android 五端 + 文件 50MB + 群公告 + 邀请 + Markdown + 搜索 + 桌面通知

第 1 梯队:✅ 综合推荐进入候选(13 款)


1. Rocket.Chat

基本信息

功能对标(B 类 89 条)

功能 支持 稳定性 备注
Bot 原生支持 (B36) Apps-Engine 框架,官方应用市场
完整 RBAC (B21) role/attribute-based access control
跨实例联邦 (B49) Federation V2 原生支持
五端覆盖 (B53-57) Web/Win/Mac/iOS/Android 全有官方包
真人/Bot 分区 (B25-30) 🟡 通过 user.roles=bot 区分,需扩展
朋友圈 (B31-33) 原生无 Moments,需用 Apps-Engine 自研
转发/多选/置顶 (B04-06) 全部原生支持
文件 50MB (B64) 配置文件大小限制可调
一键部署+完整启停 (B45 B46) Docker Compose 一键起,无失效容器问题
桌面通知 (B80) 原生 Notification API + Push
离线消息 (B82) 原生支持
品牌定制 (B71-74) Logo/主题/服务名运行时可改,安装包重打包成本中

3 道硬过滤

综合评估


2. TangSengDaoDao 唐僧叨叨

基本信息

功能对标

功能 支持 稳定性 备注
Bot 原生 (B36) 业务层支持 Bot 集成
RBAC (B21) 群管理/角色基本完整
联邦 (B49) 🟡 WuKongIM 集群+gRPC webhook 可桥接
五端 (B53-57) Android/iOS/Web/Windows/macOS/Ubuntu 六端,超过秀秀
真人/Bot 分区 (B25-30) 🟡 Bot 概念存在但需扩展 user.type
朋友圈 (B31-33) 原生朋友圈!这是 35 款中唯二原生支持
转发/多选/置顶 业务层原生
文件 50MB
一键部署 docker-compose 完整启停
桌面通知
品牌定制 国产品牌已是定制示例

3 道硬过滤

综合评估


3. Mattermost

基本信息

功能对标

功能 支持 稳定性 备注
Bot 原生 (B36) Bot account 类型内建 + Plugin Marketplace
RBAC (B21) 企业级 RBAC
联邦 (B49) 🟡 Matterbridge 桥接(非协议原生)
五端 (B53-57) 全端官方包
真人/Bot 分区 (B25-30) 🟡 Bot account 类型存在但分流要自定义
朋友圈 (B31-33)
转发/多选/置顶 原生
文件 50MB
一键部署 单 Linux 二进制 + PostgreSQL
桌面通知
品牌定制 主题色/Logo/服务名可改

3 道硬过滤

综合评估


4. OpenIM (openimsdk/open-im-server)

基本信息

功能对标

功能 支持 稳定性 备注
Bot 原生 (B36) Webhook 事件回调机制
RBAC (B21) 🟡 业务层需自建
联邦 (B49) 🟡 多租户/集群支持
五端 SDK (B53-57) iOS/Android/Flutter/Web/Uni/HarmonyOS SDK 全
真人/Bot 分区 (B25-30) 🟡 ext 字段扩展
朋友圈 (B31-33) 🟡 "Moments" 业务层模块
转发/多选/置顶 SDK 原生
文件 50MB S3 存储
一键部署 源码/Docker/K8s
桌面通知 通过 SDK
品牌定制 需自建客户端 UI

3 道硬过滤

综合评估


5. WuKongIM 悟空 IM

基本信息

功能对标

功能 支持 稳定性 备注
Bot 原生 自定义 channel + webhook
RBAC 🟡 channel 级权限非用户级
联邦 🟡 集群分片+自动 failover
五端 SDK iOS/Android/Flutter/RN/HarmonyOS/JS
真人/Bot 分区 🟡 channel type 区分
朋友圈 通信层无业务概念,需配 TSDD
转发/多选/置顶 🟡 业务层需实现
文件 50MB
一键部署 单命令独立
桌面通知 🟡 SDK 层
品牌定制

3 道硬过滤

综合评估


6. Zulip

基本信息

功能对标

功能 支持 稳定性 备注
Bot 原生 Bot API + 交互式 Bot Python 框架
RBAC 角色权限系统
联邦 无(单一 organization 模型)
五端 Web/Win/Mac/iOS/Android
真人/Bot 分区 无 user.type 真人/Bot 字段
朋友圈
转发/多选/置顶 原生
文件
话题流(Stream-Topic) 极高 独有特性,类似邮件主题流
桌面通知
品牌定制

3 道硬过滤

综合评估


7. Synapse + Element Web(Matrix 标准方案)

基本信息

功能对标

功能 支持 稳定性 备注
Bot 原生 Application Service + Bridges
RBAC Power levels
联邦 极高 Matrix 协议级联邦,35 款最强
五端 Element X iOS/Android + Element Desktop
真人/Bot 分区 🟡 appservice 类型
朋友圈
转发/多选/置顶 原生支持
文件
一键部署 Helm/Docker
桌面通知
E2EE 端到端加密

3 道硬过滤

综合评估


8. Tuwunel(Matrix Rust 高性能版本)

基本信息

功能对标

(与 Synapse 同 Matrix 协议层能力,但 Apache 协议宽松)
| 功能 | 支持 | 稳定性 | 备注 |
|------|------|--------|------|
| 联邦 | ✅ | 高 | Matrix 原生 |
| Bot via Bridges | ✅ | 高 | |
| RBAC (Power levels) | ✅ | 高 | |
| 五端(依赖客户端) | 🟡 | 中 | 用 Element/Cinny/Schildichat,但客户端多 AGPL |
| 朋友圈 | ❌ | — | |
| 一键部署 | ✅ | 高 | Docker/Deb/RPM/静态二进制 |
| 性能 | ✅ | | Rust 远超 Python Synapse |

3 道硬过滤

综合评估


9. Conduit(Matrix Rust 轻量版)

基本信息

功能对标

(与 Tuwunel 几乎相同,但仍 Beta)
- 联邦:✅
- 一键部署:✅(树莓派可跑)
- Beta 阶段:部分联邦特性缺失(E2EE 验证、出向 read receipts)

3 道硬过滤

综合评估


10. Tinode

基本信息

功能对标

功能 支持 稳定性 备注
Bot 原生 🟡 gRPC scriptable,多语言客户端
RBAC 🟡 弱于 Rocket/Mattermost
联邦 旨在复现 XMPP 联邦但未实现
五端 Web/iOS/Android + Desktop 走 Electron 包装
真人/Bot 分区 🟡 user tags
朋友圈
转发/多选/置顶 🟡
视频/语音 one-on-one and group
一键部署 Docker,多 DB 后端

3 道硬过滤

综合评估


11. Ejabberd(XMPP 服务器)

基本信息

功能对标

功能 支持 稳定性 备注
联邦 极高 XMPP S2S 协议级
Bot via XMPP 任意 XMPP 客户端可做 Bot
RBAC 🟡 XMPP ACL
五端 服务端无原生客户端,要选 Conversations/Gajim/Movim
朋友圈 🟡 通过 Movim 等 PEP 拓展
MUC(多人聊天)
MQTT/SIP 顺带支持

3 道硬过滤

综合评估


12. Openfire(XMPP 服务器 Java)

基本信息

功能对标

(与 Ejabberd 相同 XMPP 协议层能力)
- 联邦:✅ XMPP S2S
- Bot:✅ via XMPP
- RBAC:🟡
- 五端:❌ 客户端要选
- 部署:✅ 简单

3 道硬过滤

综合评估


13. Nextcloud Talk(spreed)

基本信息

功能对标

3 道硬过滤

综合评估


第 2 梯队:🟡 部分通过,特定场景候选(4 款)


14. Revolt(Stoat backend)

基本信息

功能对标

功能 支持 稳定性 备注
Bot 原生 user.bot 字段
RBAC Discord 风格 roles
联邦
Web
Desktop 🟡 Electron
Mobile ⚠️ iOS/Android 仍开发中
朋友圈

综合评估


15. Element-X 系列(Matrix iOS/Android 下一代客户端)

基本信息

综合评估

属于 Matrix 客户端层。如果选 Matrix 方案这是首选客户端,但 AGPL。


16. Dendrite(Matrix Go 实现)

基本信息

综合评估


17. Movim(XMPP 社交网络)

基本信息

功能对标

综合评估


第 3 梯队:❌ 不进入候选(架构/协议/场景错配,18 款)


18. Briar


19. Session(session-foundation/session-android + session-desktop)


20. Jami


21. Wire(wireapp/wire-server)


22. Threema-Android


23. Let's Chat


24. Tox(c-toxcore)


25. Berty


26. DeltaChat(deltachat-core-rust)


27. Spacebar(Discord backend reimplementation)


28. Mirai


29. go-cqhttp


30. Telegram Desktop(tdesktop)


31. Signal-Server


32. NodeBB


33. Flarum


34. Chatwoot


35. Jitsi Meet


36. Owncast


总览汇总

P0 51 条覆盖率排行(前 10)

排名 软件 P0 覆盖估算 关键缺口
1 Rocket.Chat 85% 朋友圈、真人/Bot 严格分区
2 TangSengDaoDao 80% 联邦机制、Bot 文档完善度
3 Mattermost 80% 朋友圈、联邦(AGPL 风险)
4 Synapse + Element 75% 朋友圈、客户端 AGPL
5 Tuwunel 70% 客户端、朋友圈
6 OpenIM 70% 客户端 UI、RBAC 业务层
7 Zulip 70% 联邦、真人/Bot、朋友圈三大缺
8 WuKongIM(叠 TSDD) 65% 单独使用功能层薄
9 Nextcloud Talk 65% 真人/Bot、朋友圈、Nextcloud 绑定
10 Openfire 60% 客户端、朋友圈

Top 3 推荐与备选

Plan A:Rocket.Chat(最稳健,质量第一)

为什么推荐:MIT 核心 + 45k Star 生态 + Apps-Engine + Federation V2 + RBAC + 五端原生。最不会重蹈秀秀失效覆辙(Bot/Admin/Plugin 都是核心模块而非 service-openapi 那样的"可选容器")。

适合场景:守一愿意花 3-4 周二开朋友圈、并通过 Apps-Engine 扩展真人/Bot 分区。

Plan B:TangSengDaoDao 唐僧叨叨(国产首选)

为什么推荐:唯一同时具备"原生朋友圈 + Apache 2.0 + 六端齐全 + 中文文档"。守一独特要求的朋友圈零工作量。

适合场景:守一最看重"商用零协议门槛 + 原生朋友圈"。

Plan C:Mattermost(企业级,AGPL 限制内可选)

为什么推荐:36.9k Star + Go 性能 + 企业级 RBAC + Plugin Marketplace。是开源 IM 老牌标杆。

适合场景:守一愿意接受 AGPL,且能承诺给乙方分发时开源你的二开代码。

备选 A:Tuwunel/Conduit + Element(Matrix 联邦派)

为什么备选:Matrix 联邦是 35 款中最完美的"乙方独立部署+互联"匹配。Apache 2.0 服务端。但客户端 Element 仍 AGPL。

备选 B:WuKongIM + TangSengDaoDao 自由组合

为什么备选:WuKongIM 性能 + TSDD 业务层(含原生朋友圈),同一团队两层架构本就是这么设计的。


Top 3 淘汰理由典型案例

案例 1:Mirai(曾经辉煌但已死)

14.8k Star 但 18 个月未更新,腾讯 QQ 协议持续封禁,开发者明示无力维护。教训:Star 多 ≠ 活跃,必须看 last commit。

案例 2:Briar / Berty / Jami / Session(P2P 架构错配)

都是隐私优先 P2P 架构,没有中心服务器意味着没有 Bot/RBAC/Admin/Federation 概念,与守一"乙方独立部署服务器+互联"需求架构层面就冲突。教训:架构方向比功能完整度更重要。

案例 3:NodeBB / Flarum / Chatwoot / Jitsi / Owncast(场景错配)

都是开源软件巨头但类别不对:论坛/客服/视频会议/直播。教训:30 款调研要先按"业务 IM"过滤,再按 P0 评估,避免被 Star 数误导。


守一独特要求满足度矩阵

要求 Rocket.Chat TangSeng Mattermost Tuwunel OpenIM Synapse
真人/Bot 分区 (B25-30) 🟡 🟡 🟡 🟡 🟡 🟡
朋友圈 (B31-33) 🟡
联邦 (B49) 🟡 🟡 🟡
Bot 原生开箱 (B36)
五端齐全 (B53-57) 🟡
Apache/MIT (B77) ⚠️ AGPL 🟡 ⚠️ AGPL
一键全启动 (B45-46)

最终建议

首选两条路

  1. Rocket.Chat:如果你最看重生态成熟度和"不会再失效"的工程稳健性,且能接受 3-4 周二开朋友圈
  2. TangSengDaoDao:如果你最看重朋友圈零工作量 + Apache 2.0 商用最友好 + 中文友好,且能接受较小社区

两者都强烈建议在动手切换前做一次 PoC:1 周部署到测试服务器,跑通"建群+发消息+加 Bot+加好友+发朋友圈/广播"端到端流程,再决定。

避免:所有 P2P 隐私系(Briar/Session/Jami/Tox/Berty)、所有论坛系(NodeBB/Flarum)、所有客服系(Chatwoot)、所有 archived 项目(Let's Chat、Mirai 实质上)。


文件位置