Mindwendel 介绍与选型指南

Mindwendel 技术全景选型指南:产品定位、Elixir/Phoenix LiveView 架构、功能矩阵、与 tldraw/Wekan/RisePad 等同类产品对比、社区维护状况与适用场景分析。

MindwendelMindwendelElixirPhoenix实时协作白板2026/10/27

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 加密后存入               │
└──────────────────────────────────────────────────────┘

与同类产品技术对比

产品后端前端实时方案数据库部署复杂度许可
MindwendelElixir/PhoenixLiveView (服务端)Phoenix WebSocketPostgreSQL★★☆☆☆ 极低AGPL-3.0
Miro (自托管替代: tldraw)Node.jsReactYjs/CrdtPostgres★★★☆☆ 中等MIT
WekanNode.jsMeteorMeteor DDPMongoDB★★★★☆ 较高MIT
OpenBoardC++/QtQt—内嵌 SQLite★★★★☆ 高GPL-3.0
RisePadElixir/PhoenixLiveViewPhoenix WebSocketPostgreSQL★★☆☆☆ 低AGPL-3.0
tldrawNode.jsReactYjs—★★☆☆☆ 低MIT

💡 技术拓展:实时协作白板的核心挑战是"多人并发编辑同一对象的一致性",业界主要有三种路线:

  1. Centralized OT(操作变换):以 ShareDB/ActionCable 为代表,服务端中心化协调,如 Wekan 使用的 Meteor DDP 协议
  2. CRDT(无冲突复制数据类型):以 Yjs / Automerge 为代表,客户端本地合并,服务端做纯中继,tldraw、RisePad 使用此路线
  3. 服务端渲染 + 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 发布)
Stars8(kitsteam fork 版本,原始仓库已归档/删除)
语言Elixir 为主,含少量 JavaScript(npm assets)
最近提交2026-10-09
许可证AGPL-3.0
官方镜像ghcr.io/b310-digital/mindwendel:latest
CI/CDGitHub 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 LoggerElixir LoggerJSON + 可选 PromEx
适合环境生产环境开发/自定义场景

七、总结

Mindwendel 在"极简头脑风暴"这个细分定位上做得非常出色——单容器、实时协作、隐私友好、自动清理。它不是一个全功能白板,也不追求成为下一个 Miro。对于有明确边界、追求极简运维的小型团队/教育场景,它是目前自托管头脑风暴工具中最轻量的选择之一。

选型建议的核心逻辑:明确你要的是"头脑风暴工具"还是"协作白板"——如果是前者,Mindwendel 几乎是最优解;如果是后者,应转向 tldraw、RisePad 或专业 SaaS。