硬核横评
硬核横评

Mermaid 不是唯一解:四条路线怎么选

AI 时代画图表的四条路线横评,按「图的下游用途」选型而非排名:图要进代码仓库、每个 sprint 都变、要干净的 git diff,选 Mermaid(diagram-as-code,90,636 星、MIT、GitHub 原生渲染 Markdown,代价是版式不可控);要人与人协作草图与快速共创,选 Excalidraw(133,741 星、MIT,手绘风白板);要正式画布与精细控制,选 draw.io(8,722 星、Apache-2.0,注意口径:仓库星数仅指源码,draw.io 用户量远大于此);要发布或演示级、品牌一致的图,选 diagram-design(52,787 星、MIT,agent skill 形态,注入 Claude Code/Codex/Cursor 等,44 种图类型、三变体、4px 网格、单一强调色、目标密度 4/10,输出自包含 HTML + inline SVG 可导 SVG/PNG,安装 npx skills add cathrynlavery/diagram-design;选型结论标 README 对比表口径)。全部星数为 2026-10-13 GitHub API 实测。诚实边界:diagram-design 输出质量依赖所配模型,同一 prompt 两次布局可能不同;无原生 .drawio 画布、无图文本可 diff。与站内 9 月 15 日《AI 图表工具横评》分工:那篇答「图生成之后归谁、以何形态存在」(五项目含 D2/PlantUML),本篇答「按下游用途选路线」并新增 draw.io 对象。

发布于 2026年10月13日10 分钟阅读
<!-- diagram-route-selection-comparison-review | review | Mermaid 不是唯一解:四条路线怎么选 -->

画图工具的讨论总是绕不开 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/mermaid90,636MITTypeScript图即代码,Markdown 原生渲染
jgraph/drawio8,722Apache-2.0JavaScript老牌手动画布,图形库大而全
excalidraw/excalidraw133,741MITTypeScript手绘风白板,协作快攻
cathrynlavery/diagram-design52,787MITHTMLagent 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、协作白板、还是舞台大屏?

把这个问题想清楚,四条路线自动各就各位。选型从来不是给工具投票,而是给用途画像。

本文由 AI 辅助生成,经人工审核编辑。最后更新:2026-10-13

常见问题

Mermaid 替代工具有哪些?
四条主流路线:diagram-as-code 除了 Mermaid 还有 D2、PlantUML 等;手动画布以 draw.io 为代表;手绘风协作白板首推 Excalidraw;agent 生成编辑级图表可装 diagram-design(github.com/cathrynlavery/diagram-design)。选哪条取决于图的下游用途,进 git diff 选 Mermaid,协作白板选 Excalidraw,发布演示选 diagram-design。
draw.io 和 Excalidraw 应该选哪个?
看图的阶段和正式程度。方案还在讨论、需要多人实时涂改,Excalidraw 的手绘风和协作体验更合适;要产出结构严谨、能作为正式交付物的图,draw.io 的图形库和 .drawio 文件格式更可靠。两者都是浏览器即开即用,先用十分钟各画一张再决定也不亏。
Mermaid 图在 GitHub 上怎么渲染?
直接写。Markdown 文件或 PR 描述里用标记为 mermaid 语言的围栏代码块包裹 DSL 文本,GitHub 原生渲染,协作者零配置看到图。这套「图随代码走」的机制正是 Mermaid 的核心优势,git diff 能追踪每次图变动。
diagram-design 适合什么人用?
日常和编码智能体(Claude Code、Cursor、Copilot 等)协作、且需要产出发布级或演示级图表的开发者。它以 agent skill 形态安装(`npx skills add cathrynlavery/diagram-design`),输出质量依赖所配模型,同一 prompt 两次布局可能不同,对像素级复现有硬要求的场景要慎用。
这四个项目都是开源的吗?商用有风险吗?
四个项目星数与许可证均为 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 用户量远大于其源码仓库星数,星数仅指仓库本身。

相关文章

硬核横评

AI 图表工具横评:生成之后归谁、以何形态存在

本篇不比画质、只比可客观核验的维度,开篇第一节即声明评测口径与边界:非亲自压测,数据为 2026-09-15 从各项目官方仓库实核,星标实时变动,不打主观画质分。对照五个项目:cathrynlavery/diagram-design(39,807 星、MIT、HTML、未关闭 issue 44、2026-04-16 建仓)、mermaid-js/mermaid(90,244 星、MIT、TypeScript、1,785 个未关闭 issue、2014-11-01 建仓)、excalidraw/excalidraw(131,918 星、MIT、TypeScript、3,471 个未关闭 issue、2020-01-02 建仓)、terrastruct/d2(25,416 星、MPL-2.0、Go、528 个未关闭 issue、2022-09-05 建仓)、plantuml/plantuml(13,313 星、LGPL-3.0、Java、588 个未关闭 issue、2010-11-04 建仓)。分析骨架是三类范式:文本引擎类(Mermaid、D2、PlantUML,作者只描述结构、版式交给引擎,代价是版式不可控与渲染依赖),自包含产物类(diagram-design,由编码 Agent 直接产出可离线打开的 HTML 加内联 SVG,代价是绘图规范很重),以及手绘交互类(Excalidraw,强项是人与人协作草图,AI 直接产出的是场景文件而非成品图)。核心判断:选图表方案买的不是能不能生成图,而是图生成之后归谁、以什么形态存在、谁能打开。文末给出按团队形态分档的选型建议表,并如实标注图谱:许可证只说类型差异与分发含义不同、不下商用绝对结论;问题密度一节明确声明非质量判决,因为三者体量、年龄与功能面差异巨大。

2026年9月15日10 分钟阅读
硬核横评

显存差一半就跑不动:五条路线各能救到哪一步

显存不够时跑大模型的五条路线横评,各归其位不排座次:①分层流式(airllm,不量化不剪枝,逐层搬运,显存最小速度最慢)②GGUF 量化(Ollama/llama.cpp/LM Studio,压权重换显存,质量有损、生态最成熟)③CPU offload 混合(部分层留显存部分落内存,速度取决于 PCIe 与内存带宽)④蒸馏或小模型(工程最省心、质量损失最大)⑤远程托管 API(显存问题不存在,成本按量转移到服务商)。五轴对比:显存占用 / 速度 / 质量损失 / 部署复杂度 / 适用人群。airllm 显存数字全部标 README 口径并带硬件(27B 3.33GB@RTX 3090、Flash-Next 125B 5.95GB@RTX 4090、Kimi K3 2.8T 3.72GB@RTX 6000 Ada、DeepSeek-V3 671B 约 12GB,均官方自报本文未复现);速度不做跨路线跑分只做定性(官方未给 tokens/s 不编数字);Kimi K3 为 2.8T 总参、激活 1040 亿、896 专家每 token 激活 16 个,许可为修改版 MIT(非标准 MIT)。与站内《本地部署工具横评》分工明确:那篇比工具(界面/上手/并发/吞吐),本篇比内存策略路线,工具是路线的执行者。灵魂结论:真正要回答的不是哪种方法最强,而是你缺的是显存、是内存、还是速度。

2026年10月12日10 分钟阅读
硬核横评

agent 替你啃二进制:逆向工程不用学汇编了

逆向工程工具四强横评(各归其位,不排谁最强):REA(morluto/rea,84,088 星 MIT,GitHub API 2026-10-11 实证)是 agent 编排层,把 Ghidra/IDA/Hopper/JADX 挂到编码 agent 上自动跑「反编译→追踪→复刻」循环;Ghidra(NSA 出品,83,007 星 Apache-2.0,最新 12.1.4_build 2026-09-21,GitHub Releases 实证)是免费手工权威、反编译 GUI 事实标准,也是 REA 的原生分析后端之一;Cutter(19,977 星 GPL-3.0,Rizin 驱动)是轻量开源 GUI,快速看二进制;IDA Free(Hex-Rays 官方免费版,条款以 hex-rays.com 官网原文为准)是商业级反编译质量的免费入口。五轴对比:上手门槛/自动化程度/分析对象覆盖/许可与价格/证据可信度(结论是否附证据)。选型按场景:想让 agent 自动调查选 REA(要会挂后端、靠证据链压幻觉)、手工逐函数啃硬骨头选 Ghidra、轻量快看选 Cutter、商业级质量选 IDA。星数全部标 GitHub API 日期口径,无跨工具跑分。

2026年10月11日9 分钟阅读