画图工具的讨论总是绕不开 Mermaid,但「Mermaid 替代品有哪些」这个问题,本身问得太早了。真正的起点不是「哪个工具最强」,而是另一个朴素得多的问题:这张图画完之后,要去哪儿?
是躺进代码仓库、每周跟着重构改三遍、被同事在 pull request 里逐行审?还是散落在设计评审会的白板上,聊完就忘、只留下讨论的余温?又或者,它要出现在官网首页、融资路演的 PPT、发布会的 keynote 大屏上——替你的产品说第一句话。
三条归宿,指向三种完全不同的工具,甚至三种完全不同的工作方式。
先交代一件事。本站 9 月 15 日写过一篇《AI 图表工具横评:生成之后归谁、以何形态存在》,对象是 diagram-design、Mermaid、Excalidraw、D2、PlantUML 五个项目,核心问题只有一个——图生成之后归谁、以什么形态存在。那篇文章回答的是「归属」。本文换一个问题:按图的下游用途选路线——图的终点是 git diff、协作白板,还是发布演示——并把 draw.io 拉进对比,凑齐四条路线。两篇角度不同,建议搭配阅读。
四条路线分别是谁?mermaid-js/mermaid,仓库地址:github.com/mermaid-js/mermaid,diagram-as-code 路线的旗舰,文本生成图,图随代码走;jgraph/drawio,仓库地址:github.com/jgraph/drawio,手动画布的老牌选手;excalidraw/excalidraw,仓库地址:github.com/excalidraw/excalidraw,手绘风协作白板;cathrynlavery/diagram-design,仓库地址:github.com/cathrynlavery/diagram-design,agent 生成编辑级图表的新物种。
四个项目,四组数字
先看硬指标。以下星数与许可证均为 2026-10-13 GitHub API 实测:
| 项目 | 星数 | 许可证 | 主语言 | 一句话定位 |
|---|---|---|---|---|
| mermaid-js/mermaid | 90,636 | MIT | TypeScript | 图即代码,Markdown 原生渲染 |
| jgraph/drawio | 8,722 | Apache-2.0 | JavaScript | 老牌手动画布,图形库大而全 |
| excalidraw/excalidraw | 133,741 | MIT | TypeScript | 手绘风白板,协作快攻 |
| cathrynlavery/diagram-design | 52,787 | MIT | HTML | agent skill,输出编辑级图表 |
必须加一句口径说明:draw.io 的星数只有八千出头,但你几乎每天都在见到它画的图——软件架构图、部署拓扑、运维 SOP,大量出自 draw.io。它的用户量远大于这个仓库的星数,星数仅指源码仓库,拿星数直接比四者热度,对 draw.io 极不公平。Excalidraw 的十三万星也不能说明它是「最好用的」,只能说明手绘风白板击中了极广的社区情绪。
四条路线的许可证倒是整齐:Mermaid、Excalidraw、diagram-design 都是 MIT,draw.io 是 Apache-2.0,团队落地基本没有法务障碍。
Mermaid:图随代码走,代价是主题不可控
Mermaid 的核心主张是把图写进文本。你用一套类 Markdown 的 DSL 描述流程图、时序图、甘特图,渲染交给引擎。它最大的护城河不在渲染质量,而在渠道:GitHub 原生渲染 Markdown 中的 mermaid 代码块。一段标记为 mermaid 语言的代码块贴进 README 或 PR 描述,所有协作者零配置看到图。
这意味着图随代码走。代码分支里改图,PR 里审图,git diff 能精确定位「上个月这条连线为什么改了」。图的生命周期和代码完全同步,这是另外三条路线给不了的。
代价同样清楚。Mermaid 的主题即渲染器主题,视觉上你想改的东西——精确间距、品牌色板、极细的线条——基本都碰不着,视觉不可控。复杂布局易乱也是老毛病:节点一多,连线开始跨屏穿插,箭头指过来指过去,读者比画图的人更痛苦。
所以 Mermaid 的最佳岗位非常明确:图住代码旁边、每个 sprint 都会变、对视觉精度要求让位于对迭代速度要求的场景。
顺带一个工程提示:Mermaid 的渲染结果跟随引擎版本,同一份 DSL 在不同版本下可能画出略有出入的布局。要让它长期稳定地住在文档里,值得在 CI 里锁定版本、把渲染产物一并提交——这是 diagram-as-code 路线常见的工程化收尾,也是它和纯手工画图最大的气质差异。
draw.io 与 Excalidraw:手动画布的两种性格
draw.io 是很多人画图生涯的起点。浏览器打开就能画,图形库大而全,架构、网络、UML、AWS 与 Azure 的图标都能拖出来。文件格式 .drawio 是可编辑的 XML,图源可以进仓库、随文档走,甚至可以把图直接嵌进 PNG 之后再打开继续改。它赢在成熟、全面、免费。
Excalidraw 走的是另一头:手绘风。所有形状都是歪歪扭扭的手绘线条,看起来像白板上随手涂的。这不是缺陷,是精心设计的对话姿态——评审会上投出一张精确对称的图,大家会下意识觉得「方案已定」;投出一张手绘风的草稿,大家会忍不住说「这里能不能改改」。手绘风降低了给意见的心理门槛,配合实时协作和分享链接,是设计评审和远程脑暴的利器。
两条手动画布路线放在一起,差异就是性格:draw.io 是全能让它成熟,Excalidraw 是氛围让它敏捷。前者适合出正式交付物,后者适合讨论还没定型的阶段。
再补一个选型细节:.drawio 文件虽然是 XML,但 diff 可读性一般,适合「整文件进仓库」而非「逐行审改动」,.excalidraw 文件同理。手动画布路线的图源进仓库没问题,想享受 Mermaid 级别的 diff 体验就强人所难了。
diagram-design:不是网站,是给 agent 的设计规范
第四条路线最特殊。diagram-design 不是网站,也不是画布——它是一个 agent skill,通过 npx skills add cathrynlavery/diagram-design 安装,给 Claude Code、Codex、GitHub Copilot、Cursor、Factory Droid、Pi 这类编码智能体注入一整套编辑级图表设计规范,让原本只会画简笔画的 agent,画出版面能上发布会的图。
拆开它的设计系统看,这套规范有多较真:4px 网格对齐,1px hairline 描边,无阴影,圆角不超过 10px,全套图表只用单一强调色,目标信息密度 4/10——刻意留白,拒绝把图塞成蛛网。44 种图类型(README 口径)覆盖架构、时序、路线图、对比矩阵这些开发场景的高频图,提供 minimal light、minimal dark、full editorial 三种变体,应对官网、深色 IDE 演示、杂志式长文三种投放环境。
输出是自包含 HTML 加 inline SVG,可以直接嵌网页或文档,也能导出 SVG 与 PNG,CI 里还能自动检查文字重叠与边界裁切。也就是说,「图是否压了字、是否出了画布」这件事,不再依赖人眼把关。
顺带交代市场背景:第三方横评(theaileaderboard 口径)把 Napkin AI 列为 2026 年 AI 图表工具的综合第一,付费产品如 Eraser(Starter $15/人/月)、Mermaid Chart(Plus $10/人/月)也各有拥趸——但那些是托管服务产品,与本文四条开源自托管路线不在同一维度,一句带过即可。
选型结论:看图的下游用途
四条路线各自能干、各有性格,选哪个不取决于哪个「更强」,而取决于你的图交给谁看、以什么形态活着。以下选型结论整理自 diagram-design README 的对比表口径(二手口径,方向上有道理,且恰好与四条路线的技术底子对得上):
- 图住在代码旁边、每个 sprint 都在变、需要干净的 git diff——用 Mermaid。图源是文本、diff 可读、渲染跟着仓库走。
- 动手白板、协作草图、还没定型的讨论——用 draw.io 或 Excalidraw。要正式感选 draw.io,要速度和氛围选 Excalidraw。
- 要发布级、演示级、品牌一致的图——用 diagram-design。规范前置、agent 执行、产出直接能上大屏。
按下游用途选,本质上只需回答三个问题:这张图的最终观众是谁?它多久改一次?谁有资格修改它?三问对完,路线自然清晰。
场景对号入座
架构图要进代码库、跟着每个 sprint 变。 用 Mermaid,没有悬念。图源进 git,PR 里审,diff 里追。这种图的生命周期和代码耦合,文本化是唯一合理形态。
设计评审、远程脑暴、涂改不定的草稿。 draw.io 或 Excalidraw 二选一。这一阶段图的使命是让讨论发生,不是好看。等方案定型,手绘草稿的历史使命就结束了。
要发布、要演示、要品牌一致。 diagram-design 上场。它的三变体和密度 4/10 的设计系统,就是为「上大屏」准备的。
最划算的是组合拳。 我的推荐工作流是三段式:Excalidraw 起草,讨论定型;把草稿要素写成 prompt,交给装了 diagram-design 的 agent 重绘成编辑级产物;发布版本和重绘 prompt 一起归档。草稿负责讨论效率,成品负责门面,归档负责三个月后还能讲清楚「当时为什么这么画」。
要提醒的是,选型结论不是教条。四条路线都是好工具,没有一个是「万能答案」,只有「这张图要去哪儿」这个问题的不同答案。
诚实边界
工具对比最怕只报喜。四条路线各自的坑都要说清楚:
- Mermaid 复杂布局易乱,视觉不可控——版本一升级,渲染可能变样,锁定版本再进 CI 才稳妥。
- draw.io 免费但重交互,自动化能力有限,想批量生成图得绕路。
- Excalidraw 手绘风是双刃剑,正式场合的交付物用它容易显得随意。
- diagram-design 的输出质量依赖你搭配的模型;同一 prompt 跑两次,布局可能不同,无法像素级复现;无原生 .drawio 画布,也无法输出可 diff 的图文本(README 口径)。
特别展开 diagram-design 的边界。它的惊艳产出背后是模型能力,换一个更弱的模型,同样的规范执行水平会明显下降;布局不确定性对「今天生成的图明天必须一模一样」的场景是硬伤;没有 .drawio 画布意味着它管不了图的整个生命周期——它管的是「画出一张好图」这一段。至于没有可 diff 的图文本,它天然进不了上一节 Mermaid 的主战场,这不是 bug,是路线本身的形态。
还有一个隐含的坑:星数不等于合适。Excalidraw 十三万星,画不出你要的发布级图;diagram-design 五万星,进了 git diff 一文不值。星数是社区热度的粗略代理,不是选型依据。
延伸阅读
分工声明:本站 9 月 15 日写过《AI 图表工具横评:生成之后归谁、以何形态存在》,对象是 diagram-design、Mermaid、Excalidraw、D2、PlantUML 五项目,核心问题是「图生成之后归谁、以什么形态存在」;本文换一个问题——按图的下游用途(进 git diff、协作白板、发布演示)选路线,并把 draw.io 拉进对比。两篇角度不同,建议搭配阅读。
FAQ
Q1:Mermaid 替代工具有哪些?
A1:四条主流路线:diagram-as-code 除了 Mermaid 还有 D2、PlantUML 等;手动画布以 draw.io 为代表;手绘风协作白板首推 Excalidraw;agent 生成编辑级图表可装 diagram-design(github.com/cathrynlavery/diagram-design)。选哪条取决于图的下游用途,进 git diff 选 Mermaid,协作白板选 Excalidraw,发布演示选 diagram-design。
Q2:draw.io 和 Excalidraw 应该选哪个?
A2:看图的阶段和正式程度。方案还在讨论、需要多人实时涂改,Excalidraw 的手绘风和协作体验更合适;要产出结构严谨、能作为正式交付物的图,draw.io 的图形库和 .drawio 文件格式更可靠。两者都是浏览器即开即用,先用十分钟各画一张再决定也不亏。
Q3:Mermaid 图在 GitHub 上怎么渲染?
A3:直接写。Markdown 文件或 PR 描述里用标记为 mermaid 语言的围栏代码块包裹 DSL 文本,GitHub 原生渲染,协作者零配置看到图。这套「图随代码走」的机制正是 Mermaid 的核心优势,git diff 能追踪每次图变动。
Q4:diagram-design 适合什么人用?
A4:日常和编码智能体(Claude Code、Cursor、Copilot 等)协作、且需要产出发布级或演示级图表的开发者。它以 agent skill 形态安装(npx skills add cathrynlavery/diagram-design),输出质量依赖所配模型,同一 prompt 两次布局可能不同,对像素级复现有硬要求的场景要慎用。
Q5:这四个项目都是开源的吗?商用有风险吗?
A5:四个项目星数与许可证均为 2026-10-13 GitHub API 实测:Mermaid(90,636 星,MIT)、draw.io(8,722 星,Apache-2.0)、Excalidraw(133,741 星,MIT)、diagram-design(52,787 星,MIT),商用均无许可障碍。注意 draw.io 用户量远大于其源码仓库星数,星数仅指仓库本身。
结语:图的去处,决定工具的选择
回头看,「Mermaid 替代」这个搜索词背后,其实是无数个被具体场景卡住的团队:也许是 README 里的架构图一升级就渲染错乱,也许是评审会上的白板照片永远没人再打开,也许是一次重要汇报前夜还在用截图工具修图的崩溃时刻。
换掉 Mermaid 不是解药,因为问题往往不在工具本身,而在图的去处从来没有被认真对待过。回到那篇 9 月 15 日的横评里的问题——图生成之后归谁、以什么形态存在——它真正的潜台词是:这张图的下游消费者到底是谁?git diff、协作白板、还是舞台大屏?
把这个问题想清楚,四条路线自动各就各位。选型从来不是给工具投票,而是给用途画像。