编制日期:2026-05-31
调研对象:Mattermost v11.8.0(github.com/mattermost/mattermost)
数据源:本地 git clone 实证(/tmp/mattermost-src/,13358 文件,2026-05-31 master)+ docs.mattermost.com + developers.mattermost.com + mattermost.com/pricing/ + LICENSE.txt + server/Makefile + 既有 Top3对标分析.md
用途:作为秀秀 3.0 候选选型 #2 的完整对标依据
单元格表示法:✅ 完整支持 / 🟡 部分支持 / ❌ 不支持 / ⚠️ 受协议或商业版限制
| 项 | 值 |
|---|---|
| GitHub 主仓 | mattermost/mattermost |
| 最新版本(源码 master) | v11.8.0(CurrentVersion,文件 server/public/model/version.go:14) |
| Star / Fork | 36.9k / 8.6k |
| 主语言 | Go 40%(server)+ TypeScript 49%(webapp) |
| 数据库 | PostgreSQL(默认)/ MySQL(已弃用支持) |
| 通信层 | 自研 Go + WebSocket,无第三方依赖 |
| 五端覆盖 | Web / Win / macOS / Linux(Electron 桌面三端)/ Android RN / iOS RN |
| 部署方式 | 单 Linux 二进制(最简)+ Docker / K8s Helm / Omnibus / Ubuntu/Debian/RHEL 包 |
| 协议(编译版) | MIT(server/build/MIT-COMPILED-LICENSE.md)—— 每月 16 号官方发布 binary |
| 协议(源码) | AGPL-3.0 OR Commercial(LICENSE.txt,二选一) |
| 协议(Admin Tools/i18n/templates/webapp) | Apache-2.0(明确豁免) |
| 协议(enterprise/ 目录) | Mattermost Source Available License(需付费 E20 订阅,等同 BUSL,LICENSE.enterprise) |
| 编译标签 | enterprise(需 peer mattermost/enterprise repo)/ sourceavailable(dev 默认) |
| 最新预打包插件 | Calls v1.11.5, Boards v9.2.5, Playbooks v2.9.0, AI Agents v2.0.3, GitHub v2.7.1, GitLab v1.12.2, Jira v4.7.0, Zoom v1.13.0, MS Teams Meetings, MS Calendar, ServiceNow, User Survey, Metrics, Channel Export(server/Makefile,全部为 MIT 编译版) |
| i18n 语言数 | 55(含 zh-CN、zh-TW,server/i18n/) |
| 序号 | 秀秀现有功能 | 稳定性 | Mattermost 支持情况 | 证据 | 备注 |
|---|---|---|---|---|---|
| A01 | 文字消息发送 | 稳定 | ✅ 原生 | server/channels/app/post.go |
标配 |
| A02 | 私信(DM/Converse) | 稳定 | ✅ Direct Message | DM 频道类型 D,1:1 / Group DM 都支持 |
标配 |
| A03 | @提及(含修复版) | 较稳定 | ✅ 原生且更强 | webapp/channels/src/components/at_mention/ |
含 @here/@channel/@all/@group |
| A04 | 消息回复/引用 | 稳定 | ✅ 原生 thread(CRT) | ThreadAutoFollow、post.RootId |
标配 |
| A05 | 消息右键菜单 | 稳定 | ✅ 原生 message actions | webapp post action menu | 含 reply/copy/save/pin 等 |
| A06 | 消息搜索 | 较稳定 | ✅ 原生 + ES Plugin | new_search/、search_results/ |
比秀秀强;Elasticsearch 走 EE |
| A07 | Markdown 渲染(GFM/表格/代码块) | 稳定 | ✅ 原生 GFM + 代码高亮 | webapp markdown | 标配 |
| A08 | 消息多选 | 较稳定 | ✅ 原生 forward/select | forward_post_modal/ |
强于秀秀自研 |
| A09 | 消息转发 | 较稳定 | ✅ 原生 forward | forward_post_modal/ |
强于秀秀 |
| A10 | 消息置顶 | 较稳定 | ✅ 原生 pinned posts | post pin action | 强于秀秀 |
| A11 | 消息撤回 | 稳定 | ✅ 原生 delete post | post delete | 标配 |
| A12 | 消息截断扩展(字符限制) | 稳定 | ✅ 16383 字符 | 文档 product-limits | 高于秀秀 10–20k 字符,无需自研 |
| A13 | typing 状态 | 较稳定 | ✅ 原生 typing | msg_typing/ |
标配 |
| A14 | 桌面通知 | 失效 | ✅ 原生(Web Notification/Electron) | notification_box/ |
比秀秀好——Mattermost 开箱即用 |
| A15 | 移动端推送 | 失效 | 🟡 自托管 TPNS 不推荐 + HPNS 付费 | 文档 push-notifications | ⚠️ 默认 HPNS 是付费服务 |
| A16 | 群组双层结构(Team→Channel) | 稳定 | ✅ Team→Channel 双层(无 category 第三层) | Team/Channel 模型 | 与秀秀同构 |
| A17 | 群主/管理员/普通成员角色 | 稳定 | ✅ system_admin/team_admin/channel_admin/user | RBAC 内建 | 更细 |
| A18 | 频道分类/分组(拖拽分组) | 稳定 | ✅ Sidebar Categories | category_modal/ |
标配 |
| A19 | 邀请系统 | 较稳定 | ✅ Invite link + email + 加入码 | invite system | 标配 |
| A20 | 群公告 | 失效 | ✅ Channel Header + Channel Purpose + 全局 Announcement Banner | announcement_bar/ |
比秀秀好 |
| A21 | 多人会话 + Bot 创建多人会话 | 失效 | ✅ Group Message + Bot API 创建 | bot accounts | 比秀秀好 |
| A22 | 好友系统(昵称#discriminator) | 稳定 | 🟡 username(全局唯一)+ display name,无 discriminator | user 模型 | 秀秀 schema 不同;移植要做 username 唯一性改造 |
| A23 | 联系人置顶 | 较稳定 | ✅ Direct Messages favorites + Sidebar Categories 自定义 | sidebar | 等价 |
| A24 | Bot 原生支持(OpenAPI 创建) | 失效 | ✅ Bot Account 内建(is_bot 字段硬区分) |
server/channels/app/bot.go |
Mattermost 优势 |
| A25 | Bot 鉴权(appId+appSecret+JWT) | 失效 | ✅ Bot Token + Personal Access Token + OAuth2 | Bot Token system | 等价 |
| A26 | Bot 与 OpenClaw Socket.IO 连接 | 失效 | ✅ WebSocket API(mmbot/wsapi) | server/channels/wsapi/ |
自研 WS 协议,需 OpenClaw 适配 |
| A27 | Bot 加群授权(addBotUser) | 失效 | ✅ Bot 自动加入 team/channel API | bot API | 等价 |
| A28 | Bot 响应策略四档 | 失效 | 🟡 需 Plugin 拦截实现 | Plugin hooks | 自研 Plugin 0.5–1 周 |
| A29 | Bot 主人权限管理 | 失效 | ✅ Bot owner field + creator_id | bot model | 等价 |
| A30 | Bot 个性化 SOUL.md | 失效 | 🟡 Plugin KV Store + Bot description | Plugin KV | 接口约束清晰,需 1 周适配 |
| A31 | 批量创建 Bot | 失效 | ✅ Bot API + mmctl 批量 | mmctl bot create | 等价 |
| A32 | Bot 自动建群执行会议 | 失效 | ✅ Bot API 创建 channel + Plugin hook | bot + plugin | 等价 |
| A33 | 文转播客 Bot 发送音频(BBCode) | 失效 | 🟡 文件 attachment 原生 + Markdown 嵌入(无 BBCode) | file_info | BBCode 改造或客户端层渲染 |
| A34 | 文件发送(MinIO 存储) | 稳定 | ✅ S3/MinIO/本地 三选一 | FileSettings.AmazonS3* |
比秀秀更灵活 |
| A35 | 图片发送 | 稳定 | ✅ 原生 + 自动缩略图 | file preview | 标配 |
| A36 | 文档发布 | 较稳定 | ✅ 文件上传 + PDF 在线预览 | file viewer | 等价 |
| A37 | MP3 音频文件发布 | 较稳定 | ✅ audio file preview | audio_video_preview/ |
等价 |
| A38 | 实时语音通话(LiveKit) | 失效 | ✅ Calls Plugin 内建 1:1 音频(CE/Free 含);群组通话 Professional 起 | 预打包 mattermost-plugin-calls-v1.11.5 |
比秀秀好——开箱即用 1:1 |
| A39 | 视频/屏幕共享(LiveKit) | 失效 | ✅ Calls Plugin(含屏共,Professional/Enterprise) | 同上 | 群组 50 路上限 |
| A40 | Whisper 语音转文字 | 较稳定 | ❌ 无原生;可由 AI Agents Plugin 接入 | mattermost-plugin-agents-v2.0.3 | 需 Plugin 自接 |
| A41 | Web 端 | 稳定 | ✅ React 原生 | webapp/channels/ |
等价 |
| A42 | Windows 桌面端 | 较稳定 | ✅ 官方 Electron 桌面端 | mattermost-desktop 仓库 | 等价 |
| A43 | 移动端 Android RN | 较稳定 | ✅ React Native | mattermost-mobile 仓库 | 等价 |
| A44 | 手机端回车=换行 | 较稳定 | 🟡 Settings 可改 send-on-enter,缺细粒度 | mobile settings | 等价 |
| A45 | Windows 右键复制 | 较稳定 | ✅ Electron 原生 | desktop app | 等价 |
| A46 | Windows 输入草稿不丢失 | 较稳定 | 🟡 本地草稿(无云端同步) | drafts/ 组件 |
Mattermost 劣势:守一已自研 |
| A47 | 对话宽度优化 | 较稳定 | ✅ 自适应 + Compact Mode | display settings | 等价 |
| A48 | 暗色/亮色主题切换 | 稳定 | ✅ 5 套预设 + 完全自定义 | theme picker | 强于秀秀 |
| A49 | PWA 添加到主屏幕 | 稳定 | ✅ Web manifest | webapp | 等价 |
| A50 | IAM RBAC 角色权限系统 | 失效 | ✅ 内建 RBAC + Custom Roles(CE 含基础;高级 attribute-based access control 是 Enterprise Advanced) | role 系统 | 比秀秀好——开箱即用 |
| A51 | 注册首个用户自动管理员 | 稳定 | ✅ 同样行为 | first-user-admin | 等价 |
| A52 | HTTPS + Let's Encrypt | 稳定 | ✅ 内建 ACME 或反代 | service settings TLS | 等价 |
| A53 | Nginx 反向代理 + WS | 稳定 | ✅ 官方文档示例 | deploy docs | 等价 |
| A54 | Docker Compose 一键部署 | 较稳定 | ✅ 单 Linux 二进制最简 + Docker Compose 都有 | server/docker-compose.yaml | 比秀秀好——无失效容器 |
| A55 | 镜像同步机制 | 较稳定 | 🟡 需自行设计(无官方等价物) | — | 改造为 image registry mirror 1 周 |
| A56 | OpenAPI OIDC Provider | 失效 | ✅ 内建 OAuth2 Provider + 可对接外部 OIDC | OAuth2 server | 等价 |
| A57 | Admin 后台 UI | 失效 | ✅ System Console 极完整(用户/角色/统计/审计/插件全在线管理) | webapp/channels/src/components/admin_console/ |
Mattermost 杀手级优势 |
| A58 | i18n(zh-CN + en-US) | 稳定 | ✅ 55 种语言(含 zh-CN/zh-TW) | server/i18n/ 55 个 json |
比秀秀强 27 倍 |
| Mattermost 支持度 | 数量 | 占比 |
|---|---|---|
| ✅ 完整支持 | 49 | 84.5% |
| 🟡 部分支持/需适配 | 8 | 13.8% |
| ❌ 不支持 | 1 | 1.7%(A40 Whisper STT,需自接) |
A 类继承率:49 / 58 = 84.5%(完全继承)+ 13.8%(部分继承)= 98.3%
特别说明:秀秀 31% 失效(18/58)的功能(Bot/Admin/插件 整块),Mattermost 全部开箱即用。
二开难度分级:低(≤1 周 / Plugin 配置或客户端 patch)/ 中(1–4 周 / Plugin 新模块)/ 高(≥4 周 / 源码层改动或全新业务模块)
二开工时按 1 人/天计
| 序号 | 目标功能 | 优先级 | Mattermost 支持情况 | 证据 | 二开难度 | 二开工时 |
|---|---|---|---|---|---|---|
| B01 | 文字消息收发(Markdown) | P0 | ✅ 原生 GFM | webapp markdown | 0 | 0 |
| B02 | @提及含 @everyone/@角色 | P0 | ✅ @everyone/@channel/@here + Group Mention(团队角色) | at_mention | 0 | 0 |
| B03 | 消息回复/引用 | P0 | ✅ CRT threads | thread_popout | 0 | 0 |
| B04 | 消息转发(单/多条) | P0 | ✅ Forward 原生 | forward_post_modal | 0 | 0 |
| B05 | 消息多选 | P0 | ✅ 原生 | forward modal 自带 | 0 | 0 |
| B06 | 消息置顶 | P0 | ✅ 原生 | pinned | 0 | 0 |
| B07 | 消息撤回 | P0 | ✅ delete post | post delete | 0 | 0 |
| B08 | 消息编辑 | P1 | ✅ 原生 | edit post | 0 | 0 |
| B09 | 群发(@everyone/@角色 广播) | P0 | ✅ @everyone + Group Mention + announcement banner | mention 系统 | 0 | 0 |
模块 1 小计:9/9 ✅ —— 0 人天二开
| 序号 | 目标功能 | 优先级 | Mattermost 支持情况 | 证据 | 二开难度 | 二开工时 |
|---|---|---|---|---|---|---|
| B10 | 消息搜索 | P0 | ✅ 内置 + Elasticsearch(EE) | new_search/ | 0 | 0 |
| B11 | 表情反应 + 自定义 emoji | P1 | ✅ 原生 reaction + custom emoji | reaction.go + emoji.go | 0 | 0 |
| B12 | typing 状态 | P1 | ✅ 原生 | msg_typing | 0 | 0 |
| B13 | 已读/未读状态 | P1 | ⚠️ Read Receipts 是 Enterprise | EE 配置 | 中 | 5–10 |
| B14 | 草稿保存(本地+云端) | P0 | 🟡 本地草稿;云端 drafts API 11.x 起完善 | drafts/ + scheduled_post | 低 | 2–3 |
| B15 | 富文本/Markdown | P0 | ✅ 原生 | webapp markdown | 0 | 0 |
| B16 | 代码块语法高亮 | P1 | ✅ Highlight.js | code blocks | 0 | 0 |
| B17 | 链接预览(OG 卡片) | P2 | ✅ 原生 OG metadata + image proxy | post_metadata.go | 0 | 0 |
模块 2 小计:7/8 ✅ + 1 EE 锁定 —— 小计 5–13 人天
| 序号 | 目标功能 | 优先级 | Mattermost 支持情况 | 证据 | 二开难度 | 二开工时 |
|---|---|---|---|---|---|---|
| B18 | 群组双层结构 | P0 | ✅ Team→Channel | Team/Channel | 0 | 0 |
| B19 | 频道分类/拖拽 | P1 | ✅ Sidebar Categories | category | 0 | 0 |
| B20 | 群成员管理 | P0 | ✅ 原生 | members modal | 0 | 0 |
| B21 | 完整 RBAC(不依赖插件) | P0 | ✅ CE 含 system/team/channel admin/user 四级 + Free 含基础;细粒度 ABAC 是 Enterprise Advanced | 内建 role 系统 | 0 | 0 |
| B22 | 群公告 | P0 | ✅ Channel Header + global announcement | announcement_bar | 0 | 0 |
| B23 | 邀请链接 | P0 | ✅ Invite link + email | invite system | 0 | 0 |
| B24 | 多人会话/讨论组 | P0 | ✅ Group Message + Private Channel | GM/private channel | 0 | 0 |
模块 3 小计:7/7 ✅ —— 0 人天
| 序号 | 目标功能 | 优先级 | Mattermost 支持情况 | 证据 | 二开难度 | 二开工时 |
|---|---|---|---|---|---|---|
| B25 | 用户类型字段(真人/Bot 二态) | P0 | ✅ is_bot=true 硬区分 |
server/channels/app/bot.go | 0 | 0 |
| B26 | 真人只能在真人区发布 | P0 | 🟡 需 Plugin MessageWillBePosted hook 拦截 | Plugin Hooks | 低 | 2–3 |
| B27 | Bot 只能在 Bot 区发布 | P0 | 🟡 同上 | Plugin Hooks | 低 | 2–3 |
| B28 | 真人秀双信息流标签切换 | P0 | ❌ 需自研前端 + WebAppPlugin | webapp plugin | 中 | 5–10 |
| B29 | Bot 朋友圈不混入真人秀 | P0 | ❌ 朋友圈本身缺,需先建朋友圈 | 见模块 5 | — | — |
| B30 | 用户类型 API 过滤 | P0 | ✅ User API is_bot 字段直接过滤 |
user API | 0 | 0 |
模块 4 小计:3/6 ✅ + 3 自研 —— 小计 9–16 人天(不计朋友圈)
| 序号 | 目标功能 | 优先级 | Mattermost 支持情况 | 证据 | 二开难度 | 二开工时 |
|---|---|---|---|---|---|---|
| B31 | 朋友圈发布(图文/视频/链接) | P0 | ❌ 完全无 | — | 高 | 20–30 |
| B32 | 朋友圈点赞/评论 | P0 | ❌ 完全无 | — | 高 | 15–20 |
| B33 | 双信息流过滤 | P0 | ❌ 与 B28 配套 | — | 中 | 5–10 |
| B34 | 内容审核 hook | P1 | 🟡 Plugin MessageWillBePosted hook | Plugin SDK | 低 | 2–3 |
| B35 | 跨乙方实例朋友圈可见性 | P1 | ❌ 与 B49 联邦配套 | — | 高 | 10–15 |
模块 5 小计:0/3 P0,全自研 —— 小计 52–78 人天(约 2–3 人月)
| 序号 | 目标功能 | 优先级 | Mattermost 支持情况 | 证据 | 二开难度 | 二开工时 |
|---|---|---|---|---|---|---|
| B36 | Bot 原生支持 | P0 | ✅ Bot Account 内建 + Plugin 框架最成熟 | bot.go + Plugin SDK | 0 | 0 |
| B37 | OpenAPI 完整文档化 | P0 | ✅ 完整 OpenAPI(api/v4) | developers.mattermost.com | 0 | 0 |
| B38 | Bot 鉴权 | P0 | ✅ Bot Token + Personal Access Token | bot token | 0 | 0 |
| B39 | Webhook 支持 | P0 | ✅ Incoming/Outgoing Webhook | webhook.go | 0 | 0 |
| B40 | WebSocket 长连接 | P0 | ✅ WebSocket API | wsapi/ | 0 | 0 |
| B41 | Bot 多账号并发 20+ | P1 | ✅ 无上限 | bot accounts | 0 | 0 |
| B42 | Bot 加群授权 | P0 | ✅ Bot 自动加入 channel API | bot API | 0 | 0 |
| B43 | Bot 自动建群+执行 | P1 | ✅ Bot API + Slash Command + Interactive Dialog | slashcommands/ | 0 | 0 |
| B44 | Bot SOUL/Prompt 注入 | P1 | 🟡 Plugin KV Store + bot.description | Plugin KV | 低 | 2–3 |
模块 6 小计:8/9 ✅ + 1 适配 —— 小计 2–3 人天
| 序号 | 目标功能 | 优先级 | Mattermost 支持情况 | 证据 | 二开难度 | 二开工时 |
|---|---|---|---|---|---|---|
| B45 | 一键独立部署 | P0 | ✅ 单 Linux 二进制最简 + Docker + K8s Helm + Omnibus | 4 种部署方案 | 0 | 0 |
| B46 | 完整启停(无失效容器) | P0 | ✅ 单二进制根本不会失效 | server/Makefile | 0 | 0 |
| B47 | 数据私有化存储 | P0 | ✅ PostgreSQL/MinIO/S3 自托管 | config | 0 | 0 |
| B48 | 多实例部署 | P0 | ✅ Cluster HA 是 Enterprise;多实例独立部署 CE 含 | HA cluster | 0 | 0 |
| B49 | 跨实例通信(联邦/中继) | P0 | 🟡 Connected Workspaces (Shared Channels) 是 Entry/Enterprise 付费;Free CE 无;Matterbridge 可桥接异构 IM 但非协议级 | docs/onboard/connected-workspaces | 高 | 20–30 |
| B50 | 乙方自主授权账号/Bot 接入公网 | P0 | ✅ OAuth2 Provider + Bot Token | OAuth2 | 0 | 0 |
| B51 | HTTPS + SSL | P0 | ✅ 内建 ACME 或反代 | service settings | 0 | 0 |
| B52 | 资源占用合理(<4G) | P1 | ✅ 2G 起步(Go 后端,无 Node 重) | docs | 0 | 0 |
模块 7 小计:7/8 ✅ + B49 自研 —— 小计 20–30 人天
| 序号 | 目标功能 | 优先级 | Mattermost 支持情况 | 证据 | 二开难度 | 二开工时 |
|---|---|---|---|---|---|---|
| B53 | Web 端 | P0 | ✅ React 原生 | webapp/channels | 0 | 0 |
| B54 | Windows 桌面端 + 右键复制 + 草稿 | P0 | ✅ Electron 桌面端;草稿仅本地 | mattermost-desktop | 低 | 2–3(云端草稿) |
| B55 | macOS 桌面端 | P0 | ✅ Electron + 公证签名 | desktop releases | 0 | 0 |
| B56 | Android 移动端 | P0 | ✅ React Native | mattermost-mobile | 0 | 0 |
| B57 | iOS 移动端 | P0 | ✅ React Native | mattermost-mobile | 0 | 0 |
| B58 | 手机端体验 ≥ Discord | P0 | 🟡 RN 性能 ≈ Discord,但守一独特要求需 patch | mobile app | 中 | 10–15(手感深度优化) |
模块 8 小计:5/6 ✅ + 2 适配 —— 小计 12–18 人天
| 序号 | 目标功能 | 优先级 | Mattermost 支持情况 | 证据 | 二开难度 | 二开工时 |
|---|---|---|---|---|---|---|
| B59 | 手机端回车=换行 | P1 | 🟡 Settings 可改 send-on-enter | mobile settings | 低 | 1 |
| B60 | Windows 右键完整 | P0 | ✅ Electron 原生 | desktop | 0 | 0 |
| B61 | 输入草稿刷新不丢 | P0 | 🟡 本地 only,云端草稿是 11.x scheduled-post 副产品 | drafts | 低 | 2–3 |
| B62 | 对话宽度自适应 | P1 | ✅ Compact mode + 响应式 | display settings | 0 | 0 |
| B63 | 联系人置顶 | P1 | ✅ Sidebar Categories + Favorites | sidebar | 0 | 0 |
模块 9 小计:3/5 ✅ + 2 适配 —— 小计 3–4 人天
| 序号 | 目标功能 | 优先级 | Mattermost 支持情况 | 证据 | 二开难度 | 二开工时 |
|---|---|---|---|---|---|---|
| B64 | 文件 ≥ 50MB | P0 | ✅ 默认 100MB,可调 | file settings | 0 | 0 |
| B65 | 图片发送 | P0 | ✅ 原生 + 自动缩略 | file preview | 0 | 0 |
| B66 | 在线打开文档 | P0 | 🟡 PDF/图片/视频/音频内置;Office 需对接 Collabora/OnlyOffice 插件 | file viewer | 低 | 3–5 |
| B67 | MP3 音频文件发布 | P0 | ✅ audio preview | audio_video_preview | 0 | 0 |
| B68 | 语音消息(短语音) | P0 | ✅ Voice Messages 内建(11.x,feature flag) | webapp/channels/src/components/voice_message |
0 | 0 |
| B69 | 实时语音通话 | P1 | ✅ Calls Plugin 1:1(Free/Entry);50 人群组(Professional 起) | mattermost-plugin-calls-v1.11.5 | 0 | 0 |
| B70 | 视频/屏幕共享 | P1 | ✅ Calls Plugin 含屏共 | 同上 | 0 | 0 |
模块 10 小计:7/7 ✅ + 1 适配 —— 小计 3–5 人天
| 序号 | 目标功能 | 优先级 | Mattermost 支持情况 | 证据 | 二开难度 | 二开工时 |
|---|---|---|---|---|---|---|
| B71 | 完整品牌定制 | P0 | ✅ Custom Branding(Logo/欢迎页/CSS/主题色 CE 含);商标使用需 Mattermost 书面同意(Trademark Standards) | docs custom-branding | 低 | 5–8(含商标剥离) |
| B72 | 安装包重新打包(五端) | P0 | ✅ 编译版 MIT 允许重打包;商标必须替换为自有品牌;源码 fork 重编触发 AGPL | LICENSE.txt + Trademark Guidelines | 中 | 10–15 |
| B73 | 运行时配置 | P1 | ✅ System Console 可改 | admin_console | 0 | 0 |
| B74 | 多语言扩展能力 | P1 | ✅ 55 种语言,i18n 完全可扩展 | server/i18n/ | 0 | 0 |
模块 11 小计:4/4 ✅ + 2 商标/法律剥离 —— 小计 15–23 人天
| 序号 | 目标功能 | 优先级 | Mattermost 支持情况 | 证据 | 二开难度 | 二开工时 |
|---|---|---|---|---|---|---|
| B75 | 近 3 月活跃 commit | P0 | ✅ 每日 commit,最新 2026-05-31 | git log | 0 | 0 |
| B76 | 文档+社区+Bug 少 | P0 | ✅ 文档极完整,36.9k Star + 10 年老牌 | repo metrics | 0 | 0 |
| B77 | 协议宽松 | P0 | ⚠️ 编译版 MIT;源码 AGPL-3.0;fork 重编需公开修改源码 | LICENSE.txt | — | 见第八节 |
| B78 | 商用允许 | P0 | ✅ 编译版 MIT 无限制;源码改动选 AGPL(开源)或商业 license | LICENSE.txt | — | 见第八节 |
模块 12 小计:2 ✅ + 2 协议风险 —— 法务咨询 0.5–1 周
| 序号 | 目标功能 | 优先级 | Mattermost 支持情况 | 证据 | 二开难度 | 二开工时 |
|---|---|---|---|---|---|---|
| B79 | 桌面快捷方式(点击直进对话) | P1 | 🟡 Electron protocol handler + Deep Link(已有 mattermost:// 协议) | mattermost-desktop | 低 | 2–3 |
| 序号 | 目标功能 | 优先级 | Mattermost 支持情况 | 证据 | 二开难度 | 二开工时 |
|---|---|---|---|---|---|---|
| B80 | 桌面通知 | P0 | ✅ 原生 Web Notification + Electron | notification_box | 0 | 0 |
| B81 | 移动端推送(APNs/FCM/小米/华为/getui) | P0 | 🟡 HPNS 是付费 SaaS(Mattermost Hosted Push);自托管 TPNS 不推荐生产;国内 6 路推送(小米/华为/Vivo/Oppo)需 fork mobile 客户端 | docs push-notifications | 高 | 15–20(自建 PNS) |
| B82 | 离线消息/历史拉取 | P0 | ✅ 原生(持久消息 + 无限滚动) | post history | 0 | 0 |
| B83 | 好友请求/通讯录/状态 | P0 | 🟡 在线/离线/忙碌/勿扰 + Custom Status;无微信式好友请求模型(团队成员模式) | status.go + custom_status | 低 | 3–5(如需好友模型) |
| B84 | 个人资料编辑 | P0 | ✅ 头像/昵称/职位/email/手机 + Custom Profile Attributes | user_profile + CPA | 0 | 0 |
| B85 | 多端登录同步 | P0 | ✅ 服务端中心化,所有端实时同步 | WebSocket sync | 0 | 0 |
| B86 | 主题切换 | P1 | ✅ 5 套预设 + 自定义 | theme | 0 | 0 |
| B87 | PWA 支持 | P2 | ✅ Web manifest | webapp | 0 | 0 |
| B88 | Admin 后台 UI | P0 | ✅ System Console 杀手级强(用户/角色/统计/审计/插件全在线) | admin_console/ | 0 | 0 |
| B89 | 语音转文字 | P2 | ❌ 无原生;AI Agents Plugin 可接 | mattermost-plugin-agents | 低 | 3–5(接外部 STT) |
模块 14 小计:8/10 ✅ + 2 自研 —— 小计 21–30 人天
| Mattermost 支持度 | 数量 | 占比 |
|---|---|---|
| ✅ 完整支持 | 65 | 73.0% |
| 🟡 部分支持(需 Plugin/适配) | 15 | 16.9% |
| ❌ 完全不支持(朋友圈类) | 7 | 7.9% |
| ⚠️ EE 付费/协议限制 | 2 | 2.2%(B13 read receipt、B49 Shared Channels) |
B 类满足率(含部分):80 / 89 = 89.9%
B 类 P0 满足率:54.5 / 59 = 92.4%(与 Top3 分析一致)
| 模块 | 条数 | ✅ 完整 | 🟡 部分 | ❌ 缺失 | 二开工时(人天) |
|---|---|---|---|---|---|
| 1. 消息基础 | 9 | 9 | 0 | 0 | 0 |
| 2. 消息扩展 | 8 | 6 | 2 | 0 | 5–13 |
| 3. 群组权限 | 7 | 7 | 0 | 0 | 0 |
| 4. 真人/Bot 分区 | 6 | 2 | 2 | 2 | 9–16 |
| 5. 朋友圈 | 5 | 0 | 1 | 4 | 52–78 |
| 6. Bot/OpenAPI | 9 | 8 | 1 | 0 | 2–3 |
| 7. 部署架构 | 8 | 7 | 1 | 0 | 20–30(联邦) |
| 8. 多端客户端 | 6 | 4 | 2 | 0 | 12–18 |
| 9. 客户端体验 | 5 | 3 | 2 | 0 | 3–4 |
| 10. 文件/媒体 | 7 | 6 | 1 | 0 | 3–5 |
| 11. 品牌改造 | 4 | 4 | 0 | 0 | 15–23(商标剥离) |
| 12. 稳定性+协议 | 4 | 2 | — | — | 法务 3–5 |
| 13. 待开发 | 1 | 0 | 1 | 0 | 2–3 |
| 14. 二次审核补漏 | 10 | 8 | 2 | 0 | 21–30(推送 + STT) |
| B 类合计 | 89 | 66 | 15 | 6 | 144–228 人天 |
加上 A 类继承层适配(约 5–10 人天,主要为 A22 discriminator schema 与 A33 BBCode 渲染),总二开工时约 150–240 人天 ≈ 7–11 人月(2–3 人/月排期)。
| 序号 | 功能 | 现状 | 二开方案 | 工时 |
|---|---|---|---|---|
| B13 | 已读/未读 | Enterprise 才有 | 自研 Plugin 标记或买 EE | 5–10 |
| B26 | 真人只能在真人区 | 需 Plugin 拦截 | MessageWillBePosted hook | 2–3 |
| B27 | Bot 只能在 Bot 区 | 需 Plugin 拦截 | 同上 | 2–3 |
| B28 | 真人秀双信息流 | ❌ | webapp Plugin + 新 RHS view | 5–10 |
| B31 | 朋友圈发布 | ❌ | Plugin 全栈自研 | 20–30 |
| B32 | 朋友圈点赞评论 | ❌ | Plugin + 全端 UI | 15–20 |
| B33 | 双流过滤 | ❌ | 与 B28 配套 | 5–10 |
| B49 | 跨实例联邦 | EE Shared Channels;Free 无 | Matterbridge 桥接 + 业务层定制;或买 EE | 20–30 |
| B81 | 移动端推送(国内 6 路) | HPNS 付费 | fork mobile + 自建 PNS 网关 | 15–20 |
P0 未完成合计:89–136 人天
| 序号 | 功能 | 现状 | 工时 |
|---|---|---|---|
| B14/B61 | 云端草稿 | 11.x 部分支持 | 2–3 |
| B29 | Bot 朋友圈不混入真人秀 | 与 B31 配套 | 含在 B31 中 |
| B35 | 跨实例朋友圈可见性 | ❌ | 10–15 |
| B58 | 手机端体验深度优化 | 通用 RN 性能 | 10–15 |
| B79 | 桌面快捷方式 | Deep Link 已有 | 2–3 |
P1 未完成合计:24–36 人天
| 序号 | 功能 | 现状 | 工时 |
|---|---|---|---|
| B89 / A40 | 语音转文字 | 无原生 | 3–5 |
| A33 | BBCode 渲染(播客君兼容) | Markdown only | 2–3 |
P2 未完成合计:5–8 人天
| 项 | 工作量 |
|---|---|
| AGPL fork 边界界定 | 3–5 人天 |
| Mattermost 商标剥离(强制) | 5–8 人天 |
| EE 模块剔除(如使用 sourceavailable build tag) | 2–3 人天 |
合计法务/合规:10–16 人天
is_bot 字段内建 —— 守一 B25 真人/Bot 分区天然 schema 支持,强于 Rocket.Chat roles=['bot'] 软标识,等价于 TSDD 的 Robot 表分离方案。| 维度 | 数值 |
|---|---|
| A 类继承率 | 49 / 58 = 84.5% 完全继承 + 8 部分 + 1 缺失 = 综合 98.3% |
| B 类满足率(含部分) | 80 / 89 = 89.9% |
| B 类 P0 满足率 | 54.5 / 59 = 92.4% |
| 二开总工时(B 类未完成 + A 类适配) | 150–240 人天 ≈ 7–11 人月(2–3 人/月) |
| 协议+商标剥离工时 | 10–16 人天 |
| 法务咨询工时 | 3–5 人天 |
| 总成本(不含 license) | 165–260 人天 |
| 加权评分(既有 Top3) | 8.20 / 10(次选) |
✅ 优先选 Mattermost 的 4 种场景:
is_bot 字段内建是模块 4 的最优起点。❌ 不推荐 Mattermost 的 4 种场景:
Mattermost 的协议是4 层混合结构(远比"AGPL"二字复杂):
| 层 | 范围 | 协议 | 你拿到什么权利 |
|---|---|---|---|
| A. 官方编译版 binary | mattermost.com 下载/Docker Hub mattermost/mattermost-team-edition 等官方 binary |
MIT(server/build/MIT-COMPILED-LICENSE.md) |
任意使用/复制/修改/分发/出售,无 copyleft 义务 |
| B. 源码(核心) | server/(除 enterprise/)+ webapp/(除 webapp/platform 部分) |
AGPL-3.0 或 Commercial License(二选一,LICENSE.txt) |
修改源码并分发,需公开修改后的全部源码;或买商业 license |
| C. Admin Tools / 配置文件 / i18n / templates | server/templates/, server/i18n/, server/public/, webapp/ 全部子目录 |
Apache 2.0(明确豁免) | 修改/分发无 copyleft 义务(这是 i18n 翻译、模板覆盖、主题改造的合法路径) |
D. Enterprise(server/enterprise/)+ 外部 EE repo |
enterprise/ 目录代码 |
Mattermost Source Available License(等同 BUSL,LICENSE.enterprise) |
仅有 E20 订阅且符合用户数才能生产环境使用;可改可看可测试,但不能复制/合并/发布/分发/分许可/销售。 |
LICENSE.txt 第 20–25 行的豁免承诺:
We promise that we will not enforce the copyleft provisions in AGPL v3.0 against you if your application
(a) does not link to the Mattermost Platform directly, but exclusively uses the Mattermost Admin Tools and Configuration Files, and
(b) you have not modified, added to or adapted the source code of Mattermost in a way that results in the creation of a "modified version" or "work based on" Mattermost as these terms are defined in the AGPL v3.0 license.
白话翻译:
| 你做了什么 | 是否触发 AGPL |
|---|---|
直接拿官方 binary 部署,配置 serverName/Logo/欢迎页 |
❌ 不触发(走 D 路径,Apache 2.0) |
| 改 i18n 翻译文件(增加方言/重命名"Mattermost"为"秀秀3.0") | ❌ 不触发(i18n 是 Apache 2.0) |
改 webapp themes/ 主题 |
❌ 不触发(webapp 全部是 Apache 2.0) |
| 改 templates/ 邮件模板 | ❌ 不触发(Apache 2.0) |
| 装第三方 plugin(不与 Mattermost 源码同 binary 编译) | ❌ 不触发(plugin 通过 RPC 与主进程通信,AGPL FAQ 明确"aggregation 而非 derivative work") |
| 用 Plugin SDK 写自己的 Go server plugin + webapp plugin 实现朋友圈 | ❌ 不触发(plugin 独立 binary,Plugin 自己可以选 Apache/MIT/任何协议) |
改 server/channels/app/ 核心 .go 文件后重编 binary 分发给乙方 |
✅ 触发 AGPL——必须把改动后的全部源码(含 server/)以 AGPL 公开给乙方 |
| fork 整个 repo 改完后 docker build 分发 | ✅ 触发 AGPL——同上 |
| 仅本地改源码做测试,不分发 | ❌ 不触发(AGPL 是 "convey 时"才触发;纯本地无义务) |
Mattermost Plugin 框架是协议安全区——这是给守一保留 80% 自由度的核心路径:
这是关键结论:只要全部二开走 Plugin,不动 server/channels/app/ 任何 .go 文件,分发给乙方都是"官方 MIT binary + 你的 Plugin",乙方收到的核心 binary 是 MIT,无任何 copyleft 义务;你的 Plugin 你自己定协议(甚至可以 proprietary 不开源)。
| 路径 | 操作 | 协议结果 | 风险 |
|---|---|---|---|
| 路径 ①(推荐) | 用官方 MIT binary + 你的 Plugin + 改 i18n/template/theme(这些是 Apache 2.0) | binary=MIT,Plugin=你自定,i18n/theme=Apache | ✅ 零法务风险 |
| 路径 ② | fork 源码改 server/,开源全部修改给乙方(含主源码) | 全部 AGPL-3.0 | ⚠️ 乙方必须遵守 AGPL(包括"在 SaaS 提供服务时也要开源"——Section 13 网络服务条款);你的二开 IP 完全公开 |
| 路径 ③ | fork 源码改 server/,向 Mattermost 购买 Commercial License | 私有协议 | ⚠️ 价格未公开,需要商务谈判;不公开报价历史经验 50k–500k USD/年视用户数+功能 |
路径 ① 是守一首选:所有二开需求(朋友圈/真人秀双流/BBCode 渲染/SOUL 注入/自定义品牌)都可以走 Plugin + i18n + theme,完全避开 AGPL。
| Plan | 用户限制 | 关键功能 | 价格 |
|---|---|---|---|
| Free / Team Edition (CE) | 无硬限制(实测建议 < 500 人) | Plugin/Bot/RBAC 基础/Channels/Threads/Search/i18n 全开 | 0 |
| Entry | 评估用途,有限 | 加 Calls 1:1、Shared Channels("Entry/Enterprise/Advanced only") | 联系销售 |
| Professional | ≤ 250 人! | Group Calls 50 人、Guest Accounts、Custom User Groups、AD/LDAP Sync、SAML、Data Retention、Legal Hold、eDiscovery、Playbooks | 联系销售(市面参考 ~$10/user/mo) |
| Enterprise | 50,000+ 并发 | HA Cluster、Enterprise Search (ES)、Connected Workspaces、MS Teams Integration、24/7 Support、Read Receipts | 联系销售 |
| Enterprise Advanced | 200,000 并发 | 零信任 ABAC、气隙部署、Data Spillage Prevention、Burn-on-Read、Advanced Mobile Security | 联系销售 |
对守一的实务影响:
| 风险 | 等级 | 建议法务介入 |
|---|---|---|
| R1. 路径选择:你要走路径 ①(Plugin only)还是路径 ②(fork 源码)? | 🔴 高 | 必查——这决定了乙方是否会接到 AGPL 义务 |
| R2. AGPL Section 13(SaaS 触发条款):如果乙方把 Mattermost 改造后做 SaaS 给终端用户,AGPL 网络服务条款要求必须提供修改后源码下载入口。 | 🔴 高 | 必查——可能需要在乙方 SaaS UI 加"获取源码"链接 |
| R3. Mattermost 商标剥离:LICENSE.txt 明确"Mattermost 商标使用须 Mattermost 书面同意"。秀秀 3.0 必须彻底剥离"Mattermost"字样(产品名、Logo、邮件签名、Mobile/Desktop 安装包元信息),不能保留任何残留 brand。 | 🔴 高 | 必查——商标侵权风险 |
| R4. Plugin 二次分发协议链:你的 Plugin 用什么协议?给乙方的 Plugin 可以闭源吗? | 🟡 中 | 自由选择,建议明确写在 SOW |
R5. EE 模块意外引入:build tag sourceavailable 是 dev 默认开启的,如果你不小心带着 sourceavailable=true 编译 binary 分发,会触发 Mattermost Source Available License 的"生产环境需 E20 订阅"条款。 |
🔴 高 | 必查——build 流程必须显式 BUILD_NUMBER=production(非 dev) |
| R6. Calls Plugin 引入 LiveKit/RTCD:Calls Plugin 编译版 MIT,但其依赖的 RTCD/LiveKit 是 Apache 2.0/MIT,需在分发时附带原始 license 文件。 | 🟢 低 | NOTICE.txt 已含 |
| R7. AI Agents Plugin 用了 OpenAI/Anthropic:Plugin 自身 Apache 2.0,但外部 API 调用受外部 ToS 约束。 | 🟢 低 | 合规检查 |
| R8. 中国境内分发的额外协议:如果秀秀 3.0 + Mattermost 在中国境内提供 IM 服务,需符合《互联网信息服务管理办法》ICP 备案 + 即时通信群组信息服务管理规定。 | 🔴 高 | 必查——与 Mattermost 协议无关,但属于本项目运营合规 |
路径 ① 走 Plugin + 主题/i18n/templates 改造 = 全部用 Mattermost 官方 MIT 编译版 binary,朋友圈/真人秀双流/自定义 SOUL 全部用 Plugin 实现,i18n 翻译做品牌化,AGPL 完全不触发,给乙方分发等同分发"MIT IM 软件 + 你自家 Plugin(你自己选协议)+ Apache 2.0 主题包"。法务零风险。
路径 ②(fork 源码)则需采购 Commercial License(价格未公开、需商务谈判),否则乙方收到的代码必须按 AGPL 开源你全部修改。
强制动作:① 商标剥离必须彻底(5–8 人天);② build 必须
BUILD_NUMBER=production关闭 sourceavailable tag;③ EE 模块(enterprise/ 目录)一行代码都不能动;④ 中国境内运营走另外的 ICP/IM 备案合规链。
| 证据 | 文件路径 | 结论 |
|---|---|---|
| 版本号 11.8.0 | /tmp/mattermost-src/server/public/model/version.go:14 |
最新 master 版本 |
| 编译版 MIT | /tmp/mattermost-src/server/build/MIT-COMPILED-LICENSE.md |
确认 Top3 颠覆性结论"编译版 MIT" |
| 源码 AGPL-3.0 | /tmp/mattermost-src/LICENSE.txt 第 11 行 |
"GNU AGPL v3.0, subject to the exceptions" |
| Apache 2.0 豁免清单 | LICENSE.txt 第 15–17 行 |
server/templates/, server/i18n/, server/public/, webapp/ |
| AGPL 豁免承诺 | LICENSE.txt 第 20–25 行 |
不修改 Mattermost 主源码即不触发 AGPL |
| EE 协议 | LICENSE.enterprise |
Mattermost Source Available License(需 E20 订阅) |
is_bot 字段 |
server/channels/app/bot.go + agents.go + bot model |
确认真人/Bot 硬区分 |
| Calls Plugin v1.11.5 预打包 | server/Makefile PLUGIN_PACKAGES |
1:1 音频 + 屏共 + 群组通话 |
| AI Agents Plugin v2.0.3 | server/Makefile + app/agents.go |
AI bridge 内建(OpenAI/Anthropic/LiteLLM) |
| 55 种语言 | server/i18n/ 目录 ls |
含 zh-CN.json + zh-TW.json |
| Shared Channels(联邦) | server/channels/app/shared_channel.go + Connected Workspaces 文档 |
Entry/Enterprise 起步 |
| Burn-on-Read | server/channels/app/content_flagging.go + webapp/.../burn_on_read/ |
代码存在但是 Enterprise Advanced feature flag |
| 354 个 webapp 组件 | webapp/channels/src/components/ ls -1 | wc -l |
完整 webapp 模块体系 |
| 289 个 server channels/app 模块 | server/channels/app/ ls -1 | wc -l |
完整后端业务模块 |
| 关键指标 | Top3对标分析.md | 本报告 | 是否一致 |
|---|---|---|---|
| B 类 P0 满足率 | 92.4%(54.5/59) | 92.4%(54.5/59) | ✅ |
| B 类 总满足率 | 92.1%(82/89) | 89.9%(80/89) | 🟡 微调(本报告更严格区分"含部分") |
| 加权评分 | 8.20 | 8.20 | ✅ |
| 协议结论 | 编译版 MIT、源码 AGPL | 同 + 4 层结构展开 + 路径 ①②③ | ✅ 拓展深化 |
| 二开总工时 | 8–12 周(2–3 人月) | 150–240 人天 = 7–11 人月 | 🔴 本报告显著扩大——理由:Top3 仅算朋友圈+真人秀+联邦+AGPL;本报告增加品牌剥离(15–23 天)、推送自建(15–20 天)、A 类失效项的"Mattermost 这边其实是支持的,但需要适配秀秀的客户端层"5–10 天等 |
/tmp/tailchat-ima/Mattermost_对标_秀秀完整.md/tmp/tailchat-ima/功能盘点清单_A类_秀秀现有功能.md/tmp/tailchat-ima/功能盘点清单_B类_目标功能.md/tmp/tailchat-ima/30款源码调研报告.md/tmp/tailchat-ima/Top3对标分析.md/tmp/mattermost-src/(git depth=1 master,2026-05-31)