Mindwendel 介绍与选型指南
Mindwendel 技术全景选型指南:产品定位、Elixir/Phoenix LiveView 架构、功能矩阵、与 tldraw/Wekan/RisePad 等同类产品对比、社区维护状况与适用场景分析。
Mindwendel 介绍与选型指南
目标:帮助技术决策者判断 Mindwendel 是否适合作为团队协作白板/头脑风暴工具的自托管方案,覆盖产品定位、技术架构、功能全景、与同类产品对比、社区与维护状况,以及典型适用场景与选型建议。
一、产品定位
Mindwendel 是一款开源实时协作头脑风暴与白板工具,由德国下萨克森州学校质量发展研究所(NLQ)的 kits 团队开发维护。它的设计理念是"Create a challenge. Ready? Brainstorm."——围绕"提出问题→收集想法→投票排序→整理产出"这一头脑风暴全流程,提供低门槛、隐私友好、无需注册的协作白板体验。
核心定位
- 面向团队协作:多人实时编辑,便签/连线/投票/评论一体化
- 隐私友好默认:支持匿名参会、数据端到端加密附件、GDPR 合规自动清理
- 极低运维成本:单容器即可运行,仅需 PostgreSQL 一个外部依赖
- 教育场景起源:最初为德国教育场景设计,现广泛适用于企业内部协作
一句话描述
Mindwendel 是基于 Elixir + Phoenix LiveView 的轻量级实时协作白板,聚焦头脑风暴场景,以极简单部署和隐私保护为特色。
二、技术架构
Mindwendel 采用经典的 Elixir/Phoenix 技术栈,具备出色的并发处理能力和开发体验。
技术栈总览
| 层级 | 技术选型 | 说明 |
|---|---|---|
| 后端语言 | Elixir 1.18 | 基于 Erlang VM,软实时、高并发 |
| Web 框架 | Phoenix LiveView | 服务端渲染 + 实时推送,零前端 JS 框架依赖 |
| 前端渲染 | Phoenix LiveView HEEx | 服务端驱动的响应式 UI |
| 实时通信 | Phoenix WebSocket (phx-js 协议) | LiveView 专用 WebSocket 协议,支持心跳、差分推送 |
| 数据库 | PostgreSQL (必需) | 存储头脑风暴、便签、用户、标签等全部业务数据 |
| 对象存储 | S3 兼容后端(可选) | 用于便签附件的加密存储,默认推荐 rustfs |
| 加密 | Cloak (AES-GCM) | 附件加密,基于 VAULT_ENCRYPTION_KEY_BASE64 |
| 任务调度 | Oban + Cron | 后台清理过期头脑风暴、AI token 清理 |
| 容器镜像 | ghcr.io/b310-digital/mindwendel | 基于 Debian bookworm + hexpm/elixir 构建 |
| 许可协议 | AGPL-3.0 | 开源、可商用、修改后需开源 |
架构图
┌──────────────────────────────────────────────────────┐
│ 浏览器客户端 │
│ (LiveView 接入层: WebSocket phx-js 协议) │
└──────────────────────┬───────────────────────────────┘
│ WSS / WS
┌──────────────────────▼───────────────────────────────┐
│ Phoenix LiveView 应用 (4000) │
│ ┌───────────┐ ┌───────────┐ ┌───────────────────┐ │
│ │Brainstorm │ │ Idea Live│ │ Label/Lane/... │ │
│ │ Live │ │ Component│ │ LiveViews │ │
│ └─────┬─────┘ └─────┬─────┘ └────────┬──────────┘ │
│ │ │ │ │
│ ┌─────▼─────────────▼────────────────▼──────────┐ │
│ │ Mindwendel.Repo (Ecto) │ │
│ └─────────────────────┬──────────────────────────┘ │
└────────────────────────┼──────────────────────────────┘
│ TCP/5432
┌────────────────▼────────────────┐
│ PostgreSQL │
│ (mindwendel/mindwendel_prod DB) │
└──────────────────────────────────┘
┌──────────────────────────────────────────────────────┐
│ rustfs (S3 兼容对象存储,可选) │
│ └── 加密文件附件 → AES-GCM 加密后存入 │
└──────────────────────────────────────────────────────┘
与同类产品技术对比
| 产品 | 后端 | 前端 | 实时方案 | 数据库 | 部署复杂度 | 许可 |
|---|---|---|---|---|---|---|
| Mindwendel | Elixir/Phoenix | LiveView (服务端) | Phoenix WebSocket | PostgreSQL | ★★☆☆☆ 极低 | AGPL-3.0 |
| Miro (自托管替代: tldraw) | Node.js | React | Yjs/Crdt | Postgres | ★★★☆☆ 中等 | MIT |
| Wekan | Node.js | Meteor | Meteor DDP | MongoDB | ★★★★☆ 较高 | MIT |
| OpenBoard | C++/Qt | Qt | — | 内嵌 SQLite | ★★★★☆ 高 | GPL-3.0 |
| RisePad | Elixir/Phoenix | LiveView | Phoenix WebSocket | PostgreSQL | ★★☆☆☆ 低 | AGPL-3.0 |
| tldraw | Node.js | React | Yjs | — | ★★☆☆☆ 低 | MIT |
💡 技术拓展:实时协作白板的核心挑战是"多人并发编辑同一对象的一致性",业界主要有三种路线:
- Centralized OT(操作变换):以 ShareDB/ActionCable 为代表,服务端中心化协调,如 Wekan 使用的 Meteor DDP 协议
- CRDT(无冲突复制数据类型):以 Yjs / Automerge 为代表,客户端本地合并,服务端做纯中继,tldraw、RisePad 使用此路线
- 服务端渲染 + WebSocket 推送:Mindwendel 走的是第三条路——Phoenix LiveView 把 DOM 树放在服务端,客户端仅持有最小状态,每次操作由服务端做集中调度后差分推送。这种路线避免了 OT/CRDT 的复杂冲突处理逻辑,代价是所有状态必须回到服务端,不适合离线优先场景。
三、功能全景
核心功能矩阵
| 功能 | 状态 | 说明 |
|---|---|---|
| 头脑风暴创建 | ✅ 核心功能 | 匿名创建挑战题,可设可选用户名 |
| 多人实时协作 | ✅ 核心功能 | LiveView 驱动,毫秒级同步 |
| 便签/想法(Idea) | ✅ 核心功能 | 富文本、颜色、标签、连线 |
| 投票(Upvote) | ✅ 核心功能 | 每个想法可点赞/取消点赞 |
| 标签(Label) | ✅ 核心功能 | 自定义颜色标签,用于聚类/筛选 |
| 泳道(Lane) | ✅ 核心功能 | 拖拽排序想法,分栏展示 |
| 评论(Comment) | ✅ 核心功能 | 对单个想法发表评论 |
| 文件附件 | ✅ 可选功能 | S3 兼容存储 + AES-GCM 加密上传 |
| 链接预览 | ✅ 核心功能 | URL 自动提取 Open Graph 元数据 |
| AI 辅助生成 | ✅ 可选功能 | OpenAI 兼容 API,token 限流保护 |
| 导出 | ✅ 核心功能 | HTML / CSV 格式导出 |
| 自动清理 | ✅ 核心功能 | 可配置天数(默认 30 天)后自动删除过期头脑风暴 |
| 国际化 | ✅ 核心功能 | 内置德/英翻译,MW_DEFAULT_LOCALE 可切换 |
| 管理员后台 | ✅ 核心功能 | admin LiveView,管理头脑风暴与用户 |
| libcluster 集群 | ⚠️ 生产可选 | 支持 Kubernetes.DNS 拓扑做多节点 |
功能边界说明
Mindwendel 不做什么——理解边界是选型决策的关键:
- ❌ 不做完整的白板/自由画布:没有手绘、图形、便签自由拖拽到任意坐标,只支持泳道内列表式想法
- ❌ 不做离线编辑:无 PWA 离线缓存,必须在线
- ❌ 不做企业级权限体系:无 SSO/LDAP/OAuth,只有匿名 + 可选用户名
- ❌ 不做多租户:单实例单数据库,无隔离
- ❌ 不做独立 REST API:只有少量 JSON 端点,核心操作走 LiveView 协议
- ❌ 不做长周期数据保留:默认 30 天自动清理(GDPR 合规设计),上限无硬编码但需自行评估
四、社区与维护
项目基本信息
| 项目 | 值 |
|---|---|
| GitHub 仓库 | github.com/kitsteam/mindwendel |
| 最新稳定版 | v0.4.9-kits-1(2026-10-09 发布) |
| Stars | 8(kitsteam fork 版本,原始仓库已归档/删除) |
| 语言 | Elixir 为主,含少量 JavaScript(npm assets) |
| 最近提交 | 2026-10-09 |
| 许可证 | AGPL-3.0 |
| 官方镜像 | ghcr.io/b310-digital/mindwendel:latest |
| CI/CD | GitHub Actions(on_push_branch__execute_ci_cd.yml) |
维护状态评估
⚠️ 重要提示:Mindwendel 官网托管(idea.kits.app)已于 2026 年 5 月底公告关闭商业服务。但开源项目本身仍在活跃维护——2026-10-09 刚发布了 v0.4.9-kits-1 版本。kitsteam 作为 NLQ 官方团队,项目目标定位从"公共教育平台"转向"教育机构/企业内部自托管"。
维护关注点:
- 项目规模小(8 Stars),属于 niche 工具,不适合作为核心业务工具
- Elixir/Phoenix 生态虽然健康但人才相对稀缺
- 依赖链较长:Phoenix LiveView 每次大版本升级都可能引入破坏性变更
五、适用场景
推荐 ✅
| 场景 | 理由 |
|---|---|
| 内部头脑风暴(产品需求评审、技术方案设计) | 匿名/可选用户名低门槛,投票+泳道排序+导出一站式 |
| 教育/培训 | 教师引导小组头脑风暴,GDPR 合规自动清理 |
| 小型团队协作(5-20 人) | LiveView 实时性 + 单容器部署,运维零负担 |
| 短期项目(周/月级) | 30 天自动清理天然契合临时场景,无需手动维护 |
谨慎 ⚠️
| 场景 | 风险 |
|---|---|
| 需要自由画布/手绘 | Mindwendel 只支持列表式泳道,非完整白板 |
| 大规模多人协作(50+ 并发) | LiveView 单节点并发上限约 500-1000 连接,需 libcluster 多节点 |
| 长期资产沉淀 | 需关闭自动清理(MW_FEATURE_BRAINSTORMING_REMOVAL_AFTER_DAYS=-1 或设大值),但无分级备份策略 |
| 需要开放 API 集成 | 无完整 REST API,只能通过 LiveView WebSocket 协议接入 |
| 企业 SSO/LDAP 集成 | 无原生支持,需自行改造或通过反向代理做 Basic Auth |
不推荐 ❌
| 场景 | 理由 |
|---|---|
| 替代 Miro/MURAL/FigJam 等专业白板 | 功能差距巨大,Mindwendel 是"极简头脑风暴"不是"全功能白板" |
| 敏感数据存储 | 无企业级审计/访问控制,虽有加密附件但整体安全边界偏弱 |
| 离线优先/弱网环境 | 必须在线,WebSocket 断开即不可用 |
六、选型建议
快速决策表
| 你的需求 | 推荐度 | 替代方案 |
|---|---|---|
| 快速搭建、10 人以内团队、短期头脑风暴 | ⭐⭐⭐⭐⭐ | — |
| 需要便签投票聚类,导出 CSV/HTML | ⭐⭐⭐⭐⭐ | — |
| 需要自由画布/手绘/连线拖拽 | ⭐⭐ | tldraw, Miro |
| 需要完整 REST API 二次开发 | ⭐⭐ | Wekan, tldraw (Yjs) |
| 需要企业级权限/SSO | ⭐ | RisePad, 自建 tldraw |
| 需要离线编辑/弱网容忍 | ⭐ | tldraw, Excalidraw |
部署形态选择
Mindwendel 的两种部署路径各有优劣,选型时参考:
| 维度 | Docker Compose(推荐) | 源码编译 |
|---|---|---|
| 部署时间 | 10 分钟 | 30-60 分钟 |
| 依赖管理 | 零 | Elixir 1.18 + OTP 27 + Node 22 + Postgres |
| 升级路径 | 拉新镜像 | 重新 mix release |
| 可观测性 | docker logs + 原生 Elixir Logger | Elixir LoggerJSON + 可选 PromEx |
| 适合环境 | 生产环境 | 开发/自定义场景 |
七、总结
Mindwendel 在"极简头脑风暴"这个细分定位上做得非常出色——单容器、实时协作、隐私友好、自动清理。它不是一个全功能白板,也不追求成为下一个 Miro。对于有明确边界、追求极简运维的小型团队/教育场景,它是目前自托管头脑风暴工具中最轻量的选择之一。
选型建议的核心逻辑:明确你要的是"头脑风暴工具"还是"协作白板"——如果是前者,Mindwendel 几乎是最优解;如果是后者,应转向 tldraw、RisePad 或专业 SaaS。