用途:根据文字或结构化描述生成 Mermaid.js 图表,并对已有 Mermaid 语法做校验;也可用于挑选合适的图表类型,或对图表进行样式与主题设置。
主要能力:支持 18 种图表,包括流程图、时序图、甘特图、类图、状态图、ER 图、Git 图、用户旅程、四象限图、XY 图、饼图、架构图、块图、需求图、矩形树图、思维导图、时间线和桑基图。所有图表以类型关键字开头,可用前置 YAML frontmatter(--- 之间)配置 layout、look、theme,或用 %%{init: {...}}%% 指令内联配置;%% 开头为注释。
使用方式:按各类型语法书写图表定义,例如 flowchart TD、sequenceDiagram、gantt、classDiagram、stateDiagram-v2、erDiagram、gitGraph、journey、quadrantChart、xychart-beta、pie、architecture-beta、block-beta、requirementDiagram、treemap-beta、mindmap、timeline、sankey-beta。需要完整语法、边界情况或示例时,可查阅随附的 references/ 下对应文件。
校验:附带 scripts/validate.py,可用 uv run scripts/validate.py --input diagram.mmd,或 cat diagram.mmd | uv run scripts/validate.py --stdin 运行。校验内容包括图表类型关键字、括号配对、未加引号的破坏性词、frontmatter YAML 有效性及常见语法陷阱。输出为 JSON 到 stdout,诊断到 stderr;退出码 0 有效、1 无效、2 用法错误。
限制与注意:流程图和时序图中 end 为关键字,含 end 的节点文本需加引号,如 A["weekend"];frontmatter 必须位于最前;思维导图与矩形树图依赖缩进;时序图 autonumber 需紧跟 sequenceDiagram;甘特图必须设置 dateFormat;ER 基数顺序从左到右;桑基图数值列必须为数字;饼图数值必须为正;四象限坐标范围为 0–1;架构图标识须先声明后引用。具体收费、价格、平台与性能数据暂未提供。