编制日期:2026-05-29
调研对象:Rocket.Chat / TangSengDaoDao 唐僧叨叨 / Mattermost
数据源:GitHub repo(源码 clone 实证)+ 官方文档 + 社区文章 + Issue Tracker + 2026 最新定价/许可页面
用途:在 30 款源码调研基础上的深度对标,作为秀秀 3.0 替代选型最终决策依据
| 关键事实 | 影响 |
|---|---|
| Rocket.Chat Community(MIT) 2026 已被严重限制 | 100 并发用户上限、推送 10k/月、无自定义 RBAC 角色、无品牌定制(whitelabel)、无 Marketplace 应用、无 Federation。RBAC/Federation/Branding/Marketplace 全部需 Enterprise 付费 |
| TangSengDaoDao 朋友圈不在开源版 | 源码实测:modules/ 16 个目录,没有 moment/朋友圈模块;客户端 Web/Android 仅有 moment.js 时间库引用与权限描述文字,无实际朋友圈 UI;OSCHINA/CSDN 资料确认 "朋友圈管理系统"是商业版/订阅解锁模块 |
| Mattermost 编译版是 MIT,源码版是 AGPL-3.0 | 直接用官方发布的 mattermost binary 部署给乙方 → MIT 无义务;如果你 fork 源码修改重编译 → AGPL 强 copyleft,需开源修改 |
这 3 个事实全面颠覆了 30 款调研总览里"Rocket.Chat MIT 全开放、TSDD 原生朋友圈、Mattermost AGPL 致命"的初步认知。后续分析全部基于这 3 个新事实。
| 关键维度 | Rocket.Chat | TangSengDaoDao(TSDD) | Mattermost |
|---|---|---|---|
| GitHub 主仓 | RocketChat/Rocket.Chat | TangSengDaoDao/TangSengDaoDaoServer | mattermost/mattermost |
| Star | 45.4k | 3.5k | 36.9k |
| Fork | 13.6k | 0.57k | 8.6k |
| 协议(源码) | MIT(core)+ Proprietary(ee/) | Apache 2.0(全部) | AGPL-3.0(source)+ Commercial(EE) |
| 协议(编译版) | MIT | Apache 2.0 | MIT(官方编译版) |
| 主语言 | TypeScript 94% | Go 88% | Go 40% + TS 49% |
| 数据库 | MongoDB(重度耦合) | MySQL + Redis | PostgreSQL |
| 通信层 | Meteor + WebSocket | WuKongIM(独立通信内核) | 自研 + WebSocket |
| 最新版本 | 8.4.2(2026-05-22) | v1.5.0(2023-11,主仓持续推进) | v11.7.2(2026-05-26) |
| 最后 commit | 2026-05-29 | 2026-05-15 | 2026-05-29 |
| 五端覆盖 | ✅ Web/Win/Mac/iOS/Android | ✅ 六端(多 Ubuntu) | ✅ Web/Win/Mac/iOS/Android/Linux |
| 部署难度 | 中(MongoDB 经验) | 低(docker-compose 完整) | 极低(单 Linux 二进制) |
| 部署完整度 | 高(一键全启) | 高(双层架构启全) | 极高(无失效容器) |
| 资源占用(基础部署) | 4G 起步 | 2G 起步 | 2G 起步 |
| 文档完整度 | 极高(英文为主,中文较弱) | 高(中文为主) | 极高(双语+OpenAPI 全文档) |
| 中文支持 | i18n 内置但中文翻译不全 | 原生中文产品 | i18n 内置中文 |
| 开源社区活跃度 | 极高(全球老牌) | 中(国内中心) | 极高(全球老牌) |
| 国内服务支持 | 弱(无中国法人) | 强(上海新比达,可直连) | 弱(无中国法人) |
| 商业风险(给乙方部署) | 中-高(功能锁太多,Community 100 人上限) | 低(Apache 2.0 编译版自由分发) | 低(编译版 MIT,rebrand 无需开源) |
| 二次开发成本 | 高(朋友圈 + 真人/Bot 分区 + 找回 RBAC 权限) | 中(朋友圈服务端要自研+UI;客户端 hooks 多) | 中-高(朋友圈 + 联邦) |
| 真人/Bot 分区原生支持 | 🟡(user.roles=bot 自扩展) | 🟡(Robot 模型存在,含 streamStart/End 流式 AI bot) | ✅(is_bot 字段内建) |
| 朋友圈(守一硬需求) | ❌(需 4 周自研) | ❌开源版无(需自研,3-4 周) | ❌(需 4 周自研) |
| 跨实例联邦(守一硬需求) | ❌ Community 无;Enterprise 才有(Matrix) | 🟡 通过 WuKongIM 集群+webhook 桥接(要自研) | 🟡 Matterbridge 桥接(要自研) |
| Bot 框架成熟度 | ✅ Apps-Engine(Community 也能用) | ✅ Robot + Webhook + 流式(appId 鉴权完备) | ✅ Bot Account(内建)+ Plugin |
| 推送(PNS)成本 | Community 10k/月;超出付费 | 完全自托管(含 APNs/FCM/Mi/Vivo/Oppo/HMS) | 自托管 TPNS 不推荐生产;HPNS 需付费 |
| 富文本/Markdown | ✅ | ✅ | ✅ |
| 视频/语音通话 | ✅ Jitsi/BBB(Community) | ❌ 无原生 | ✅ Calls 插件(含屏共) |
单元格表示法:
- ✅ 完整支持(原生/插件/配置)
- 🟡 部分支持(需扩展或限制说明)
- ❌ 不支持
- ❓ 文档未明确
| 序号 | 功能 | 优先级 | Rocket.Chat | TangSengDaoDao | Mattermost |
|---|---|---|---|---|---|
| B01 | 文字消息收发(含 Markdown) | P0 | ✅ 原生(GFM) | ✅ 原生 | ✅ 原生(含 Markdown GFM) |
| B02 | @提及含 @everyone/@角色 | P0 | ✅ @everyone+@here+@role+@channel | 🟡 仅 @个人+@all(群@消息,无@角色) |
✅ @everyone+@channel+@here+@group(role) |
| B03 | 消息回复/引用 | P0 | ✅ 原生 thread 模式 | ✅ 原生(消息回复) |
✅ 原生(threads) |
| B04 | 消息转发(单条/多条) | P0 | ✅ 原生 | ✅ 原生(合并转发消息,源码模块 message) |
✅ 原生 |
| B05 | 消息多选(批量操作) | P0 | ✅ 原生 | ✅ 原生(合并转发 UI 自带多选) | ✅ 原生 |
| B06 | 消息置顶(群内/会话) | P0 | ✅ 原生 pinned messages | ✅ 原生(消息置顶+会话置顶) |
✅ 原生 |
| B07 | 消息撤回 | P0 | ✅ 原生 | ✅ 原生(撤回消息) |
✅ 原生 |
| B08 | 消息编辑 | P1 | ✅ 原生 | 🟡 部分(合并转发可改但单条编辑要确认) | ✅ 原生 |
| B09 | 群发(@everyone/@角色广播) | P0 | ✅ @everyone+broadcast channel | 🟡 只有 @all 单群广播 | ✅ @everyone + Group Mention |
模块 1 小计:Rocket 8/8 P0 ✅;TSDD 6/8 P0 🟡(B02/B09 角色广播弱);Mattermost 8/8 P0 ✅
| 序号 | 功能 | 优先级 | Rocket.Chat | TangSengDaoDao | Mattermost |
|---|---|---|---|---|---|
| B10 | 消息搜索(强大稳定) | P0 | ✅ 原生 + Apps Engine 可扩展 ElasticSearch | ✅ 原生(modules/search 模块完整) | ✅ 原生 + ES Plugin |
| B11 | 表情反应(Reaction) | P1 | ✅ 含自定义 emoji | 🟡 消息点赞但表情反应不丰富 |
✅ 含自定义 emoji |
| B12 | 输入中(typing)状态 | P1 | ✅ 原生 | ✅ 原生(正在输入消息,robot 也支持 typing) |
✅ 原生 |
| B13 | 已读/未读状态 | P1 | ✅ 原生 read receipts | ✅ 原生(IM 标配) | 🟡 Enterprise 才有 read receipts |
| B14 | 草稿保存(本地+云端) | P0 | 🟡 本地草稿,云端要插件 | ✅ 原生草稿存储 | 🟡 本地 only |
| B15 | 富文本/Markdown | P0 | ✅ | ✅ | ✅ |
| B16 | 代码块语法高亮 | P1 | ✅ Highlight.js | ✅ | ✅ |
| B17 | 链接预览(OG 卡片) | P2 | ✅ 原生 OG | 🟡 部分(识别链接但不展开 OG) | ✅ 原生 OG |
模块 2 小计:Rocket P0 3/3 + P1/P2 整体 8/8;TSDD P0 3/3 + 整体 5/8(reaction/preview 弱);Mattermost P0 3/3 + 整体 7/8(read receipt 收费)
| 序号 | 功能 | 优先级 | Rocket.Chat | TangSengDaoDao | Mattermost |
|---|---|---|---|---|---|
| B18 | 群组双层结构(guild→channel) | P0 | ✅ Team→Channel | 🟡 仅 group/channel(没有 server→guild→channel 三层) | ✅ Team→Channel |
| B19 | 频道分类/拖拽分组 | P1 | ✅ Team sidebar grouping | 🟡 基础排序 | ✅ 类别 |
| B20 | 群成员管理(邀请/移除/角色) | P0 | ✅ 原生 | ✅ 原生 | ✅ 原生 |
| B21 | 完整 RBAC(不依赖插件) | P0 | 🟡 Community 仅 3 个默认角色,自定义角色需 Enterprise | ✅ 群主/管理员/成员三档(API 可扩展) | ✅ CE 含 system_admin/team_admin/channel_admin/user 全角色,可自定义 |
| B22 | 群公告(持久可改) | P0 | ✅ 频道 topic+description | ✅ 原生(群公告) |
✅ 原生 channel header |
| B23 | 邀请链接(次数+美化) | P0 | ✅ 原生 invite token | ✅ 原生(含群二维码) | ✅ 原生 invite link |
| B24 | 多人会话/讨论组 | P0 | ✅ 原生 Discussion | ✅ 原生 group chat(不限人数) | ✅ Group Message |
模块 3 小计:Rocket P0 5/6(B21 角色自定义需 Enterprise);TSDD P0 5/6(B18 三层结构缺);Mattermost P0 6/6 ✅
| 序号 | 功能 | 优先级 | Rocket.Chat | TangSengDaoDao | Mattermost |
|---|---|---|---|---|---|
| B25 | 用户类型字段(真人/Bot 二态) | P0 | 🟡 roles: ['bot'] 软标识 |
🟡 Robot 表独立(modules/robot/),与用户表分离 |
✅ is_bot=true 字段硬区分 |
| B26 | 真人只能在真人区发布 | P0 | 🟡 需 Apps Engine 拦截 | 🟡 需 webhook 拦截 | 🟡 需 Plugin 拦截 |
| B27 | Bot 只能在 Bot 区发布 | P0 | 🟡 同上 | 🟡 robot.messageSend API 路由可分流 | 🟡 同上 |
| B28 | 真人秀双信息流标签切换 | P0 | ❌ 需自研前端 | ❌ 需自研前端 | ❌ 需自研前端 |
| B29 | Bot 朋友圈不混入真人秀 | P0 | ❌(朋友圈自身就缺) | ❌(朋友圈自身就缺) | ❌(朋友圈自身就缺) |
| B30 | 用户类型 API 过滤 | P0 | 🟡 query 加 role filter | ✅ Robot/User 表 schema 天然分离,filter 直接 by table | 🟡 query.is_bot=true |
模块 4 小计:所有三款 ≈ 1-2/6 P0 ✅。这一整块基本所有候选都要自研,但 TSDD 的 robot 表与 user 表 schema 分离(B30 ✅)和 Mattermost 的 is_bot 字段(B25 ✅)比 Rocket 的 roles 标签更干净。
| 序号 | 功能 | 优先级 | Rocket.Chat | TangSengDaoDao | Mattermost |
|---|---|---|---|---|---|
| B31 | 朋友圈发布(图文/视频/链接) | P0 | ❌ | ❌ 开源版无(仅服务端有 moment.publish 事件+TypeMoment 文件类型,无 module) | ❌ |
| B32 | 朋友圈点赞/评论 | P0 | ❌ | ❌ 开源版无 | ❌ |
| B33 | 双信息流过滤(真人秀/Bot 秀) | P0 | ❌ | ❌ 开源版无 | ❌ |
| B34 | 内容审核 hook | P1 | 🟡 Apps Engine | 🟡 webhook+第三方 | 🟡 Plugin |
| B35 | 跨实例朋友圈可见性 | P1 | ❌ | ❌ | ❌ |
模块 5 小计:三款都不满足朋友圈 0/3 P0。TSDD 仅在服务端 SQL 注册了 app_module='moment','朋友圈模块'+文件类型枚举+事件常量(moment.publish/moment.delete),证明朋友圈架构是商业版重点产品,开源版只留了钩子。重要修正:30 款调研总览说 TSDD "唯一原生朋友圈"是错的,实际开源版不含。
| 序号 | 功能 | 优先级 | Rocket.Chat | TangSengDaoDao | Mattermost |
|---|---|---|---|---|---|
| B36 | Bot 原生支持 | P0 | ✅ Apps Engine(Community 也能用) | ✅ Robot 模块(streamStart/End 支持 LLM 流式) | ✅ Bot Account 内建 |
| B37 | OpenAPI 完整文档化 | P0 | ✅ REST + Real-time API | ✅ swagger/ 目录完整 | ✅ 完整 OpenAPI |
| B38 | Bot 鉴权(appId+appSecret/Token) | P0 | ✅ Personal Access Token | ✅ authRobot middleware | ✅ Bot Token |
| B39 | Webhook 支持(callbackUrl) | P0 | ✅ Incoming/Outgoing webhook | ✅ modules/webhook/api.go 完整 |
✅ Incoming/Outgoing webhook |
| B40 | WebSocket/Socket.IO 长连接(出站) | P0 | ✅ Real-time API | ✅ WuKongIM SDK | ✅ WebSocket API |
| B41 | Bot 多账号并发 20+ | P1 | ✅ 无限制 | ✅ Robot 表无上限 | ✅ 无限制 |
| B42 | Bot 加群授权(addBotUser) | P0 | ✅ 原生 | ✅ 原生 | ✅ 原生 |
| B43 | Bot 自动建群+执行流程 | P1 | ✅ Apps Engine | ✅ webhook+API 组合 | ✅ Plugin+webhook |
| B44 | Bot SOUL/Prompt 注入接口 | P1 | 🟡 Apps Engine 自定义存储 | 🟡 robot.payload 可扩展 | 🟡 Plugin KV Store |
模块 6 小计:三款都 ✅ 8/8 P0;Rocket 的 Apps Engine 在 Community 可用是亮点;TSDD 的 streamStart/End 设计原生面向 LLM bot(守一 OpenClaw 集成最匹配);Mattermost 的 is_bot 字段最干净。
| 序号 | 功能 | 优先级 | Rocket.Chat | TangSengDaoDao | Mattermost |
|---|---|---|---|---|---|
| B45 | 一键独立部署(Docker/K8s) | P0 | ✅ Snap/Docker/Helm | ✅ docker-compose(双层一键起) | ✅ 单 Linux 二进制+PostgreSQL(最简) |
| B46 | 完整启停(无失效容器) | P0 | 🟡 MongoDB 依赖较重,初次配置易踩坑 | ✅ docker-compose up 全启 | ✅ 单二进制不会失效 |
| B47 | 数据私有化存储 | P0 | ✅ | ✅ | ✅ |
| B48 | 多实例部署 | P0 | ✅ | ✅ | ✅ |
| B49 | 跨实例通信(联邦/中继) | P0 | ❌ Community 无;Enterprise 才有 Matrix-based federation | 🟡 WuKongIM 集群+webhook 桥接(需自研业务层互联) | 🟡 Matterbridge(社区项目,非官方) |
| B50 | 乙方自主授权账号/Bot 接入公网 | P0 | ✅ | ✅ | ✅ |
| B51 | HTTPS + SSL 自动化 | P0 | ✅(推荐 Caddy/Nginx + Let's Encrypt) | ✅ | ✅ |
| B52 | 资源占用合理(<4G 跑起来) | P1 | 🟡 4G 起步(MongoDB 内存重) | ✅ 2G 起步 | ✅ 2G 起步 |
模块 7 小计:Rocket P0 6/7(B49 联邦致命缺口,Community 无);TSDD P0 6.5/7(B49 联邦 🟡 需自研但有架构基础);Mattermost P0 6.5/7(B49 同 🟡)
B49 联邦的细节:
- Rocket.Chat 8.x: Federation 是 Enterprise 付费 add-on,Community 完全无法跨实例。这是守一"乙方独立部署+甲方公网互联"硬需求的杀手级缺口。
- TSDD: 没有协议级联邦,但 WuKongIM 通信层支持集群模式,业务层可通过 webhook+API 实现跨实例消息桥接(自研工作量约 2-3 周)。
- Mattermost: 同样没有协议级联邦,社区项目 Matterbridge 可桥接到其他 IM,但不能直接 Mattermost↔Mattermost 联邦。需自研。
| 序号 | 功能 | 优先级 | Rocket.Chat | TangSengDaoDao | Mattermost |
|---|---|---|---|---|---|
| B53 | Web 端 | P0 | ✅ 原生 | ✅ React 原生 | ✅ React 原生 |
| B54 | Windows 桌面端 | P0 | ✅ Electron | ✅ Electron+Tauri | ✅ Electron |
| B55 | macOS 桌面端 | P0 | ✅ | ✅ | ✅ |
| B56 | Android 移动端 | P0 | ✅ React Native | ✅ Kotlin 原生 | ✅ React Native |
| B57 | iOS 移动端 | P0 | ✅ React Native | ✅ Swift 原生 | ✅ React Native |
| B58 | 手机端体验 >= Discord | P0 | 🟡 RN 还行,部分性能问题 | 🟡 原生客户端体验佳但商业版功能更多 | 🟡 RN 类似 |
模块 8 小计:三款都 ✅ 6/6 P0;TSDD Android 用 Kotlin 原生、iOS 用 Swift 原生是手感最佳,但 Mattermost/Rocket 用 RN 跨平台维护成本更低。
| 序号 | 功能 | 优先级 | Rocket.Chat | TangSengDaoDao | Mattermost |
|---|---|---|---|---|---|
| B59 | 手机端回车=换行 | P1 | 🟡 默认发送,配置可改 | 🟡 默认发送 | 🟡 设置可改 |
| B60 | Windows 右键完整(剪切/复制/粘贴) | P0 | ✅ Electron 原生 | ✅ Electron 原生 | ✅ Electron 原生 |
| B61 | 输入草稿刷新不丢 | P0 | ✅ 云端同步 | ✅ 云端同步 | 🟡 本地 only |
| B62 | 对话宽度自适应 | P1 | ✅ | ✅ | ✅ |
| B63 | 联系人置顶 | P1 | ✅ Favorites | ✅ 会话置顶 | ✅ |
模块 9 小计:Rocket 2/2 P0 + 整体 5/5;TSDD 2/2 P0 + 整体 4/5;Mattermost 1/2 P0(草稿不云同步)+ 整体 4/5
| 序号 | 功能 | 优先级 | Rocket.Chat | TangSengDaoDao | Mattermost |
|---|---|---|---|---|---|
| B64 | 文件发送 ≥ 50MB | P0 | ✅ 默认 100MB 可调 | ✅ 默认 100MB | ✅ 默认 100MB |
| B65 | 图片发送(含缩略图) | P0 | ✅ | ✅ | ✅ |
| B66 | 在线打开文档(不需下载) | P0 | 🟡 PDF 可在线预览,Office 需 Collabora 插件 | 🟡 PDF 可,Office 需对接 | 🟡 PDF 可,Office 需对接 |
| B67 | MP3 音频文件发布 | P0 | ✅ | ✅ | ✅ |
| B68 | 语音消息(短语音) | P0 | ✅ 原生录音 | ✅ 原生(语音消息) |
✅ Voice Messages 插件(CE 含) |
| B69 | 实时语音通话(VoIP) | P1 | ✅ Community Jitsi+BBB | ❌ 无原生 | ✅ Calls 插件(含视频/屏共,CE 含) |
| B70 | 视频/屏幕共享 | P1 | ✅ Jitsi+BBB | ❌ | ✅ Calls 插件 |
模块 10 小计:Rocket 5/5 P0;TSDD 5/5 P0(但 B69/B70 P1 缺失);Mattermost 5/5 P0(B69/B70 在 Calls 插件含)
| 序号 | 功能 | 优先级 | Rocket.Chat | TangSengDaoDao | Mattermost |
|---|---|---|---|---|---|
| B71 | 完整品牌定制(Logo/产品名/主题色) | P0 | 🟡 Community 仅基础 Logo 替换;whitelabel/完全品牌定制需 Enterprise | ✅ Apache 2.0 + 国产产品本身就是品牌定制示例,完全自由 | ✅ "Custom Branding" 功能 CE 含 + 高级 whitelabel 需手动改源码(编译版 MIT 允许) |
| B72 | 安装包重新打包(五端) | P0 | 🟡 桌面/移动端打包需自行处理,无官方支持流程 | ✅ Apache 2.0 完全允许 | ✅ MIT 编译版允许;源码 fork 后受 AGPL 约束 |
| B73 | 运行时配置(serverName/announcement) | P1 | ✅ Admin 设置 | ✅ Admin 后台 | ✅ Admin 后台 |
| B74 | 多语言扩展能力 | P1 | ✅ 64 语言 | ✅ i18n 框架 | ✅ 全球 i18n |
模块 11 小计:Rocket P0 0/2(whitelabel + 五端打包都受限);TSDD P0 2/2 + 整体 4/4;Mattermost P0 2/2 + 整体 4/4
关键警告 — 品牌改造:Rocket.Chat Community 不允许 whitelabel,这是 30 款调研总览没揭露的关键缺口。守一 #15 要求"Logo/产品名/启动页/主题色全可改",Rocket Community 实测仅支持基础 Logo+主题色,完整 whitelabel(隐藏 Rocket.Chat 品牌、改启动页等)需 Enterprise 付费。
| 序号 | 功能 | 优先级 | Rocket.Chat | TangSengDaoDao | Mattermost |
|---|---|---|---|---|---|
| B75 | 近 3 月有活跃 commit | P0 | ✅(每日) | ✅(2026-05-15) | ✅(每日) |
| B76 | 文档+社区+Bug 少 | P0 | ✅ | 🟡 文档中文为主,海外社区弱 | ✅ |
| B77 | 协议宽松(MIT/Apache/BSD) | P0 | 🟡 MIT core 但 ee/ proprietary + Community 限制等同部分商业锁 | ✅ Apache 2.0 全部 | 🟡 编译版 MIT、源码 AGPL-3.0;fork 重编后需开源 |
| B78 | 商用允许 | P0 | 🟡 Community 100 人上限 → 商用扩张要付费 | ✅ 完全无限制 | ✅ 编译版无限制;fork 受 AGPL(要么开源、要么买商业 license) |
模块 12 小计:Rocket P0 2/4(B77/B78 Community 锁太多);TSDD P0 4/4 ✅;Mattermost P0 3/4(B77 fork 需慎重)
| 序号 | 功能 | 优先级 | Rocket.Chat | TangSengDaoDao | Mattermost |
|---|---|---|---|---|---|
| B79 | 桌面快捷方式(点击直进对话) | P1 | 🟡 Electron protocol handler 可二开 | 🟡 同上 | 🟡 同上 |
| 序号 | 功能 | 优先级 | Rocket.Chat | TangSengDaoDao | Mattermost |
|---|---|---|---|---|---|
| B80 | 桌面通知 | P0 | ✅ 原生 + Web Push | ✅ 原生 + Electron Notification | ✅ 原生 |
| B81 | 移动端推送(APNs/FCM/小米/华为) | P0 | 🟡 Community 10k/月限额;超出付费 PNS | ✅ 原生全栈(apns/firebase/mi/vivo/oppo/hms 6 路) | 🟡 自托管 TPNS 不推生产;HPNS 付费 |
| B82 | 离线消息/历史拉取 | P0 | ✅ | ✅(消息永久存储是核心卖点) | ✅ |
| B83 | 好友请求/通讯录/状态 | P0 | ✅ | ✅(add friend/device manage/block完整) |
✅ |
| B84 | 个人资料编辑 | P0 | ✅ | ✅ | ✅ |
| B85 | 多端登录同步 | P0 | ✅ | ✅(消息多端同步核心卖点) |
✅ |
| B86 | 主题切换 | P1 | ✅ | ✅ | ✅ |
| B87 | PWA 支持 | P2 | ✅ | 🟡 部分 | ✅ |
| B88 | Admin 完整后台 UI | P0 | ✅ Admin Console | ✅ TangSengDaoDaoManager 独立项目 | ✅ System Console |
| B89 | 语音转文字 | P2 | ❌ | ❌ | ❌ |
模块 14 小计:Rocket P0 5/6(B81 推送收费);TSDD P0 6/6 ✅;Mattermost P0 5/6(B81 推送收费)
P0 = 59 条;P1 = 23 条;P2 = 5 条;总 89 条
| 模块 | P0 总数 | Rocket.Chat (P0 满足) | TSDD (P0 满足) | Mattermost (P0 满足) |
|---|---|---|---|---|
| 1. 消息基础 | 8 | 8 ✅ | 6 🟡 | 8 ✅ |
| 2. 消息扩展 | 3 | 3 ✅ | 3 ✅ | 3 ✅ |
| 3. 群组权限 | 6 | 5 🟡(B21 RBAC锁) | 5 🟡(B18 三层缺) | 6 ✅ |
| 4. 真人/Bot 分区 | 6 | 1.5 ❌ | 2 ❌(B30 ✅) | 2 ❌(B25 ✅) |
| 5. 朋友圈 | 3 | 0 ❌ | 0 ❌ | 0 ❌ |
| 6. Bot/OpenAPI | 7 | 7 ✅ | 7 ✅ | 7 ✅ |
| 7. 部署架构 | 7 | 6 🟡(B49 联邦无) | 6.5 🟡(B49 桥接需自研) | 6.5 🟡(B49 同) |
| 8. 多端客户端 | 6 | 6 ✅ | 6 ✅ | 6 ✅ |
| 9. 客户端体验 | 2 | 2 ✅ | 2 ✅ | 1 🟡(B61 草稿) |
| 10. 文件/媒体 | 5 | 5 ✅ | 5 ✅ | 5 ✅ |
| 11. 品牌改造 | 2 | 0 ❌(whitelabel 锁) | 2 ✅ | 2 ✅ |
| 12. 稳定性硬指标 | 4 | 2 🟡 | 4 ✅ | 3 🟡 |
| 13. 待开发 | 0 | — | — | — |
| 14. 二次审核补漏 | 6 | 5 🟡(B81 推送) | 6 ✅ | 5 🟡(B81 推送) |
| P0 总满足 | 59 | 50.5 / 59 = 85.6% | 54.5 / 59 = 92.4% | 54.5 / 59 = 92.4% |
| 总满足(P0+P1+P2) | 89 | 78 / 89 = 87.6% | 80 / 89 = 89.9% | 82 / 89 = 92.1% |
关键洞察:
- TSDD 与 Mattermost 在 P0 满足度上并列第一(92.4%);Rocket.Chat 因 Community 限制(RBAC/联邦/Whitelabel/推送)拖累至 85.6%
- 三款都在朋友圈(3条 P0)和真人/Bot 分区(6 条 P0 中至少 4 条)上有同等的二开缺口
- Mattermost 在总分上微胜(92.1%),主要因 Calls 插件补齐了 B69/B70 视频/屏共
moment.publish/moment.delete)+ 文件类型枚举 + SQL app_module='moment' 注册,但实际 module 代码不存在。需要从零写 modules/moment(含 publish/comment/like API + 数据模型 + Webhook 触发)+ Web/Android/iOS 三端 UI。预估 3-4 周服务端 + 3-4 周三端 UI = 总 6-8 周is_bot 字段已内建(B25 ✅),仅需 Plugin 拦截发布+前端 tab。预估 0.5-1 周| 项目 | Rocket.Chat | TangSengDaoDao | Mattermost |
|---|---|---|---|
| 朋友圈 | 3-4 周 | 6-8 周(前后端全开发) | 6-8 周 |
| 真人/Bot 分区 | 1-1.5 周 | 0.5-1 周 | 0.5-1 周 |
| RBAC 解锁/扩展 | 2-3 周 OR 买 EE | 不需要 | 不需要 |
| Whitelabel 解锁 | 2-3 周 OR 买 EE | 不需要 | 不需要 |
| 联邦机制 | 3-4 周 OR 买 EE | 2-3 周 | 3-4 周 |
| 推送自托管 | 1-2 周 | 不需要(原生 6 路推送) | 1-2 周 |
| VoIP | 不需要(Jitsi) | 2-3 周 | 不需要(Calls 插件) |
| 群组三层 | 不需要 | 1-2 周 | 不需要 |
| 法务/合规 | 高风险(Community 商用边界) | 零风险 | 中风险(fork → AGPL) |
| 总工程时长 | 8-12 周 | 9-13 周 | 8-12 周 |
| 总成本(含 license) | 8-12 周工程 + 可能 Enterprise 年费 | 9-13 周工程 | 8-12 周工程 + 可能 EE 年费 |
独特优势
1. 生态最大(45k Star + 13k Fork + 1223 个发行版本,老牌 11 年)
2. Apps-Engine 在 Community 也开放(Bot/插件机制 MIT 自由扩展,是补朋友圈/真人秀的最佳载体)
3. Federation 走 Matrix 协议(Enterprise 才有但协议级真联邦,跨乙方真互通)
4. i18n 64 语言(守一 i18n 扩展性需求最完整)
5. 政企/军用案例(Deutsche Bahn / US Navy / Credit Suisse 背书,企业级稳定性)
致命缺陷
1. ⚠️ Community 100 并发上限:守一一旦超 100 人需付费(与"开首单现金流紧"冲突)
2. ⚠️ 自定义 RBAC 角色锁 Enterprise:守一 B21 P0 直接受限
3. ⚠️ Whitelabel 锁 Enterprise:守一 B71 P0 品牌定制需付费或 fork(fork 受 ee/ proprietary 影响)
4. ⚠️ Push 10k/月限额:5 端 30 人内勉强够,规模化后必须付费
5. ⚠️ MongoDB 资源重:4G 起步,与守一 2 核 4G 服务器场景冲突
独特优势
1. ✅ Apache 2.0 全无锁(守一商用最无后顾之忧,所有功能解锁完全自由)
2. ✅ 国内中文产品+上海法人公司(守一/乙方部署遇坑可直接联系官方/社区中文支持)
3. ✅ 原生 6 路推送(APNs/Firebase/小米/华为/Vivo/Oppo)—— 国内移动推送的杀手级优势,Rocket/Mattermost 都做不到
4. ✅ streamStart/End 流式 Robot API(专为 LLM bot 设计,OpenClaw 集成最匹配)
5. ✅ Robot 表与 User 表 schema 分离(守一"真人/Bot 严格分区"B30 天然支持)
6. ✅ 8 年沉淀的 WuKongIM 通信内核(性能据称 100w+ 连接级,超过 Meteor 几个数量级)
7. ✅ 客户端原生(Android Kotlin + iOS Swift,手感优于 RN 跨平台)
致命缺陷
1. ⚠️ 朋友圈不在开源版:30 款调研总览说"唯一原生朋友圈"是错的,实际 modules/ 无 moment 模块,仅有事件钩子+文件类型枚举+SQL app_module 注册。要么买商业版,要么从零自研(6-8 周)
2. ⚠️ 3.5k Star 生态偏小:遇坑时社区可参考的资料少,主要靠官方
3. ⚠️ 群组只有两层(group→channel):守一 B18 P0 群组双层结构(类 Discord guild→channel)需要扩展
4. ⚠️ @角色/@群发能力弱:当前只有 @个人+@all,守一 B02/B09 需要扩展
5. ⚠️ 无原生 VoIP:B69/B70 P1 完全缺失,需对接 LiveKit/Jitsi
独特优势
1. ✅ 编译版 MIT(直接用官方 binary + Plugin 扩展,法务零风险)
2. ✅ is_bot 字段内建(守一 B25 真人/Bot 分区天然支持)
3. ✅ Plugin 框架最成熟(700+ integrations,文档完善)
4. ✅ System Console 极强(守一 B88 完整 Admin 后台 UI 开箱即用)
5. ✅ 单 Linux 二进制部署(守一 B45/B46 一键启停无失效,最简部署)
6. ✅ Calls 插件(B69/B70 P1 视频+屏共 CE 含)
致命缺陷
1. ⚠️ AGPL-3.0 源码协议:如果守一/乙方 fork 源码改动,分发时必须开源修改。这对"品牌改造+乙方独立部署"是大坑
2. ⚠️ HPNS 推送付费:自托管 TPNS 不推荐生产
3. ⚠️ read receipt 是 Enterprise:B13 已读/未读 P1 需付费
4. ⚠️ 无原生中文产品:i18n 翻译有但国内本地化弱于 TSDD
5. ⚠️ 朋友圈完全无:与 Rocket/TSDD 一样需自研
权重设计(基于守一场景):功能完整度 30% + 二开成本 25% + 协议宽松 15% + 文档社区 10% + 性能扩展 10% + 长期维护 10%
| 评分维度 | 权重 | Rocket.Chat | TangSengDaoDao | Mattermost |
|---|---|---|---|---|
| 功能完整度(B 类 P0 满足率) | 30% | 8.6 | 9.2 | 9.2 |
| 二次开发成本(越低分越高) | 25% | 5.0(Community 锁多+法务) | 8.0(纯工程) | 6.5(AGPL 风险) |
| 协议宽松度 | 15% | 6.0(MIT core+ee proprietary+Community 限制) | 10(Apache 2.0 全开) | 7.0(编译版 MIT,fork 后 AGPL) |
| 文档与社区 | 10% | 9.5 | 7.0(中文文档强,海外社区弱) | 9.5 |
| 性能与扩展性 | 10% | 6.5(Meteor 老) | 9.0(WuKongIM 8 年沉淀) | 9.0(Go 后端) |
| 长期维护风险 | 10% | 9.0(11 年老牌) | 7.5(小厂但 8 年迭代) | 9.0(10 年老牌) |
加权总分计算:
- Rocket.Chat:0.3×8.6 + 0.25×5.0 + 0.15×6.0 + 0.1×9.5 + 0.1×6.5 + 0.1×9.0 = 2.58 + 1.25 + 0.90 + 0.95 + 0.65 + 0.90 = 7.23
- TangSengDaoDao:0.3×9.2 + 0.25×8.0 + 0.15×10 + 0.1×7.0 + 0.1×9.0 + 0.1×7.5 = 2.76 + 2.00 + 1.50 + 0.70 + 0.90 + 0.75 = 8.61
- Mattermost:0.3×9.2 + 0.25×6.5 + 0.15×7.0 + 0.1×9.5 + 0.1×9.0 + 0.1×9.0 = 2.76 + 1.625 + 1.05 + 0.95 + 0.90 + 0.90 = 8.20
推荐:TangSengDaoDao
- Apache 2.0 完全免费,无任何用户上限/功能锁
- Rocket Community 100 人上限+10k 推送会卡到付费墙
- Mattermost 编译版 MIT 也可零成本,但 read receipt 等小功能仍是 EE-only
推荐:TangSengDaoDao(短期)+ Synapse/Matrix(长期协议级)
- TSDD 通过 WuKongIM 集群+webhook 桥接,工作量 2-3 周可实现"乙方独立部署+甲方互联"
- Rocket Community 完全无联邦(要 Enterprise)
- Mattermost 同样无原生联邦,要 Matterbridge 桥接
- 如果守一极度看重协议级联邦(不是桥接),唯一选择是 Synapse/Matrix(30 款排名第 7),但 AGPL+无朋友圈+客户端要借 Element
推荐:无候选可满足,必须二开
- TSDD 开源版无朋友圈(30 款调研总览此处有误,本次实证修正)
- Rocket/Mattermost 同样无原生朋友圈
- 唯一捷径:购买 TangSengDaoDao 商业版(朋友圈模块作为订阅功能)→ 但价格未公开,需联系上海新比达
- 如果非要零工作量,备选是 Movim(30 款排名第 14,AGPL+XMPP,原生 blog/feed,但仅 Web 端,移动/桌面缺失)
推荐:Mattermost
- 36.9k Star + 10 年老牌 + Go 后端 + 单二进制部署 + System Console 完善
- Calls 插件含视频/屏共
- AGPL 是法务问题,不是稳定性问题
- Rocket 老牌但 MongoDB 沉重+Meteor 框架老
- TSDD 性能强但 3.5k Star 在国际"企业级"语境下稍弱
推荐:TangSengDaoDao(无悬念)
- 上海新比达网络科技有限公司是法人主体,团队全中文沟通
- 原生中文产品(不是翻译来的)
- 国内 6 路推送(小米/华为/Vivo/Oppo + Firebase + APNs)原生集成
- Rocket/Mattermost 都是欧美产品,国内本地化弱
首选方案:TangSengDaoDao(加权 8.61)
- 完全 Apache 2.0 无任何协议障碍
- 国内推送+中文+robot 流式接口完美契合 OpenClaw 集成
- 真人/Bot 分区架构天然契合守一 #4 要求
- 关键妥协:朋友圈要从零自研 6-8 周(与 Rocket/Mattermost 同等工作量)
备选方案:Mattermost(加权 8.20)
- 适用场景:守一确认不会 fork 修改源码(只用官方编译版 + Plugin 扩展)→ AGPL 不触发,法务零风险
- 优势:is_bot 内建 + Calls 含视频 + System Console 强 + 单二进制部署最简
- 风险:朋友圈/品牌深度定制如果要 fork,AGPL 触发
降级方案:Rocket.Chat(加权 7.23)
- 仅当守一愿意购买 Enterprise(年费数万至数十万 USD 解决 RBAC/Whitelabel/Federation/推送限额)
- 或愿意接受 Community 100 用户上限 + 基础 Logo 替换的妥协(与守一"开首单现金流紧"冲突)
| 证据 | 来源路径 | 结论 |
|---|---|---|
TSDD modules/ 16 个目录无 moment |
/tmp/tsdaodao-check/modules/(git clone 验证) |
TSDD 朋友圈不在开源版 |
TSDD moment.publish/moment.delete 事件常量 |
modules/base/event/api.go |
服务端已留钩子待商业版接入 |
TSDD TypeMoment/TypeMomentCover 文件类型 |
modules/file/const.go |
文件层已预留朋友圈相关存储类型 |
TSDD SQL 注册 app_module='moment','朋友圈模块' |
modules/common/sql/common-20230203-01.sql |
数据库 schema 已注册朋友圈模块 |
| TSDD Web/Android 客户端无朋友圈 UI | tsdaodao-web/packages/* + tsdaodao-android/wkuikit/ 仅有 i18n 字符串与权限描述 |
客户端开源版无朋友圈 UI |
TSDD Robot streamStart/streamEnd API |
modules/robot/api.go |
LLM 流式 Bot 天然支持 |
| TSDD 推送 6 路 | modules/webhook/push_*.go(apns/firebase/mi/vivo/oppo/hms) |
国内移动推送全栈 |
| Rocket.Chat Community 限制(100 人/10k push/无自定义 role/无 whitelabel/无 federation) | docs.rocket.chat/our-plans 官方页面 + g2.com 定价分析 |
Community 商用门槛高 |
| Mattermost LICENSE.txt | github.com/mattermost/mattermost/blob/master/LICENSE.txt |
编译版 MIT,源码 AGPL-3.0 |
文件位置
- 本对标报告:/tmp/tailchat-ima/Top3对标分析.md
- 决策表:/tmp/tailchat-ima/Top3选型决策.md
- B 类清单:/tmp/tailchat-ima/功能盘点清单_B类_目标功能.md
- A 类清单:/tmp/tailchat-ima/功能盘点清单_A类_秀秀现有功能.md
- 30 款调研:/tmp/tailchat-ima/30款源码调研报告.md