mermaid-maker

Polar Sponsor
爱发电 赞助
.NET 9.0

生成、校验、渲染并导出 Mermaid 图表(.mmd)——流程图、序列图、类图、ER 图、状态图、甘特图、Git 图、思维导图、C4、饼图、旅行图。

美人鱼制造者

功能概述

美人鱼制造者是一项面向实际任务的技能,主要用于将意图转换成.mmd文本,然后将其变成SVG、ASCII、PNG或PDF;关键优势:完全自动布局的基于文本的语法——没有x/y坐标。

核心要点

  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。

使用与执行

从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Mermaid 制图器

将设计意图转化为 .mmd 文本,再渲染为主题化 SVG、ASCII、PNG 或 PDF。

核心优势:基于文本的语法 + 全自动布局 —— 无需指定 x/y 坐标。源码可纳入 Git 版本管理,并可直接嵌入 Markdown 文件中。

适用与不适用场景

请使用该能力的场景:以代码方式构建图表(流程图、序列图、类图、状态图、ER 图、甘特图、思维导图、C4 图等),并从同一份源码生成风格统一、主题明确或适配终端的高质量输出。

请勿使用该能力(应转至其他工具):

  • 需像素级精确定位、自定义布局、品牌图标或深度样式控制 → drawio。
  • 追求手绘/草图风格 → excalidraw 或 tldraw。
  • 自由白板协作或手写笔迹 → tldraw。
  • 严格遵循标准 UML 规范 → plantuml。

工作流

  1. 选择图表类型 —— 参见下方表格。
  2. 生成 —— 将 .mmd 文件写入磁盘(可参考 assets/templates/ 中的模板快速起步)。
  3. 验证 —— 导出前必须执行:使用你选定的后端进行试渲染(参见 验证 章节)。
  4. 选择后端并渲染/导出 —— 主题化 SVG / ASCII / 批量处理 → beautiful-mermaid;PNG / PDF → mmdc;免安装 → Kroki(参见 渲染 章节)。
  5. 自查(视觉检查) —— 查看渲染图像,修正自动布局无法规避的可读性缺陷(如文字截断、密度过高);每次修改后均需重新验证 + 重新导出。最多执行 2 轮;若无视觉能力,可跳过此步,直接展示图像。
  6. 评审循环 —— 展示图像 → 收集反馈 → 应用最小化的 .mmd 修改 → 重新验证 + 重新导出,直至获得批准(设 5 轮安全上限)。
  7. 汇报 —— 向用户说明输出文件路径。

图表类型

类型 关键字 适用场景 语法文档
流程图 flowchart TD/LR 业务流程、数据管道、决策逻辑 FLOWCHART.md
序列图 sequenceDiagram API 调用、消息传递 SEQUENCE.md
类图 classDiagram 面向对象模型、数据结构 CLASS-ER.md
ER 图 erDiagram 数据库模式 CLASS-ER.md
状态图 stateDiagram-v2 状态机、生命周期 OTHER-TYPES.md
甘特图 gantt 项目时间线 OTHER-TYPES.md
Git 图 gitGraph 分支策略 OTHER-TYPES.md
饼图 pie 比例分布 OTHER-TYPES.md
思维导图 mindmap 主题分解 OTHER-TYPES.md
C4 上下文图 C4Context 高层架构 OTHER-TYPES.md
用户旅程图 journey UX 流程 OTHER-TYPES.md

常用模板位于 assets/templates/ 目录(含 flowchart、sequence、state、class、er、gantt、gitgraph)。

渲染

根据交付需求选择后端。完整命令行参数、安装说明与排错指南详见 RENDERING.md。

需求 后端 单行命令示例
主题化 SVG、ASCII 或批量处理 beautiful-mermaid node scripts/render.mjs -i d.mmd -o d.svg --theme tokyo-night
PNG 或 PDF(离线) mmdc mmdc -i d.mmd -o d.png -w 2048 --backgroundColor white
免安装(仅需 curl) Kroki curl -X POST -H "Content-Type: text/plain" --data-binary @d.mmd https://kroki.io/mermaid/svg -o d.svg
  • ASCII(终端 / README 场景):node scripts/render.mjs -i d.mmd -f ascii --use-ascii
  • 批量处理 整个目录:node scripts/batch.mjs -i ./diagrams -o ./out --theme dracula -w 4
  • beautiful-mermaid 仅支持输出 SVG / ASCII;PNG / PDF 请使用 mmdc。其依赖项会在首次运行时自动安装。

主题配置

beautiful-mermaid 内置 15 种主题。常用推荐:

  • 深色文档 → tokyo-night ⭐ · github-dark · dracula
  • 浅色文档 → github-light · zinc-light · catppuccin-latte

列出全部主题:node scripts/themes.mjs。完整主题目录、自定义调色板及选型决策树详见 THEMES.md。
mmdc 使用自身标准主题(default/dark/neutral/forest),通过 --theme 参数指定。

验证(必需步骤)

切勿在未验证前提下导出。请使用你最终选用的后端进行试渲染:

node scripts/render.mjs -i diagram.mmd -o /tmp/test.svg          # beautiful-mermaid
mmdc -i diagram.mmd -o /tmp/test.png 2>&1                        # mmdc
curl -s -X POST -H "Content-Type: text/plain" --data-binary @diagram.mmd https://kroki.io/mermaid/svg -o /tmp/test.svg && echo Valid || echo Invalid

mmdc 报错 Could not find Chrome 属于环境配置问题,而非语法错误 —— 不要重写合法的 .mmd 源码;请修复浏览器环境,或改用其他后端完成验证。

自查(视觉检查)

验证仅确保语法合法,**不能保证渲染结果具备可读性**。导出后,请人工审阅图像,识别自动布局无法规避的问题(以下均为内容相关问题,非单纯重叠):

检查项 关注现象 修复方式
标签截断 节点/边上的文字被裁剪 缩短文字,或使用
换行
密度过高 节点过多、连线缠绕 切换 TD↔LR 方向,拆分为多个 subgraph,或减少节点数量
方向错误 图像过宽或过高 调整 flowchart TD↔LR(类图/状态图中可设置 direction)
边线混乱 大量交叉连线 调整节点声明顺序,使关联节点相邻;使用 subgraph 分组
图表类型错误 所选类型不匹配内容语义 切换类型(如 gantt、sequenceDiagram、stateDiagram-v2 等)
对比度不足 文字与填充色融合难辨 更换主题 / 使用 classDef 定制样式,或选用更高对比度主题

最多执行 2 轮 自查;每次修复后均需重新验证 + 重新导出。若无视觉能力,可跳过此步,直接展示图像。

评审循环

展示图像 → 收集反馈 → 应用最小化的 .mmd 修改 → 重新验证 + 重新导出:

用户请求 修改操作
修改某个标签 编辑对应节点/边的文字
增删节点或边 增加/删除对应行
修改颜色 切换 --theme,或添加 classDef + class
修改布局方向 切换 TD↔LR,或设置 direction(类图/状态图)
重构 / 分组 用 subgraph 包裹相关节点,或重新生成

每轮均覆盖同名 diagram.mmd 文件及输出文件 —— 不要创建 v1、v2 等版本。超过 5 轮后,建议前往 mermaid.live 进行精细化调整。

示例

示例 1 — API 认证流程(序列图)

sequenceDiagram
  participant C as Client
  participant G as API Gateway
  participant A as Auth Service
  participant D as Database

  C->>G: POST /login {email, password}
  G->>A: validate(credentials)
  A->>D: SELECT user WHERE email=?
  D-->>A: user record
  A-->>G: 200 OK + JWT token
  G-->>C: {token: "eyJhbG..."}

渲染命令:node scripts/render.mjs -i auth-flow.mmd -o auth-flow.svg --theme tokyo-night

示例 2 — 微服务架构(流程图)

flowchart TD
  subgraph Clients
    M[Mobile App]
    W[Web App]
  end
  GW[API Gateway]
  subgraph Services
    US[User Service]
    OS[Order Service]
    PAY[Payment Service]
  end
  subgraph Data
    UDB[(User DB)]
    ODB[(Order DB)]
    REDIS[(Redis Cache)]
  end
  M & W --> GW
  GW --> US & OS & PAY
  US --> UDB
  OS --> ODB
  PAY --> REDIS

导出 PNG:mmdc -i ecommerce-arch.mmd -o ecommerce-arch.png -w 2048 --backgroundColor white

示例 3 — 订单生命周期(状态图)

stateDiagram-v2
  [*] --> Pending : order created
  Pending --> Confirmed : payment success
  Pending --> Cancelled : timeout/cancel
  Confirmed --> Shipped : dispatched
  Shipped --> Delivered : received
  Delivered --> [*]
  Cancelled --> [*]

README 中的 ASCII 渲染:node scripts/render.mjs -i order-states.mmd -f ascii --use-ascii

常见错误

错误 修复方式
mmdc 报错 Could not find Chrome npx puppeteer browsers install chrome-headless-shell(或改用 Kroki)
Cannot find module 'beautiful-mermaid' 首次运行时自动安装;否则在技能根目录执行 npm install
Kroki 导出 PDF 失败(HTTP 400) Kroki 对 Mermaid 仅支持 PNG/SVG;PDF 请使用 mmdc
序列图中箭头方向错误 ->> 表示请求,-->> 表示响应
标签中含特殊字符 加引号包裹:A["Label: value"]
PNG 空白或尺寸极小 添加 -w 2048 参数(mmdc)
参与者顺序错误 在顶部显式声明 participant
子图名称含空格 加引号包裹:subgraph "My Layer"

完整后端参数与排错指南详见 RENDERING.md。

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习