Mermaid图表制作Skill:用文本画出可版本控制的软件图表
- 一句话概括:这是一份让 AI 助手按 Mermaid 文本语法直接产出软件图表的技能指南,覆盖类图、序列图、流程图、ER 图、C4 架构图、状态图、Git 图、甘特图等多种图表。
- 核心能力:懂"选图"——先判断该用哪种图表,再给出符合 Mermaid 语法的定义代码,而不是丢给你一堆无法渲染的示意文字。
- 关键差异:图表以纯文本保存,可以跟着代码一起进 Git、做 Code Review、随需求迭代,而不是一张"画完就过时"的图片。
- 上手成本:低。只要能向 AI 助手描述清楚系统结构或业务流程,就能拿到可粘贴到 Markdown 里直接渲染的图表代码。
- 最适合谁:需要写技术文档、做架构评审、梳理数据库设计、向非技术同事解释流程的开发者和技术写作者。
该技能叫什么?如何一键安装 AI 技能提升开发效率?
技能中文名:Mermaid图表制作Skill 技能英文名:mermaid-diagrams 技能ID:12274
它到底解决什么问题
软件团队画图长期存在三个痛点:一是图与代码脱节,架构图躺在 PPT 里,代码改了三轮图还是旧的;二是绘制成本高,拖拽式画图工具画一张类图要半小时,改一次要再花十分钟;三是格式不统一,同一个人前后画的两张流程图,节点风格、箭头含义都可能不一致。
Mermaid 的思路是把图表"降级"为文本:用几行类似伪代码的描述,渲染出结构清晰的图。而 Mermaid图表制作Skill 的价值在于,它把"该选哪种图、语法怎么写、哪些写法会渲染失败"这些隐性知识固化进 AI 助手的工作流程里——你描述业务,它产出可渲染的 Mermaid 代码。
一键安装的思路与步骤
由于该技能以"技能包"形式分发,安装动作通常是在支持 AI 技能(Skill)的客户端或平台中完成的,具体入口与命令以官方说明为准。通用流程如下:
- 确认安装前提:拥有支持 AI 技能加载的客户端账号;本地 Markdown 阅读环境支持 Mermaid 渲染(VS Code 装 Markdown Mermaid 扩展、Obsidian / Notion / GitHub / GitLab 原生支持)。
- 找到技能入口:在客户端的技能市场 / 技能库 / 插件中心中,用技能名「mermaid-diagrams」或技能ID「12274」检索。
- 执行安装:点击安装或启用按钮;若平台支持命令行方式,则按官方文档提供的技能安装命令执行(具体命令以官方说明为准)。
- 确认生效:新开一个对话,输入"帮我画一个用户登录的序列图"。如果回复中出现以
sequenceDiagram开头的 Mermaid 代码块,且能在预览环境中正常渲染,说明技能已生效。 - 可选增强:安装 Mermaid CLI(
npm install -g @mermaid-js/mermaid-cli)或使用 Mermaid Live Editor,把生成的.mmd文本导出为 PNG / SVG,用于汇报材料。
这套"一键启用 + 立即验证"的路径,把原本需要查文档半小时的绘图工作,压缩成一次对话。
该技能的主要功能和特点
- 图表类型选择指南:技能内置了"什么场景用什么图"的判断逻辑——领域建模用类图、API 交互用序列图、业务流程用流程图、数据库设计用 ER 图、系统架构用 C4 图、生命周期用状态图、分支策略用 Git 图、排期用甘特图。这解决了新手最常见的错误:拿流程图去表达本该用序列图描述的时序交互。
- 标准化的语法骨架:以"第一行声明图表类型 + 后续定义内容"的统一结构组织输出,并用
%%支持注释,让生成的图表代码具备可读性,而不只是"能跑"。 - 多层级架构表达能力:C4 图支持从系统上下文、容器、组件到代码级的分层视图,适合做架构评审材料。
- 主题与样式配置:支持通过前置配置(frontmatter config)设置
theme、themeVariables,提供 default、forest、dark、neutral、base 等主题,并可选择layout: dagre/elk布局,以及look: classic/handDrawn手绘风格。 - 多平台原生渲染:GitHub / GitLab 的 Markdown、VS Code、Notion、Obsidian、Confluence 均内置 Mermaid 支持,写进文档即可显示。
- 避坑意识:技能明确提示常见陷阱——注释里误用
{}会破坏图表、拼写错误导致渲染失败、图表过于复杂应拆分为多个聚焦视图、实体之间漏画关键关系。 - 和普通绘图工具比强在哪:普通工具交付的是"像素",这个技能交付的是"可 diff 的文本"。图表能进版本控制、能被 Code Review、能在需求变更时由 AI 增量修改而不是重画。
如何使用该技能?
第一步:用自然语言描述你要表达的结构
不需要先学 Mermaid 语法。直接说清楚"有哪些角色、按什么顺序交互、有哪些分支"即可。
输入示例:
帮我画一个用户登录的序列图。参与者有用户、API 网关、用户服务、数据库。用户发起 POST /login,网关转发给用户服务,用户服务查数据库校验凭证,成功返回 200 和 JWT token,失败返回 401。
输出说明:技能会返回一个可直接渲染的 sequenceDiagram 代码块,参与者、消息方向、alt 条件分支都会体现出来,形如:
sequenceDiagram
participant User
participant API
participant Service
participant DB
User->>API: POST /login
API->>Service: 转发登录请求
Service->>DB: 查询用户凭证
DB-->>Service: 返回用户数据
alt 凭证有效
Service-->>User: 200 OK + JWT
else 凭证无效
Service-->>User: 401 Unauthorized
end
第二步:明确告诉 AI 你要的图表类型
如果不说,AI 可能选错图。建议直言:“用类图”“用 ER 图”“用 C4 容器图”。
输入示例(领域建模):
用类图描述视频网站的核心模型:Title 与 Genre 是多对多,Title 组合 Season 和 Review,User 创建 Review。
输出会给出带多重性关系(--、*--、-->)和类成员(+string name、+play())的 classDiagram。
第三步:对生成的图表做增量修改
Mermaid 是文本,改动极其轻量。直接说"把数据库查询拆成缓存查询和库查询两条路径"“给这个流程图加一个未登录分支”,AI 会在原代码上调整,而不是重画整张图。
第四步:落地到文档与仓库
- 粘进 Markdown 文件,GitHub/GitLab 自动渲染;
- 把高频变动的图表单独存成
.mmd文件放进仓库,随代码一起提交; - 需要图片时,用 Mermaid Live Editor 导出 PNG/SVG,或用
mmdc -i input.mmd -o output.png命令批量转换。
第五步:复查渲染结果
复制到 Mermaid Live Editor 里验证一遍。技能已提示:拼写错误会导致图表静默失败(参数错误不一定报错,但图会画不出来),所以"生成即验证"是必要习惯。
同类型竞品对比分析
| 方案名称 | 定位 | 核心功能 | 安装/使用门槛 | 适用场景 | 优势与不足 |
|---|---|---|---|---|---|
| Mermaid图表制作Skill(mermaid-diagrams) | AI 驱动的 Mermaid 图表生成指南 | 图表选型建议、多类型语法输出、主题配置、避坑提示 | 需在支持技能的 AI 平台启用,具体以官方说明为准;生成结果需 Mermaid 渲染环境 | 技术文档、架构评审、数据库设计、流程梳理 | 优势:自然语言直出代码、零语法记忆负担、图表可版本控制;不足:依赖 AI 输出质量,复杂图仍需人工拆分与校验 |
| PlantUML | 老牌文本化 UML 工具 | 类图、序列图、用例图等 UML 全家桶,生态成熟 | 需 Java 环境与插件,语法自成体系 | 严谨的 UML 建模、企业级文档 | 优势:表达力强、成熟稳定;不足:语法学习曲线陡,GitHub 等平台非原生渲染,需额外配置 |
| Draw.io / Excalidraw | 手工拖拽式绘图 | 自由布局、图形素材丰富、支持手绘风格 | 零门槛,浏览器即用 | 演示稿、白板讨论、非结构化示意图 | 优势:所见即所得、自由度极高;不足:图与代码分离,改一次要重画,难以做版本 diff |
| Lucidchart | 商业在线协作绘图 | 团队协作、模板库、企业集成 | 需账号,高级功能付费,具体以官方说明为准 | 跨部门流程梳理、商业汇报 | 优势:协作体验好、模板多;不足:文本化程度低,无法随代码演进,长期维护成本高 |
| D2 | 新一代声明式图表语言 | 现代语法、布局算法优化、暗色主题友好 | 需安装 CLI 或使用在线编辑器 | 架构图、云资源图 | 优势:语法简洁、布局美观;不足:生态与平台原生支持不如 Mermaid 广 |
选型建议:需要"嵌进 Markdown 文档、跟着代码一起更新"的,选 Mermaid 系;需要严谨 UML 且团队已有 Java 工具链的,PlantUML 更合适;只是白板讨论性质的示意图,Draw.io 反而最快。
该技能的典型应用场景与实际体验情况
场景一:后端工程师做接口文档
痛点:写接口文档时,文字描述"先鉴权、再查缓存、未命中查库"总是说不清,新人反复来问。
使用方式:把接口调用链路口述给 AI,要求生成序列图,贴进接口文档的 Markdown 中。
实际体验:上手几乎零成本,一句自然语言就能拿到带 alt 分支的序列图。效果取决于描述是否完整——如果漏说"缓存未命中"这条路径,图里也不会有,需要主动补充。建议描述时按"角色 + 顺序 + 分支"三段式讲清楚。
场景二:技术负责人做架构评审
痛点:架构图靠 PPT 手绘,评审一轮改一版,改到最后已经和实际系统对不上。
使用方式:先用 C4 系统上下文图说明"系统边界与外部依赖",再下沉到容器图说明"应用、数据库、服务怎么拆"。Mermaid 支持拆分为多个聚焦视图,正好匹配 C4 的分层思路。
实际体验:C4 图对描述精度要求较高,第一次生成往往需要两三轮修正(补边界、改箭头方向)。但一旦落成文本,后续每次架构调整只需改几行,评审时可以直接在 Git 里 diff 出"这次改了什么",这是拖拽工具做不到的。
场景三:数据库设计评审
痛点:表结构散落在 SQL 文件里,字段关系和基数(一对多、多对多)只存在于某个人脑子里。
使用方式:把表名、主外键、关系描述给 AI,生成 ER 图,包含 PK / FK / UK 标记与基数符号。
实际体验:ER 图是这类技能里"性价比最高"的输出之一,10 张表以内的模型基本一次成型。注意技能已提示的陷阱:注释中避免使用 {},否则可能破坏渲染。
场景四:产品与研发对齐用户旅程
痛点:PRD 里的流程描述是长段落文字,研发理解偏差导致返工。
使用方式:让 AI 生成带判断菱形({})和分支标签的流程图,节点用有意义的名字,如"是否已登录"而不是"判断1"。
实际体验:流程图是最容易"过度复杂"的图表类型。按技能建议,一个图只讲一个概念,把"注册流程"和"下单流程"拆开画,可读性会明显提升。
该技能能为用户带来的价值
效率层面:传统拖拽方式画一张中等复杂度的类图或序列图,从构思到排版通常需要 20–40 分钟;用自然语言驱动生成,首版产出可压缩到几分钟内,后续修改从"重画"变成"改几行文本"。对于一周要出多版文档的团队,这个差距会持续累积。
门槛层面:Mermaid 语法本身不难但要记——节点形状、箭头类型、alt/opt/par 块的关键字、C4 的分层写法。技能把这些记忆负担转移给 AI,用户只需要具备"把系统讲清楚"的能力。这对刚入行的开发者、转岗的产品经理、需要写技术方案的设计师都是实质性降门槛。
质量层面:内置的图表选型指南和常见陷阱提示,实际上是在传递一套画图方法论——一图一概念、用有意义的名字、大量注释、迭代而非一次成型。长期使用会反向提升团队的文档习惯。
长期价值:图表从"一次性交付物"变成"活文档"。.mmd 文件与代码同仓存放,PR 里能 diff 出图表的变更,新人入职时看到的架构图就是当前真实架构。这是文本化图表最被低估的收益。
常见问题 FAQ
Q1:这个技能怎么安装?装在哪里? A:它属于 AI 技能(Skill)形态,需要在支持技能加载的客户端或平台中启用,可通过技能名「mermaid-diagrams」或技能ID「12274」检索。具体安装入口、命令与权限要求以官方说明为准。安装后用"画一个登录序列图"这类请求即可验证是否生效。
Q2:使用这个技能收费吗? A:技能本身是否收费取决于所在平台的计费策略,以官方说明为准。需要额外注意的是渲染与导出环节:Mermaid 语法本身开源免费,Mermaid Live Editor 在线编辑器可用,Mermaid CLI 通过 npm 安装也无需额外付费;如果使用第三方商业绘图平台做二次编辑,则可能涉及订阅费用。
Q3:我完全不懂 Mermaid 语法,能用吗? A:可以。这个技能的设计前提就是"你用自然语言描述,它输出语法正确的代码"。你只需要说清楚三件事:有哪些角色或实体、它们之间是什么关系、流程按什么顺序发生。语法层面的关键字、箭头、分支块由技能负责。
Q4:生成的图表渲染不出来怎么办?
A:先按技能提示的常见陷阱排查——是否有拼写错误(Mermaid 对未知单词比较敏感,可能静默失败)、注释里是否误用了 {}、特殊字符是否未转义。最快的办法是把代码贴到 Mermaid Live Editor 里,它会给出具体的报错行号。
Q5:它和 PlantUML、Draw.io 该怎么选? A:看图表的使用寿命和维护方式。图表要嵌进 Markdown 文档、跟着代码迭代、需要版本 diff 的,选 Mermaid 系;团队已有 Java 工具链且需要严谨 UML 语义的,PlantUML 更合适;只用于白板讨论、演示稿配图、不需要长期维护的,Draw.io 这类拖拽工具反而更快。