Agent Skills
返回列表
Mermaid 图表渲染器

Mermaid 图表渲染器

设计多媒体 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_bf1d7f16/anymermaid-skill。

技能介绍

它解决什么问题

把架构图、流程图写进文档时,麻烦的往往不是画图本身,而是「描述」与「产物」之间的断层:改一行逻辑就要重新拖拽画布,导出的 PNG 在高分屏上糊成一片,或者渲染在无头环境里因为沙箱权限直接失败。AnyMermaid 的思路是反过来的——你只写文本,Mermaid 负责解析,mmdc 负责出图。

核心能力与工作流

技能覆盖 26 种 Mermaid 官方图表类型,从 graph / flowchart 流程图、sequenceDiagram 时序图,到 gantt、pie、gitGraph、C4Context、architecture-beta 等。类型确定后只读取 references/syntax.md 中对应的章节,不必把 400 多行语法整体载入上下文。

工作流大致如下:

  • 识别图表类型:按用户意图对照类型表,落到唯一的 Mermaid 关键字
  • 按需取语法:用 grep 定位章节边界,再用 read 的 offset / limit 精确切片
  • 决定是否落文件:图 ≤ 15 行且不需要保留源,走 stdin heredoc 一步直渲;否则写入当前工作目录的 .mmd 文件
  • 干跑校验:渲染到临时路径验证语法,失败时按错误行号修正后再正式渲染
  • 渲染与打开:按需求输出 .svg / .png / .pdf,headless 环境跳过打开动作并打印绝对路径
  • 保留源文件:渲染成功后保留 .mmd,仅当用户明确确认满意才删除

推荐默认参数为 -w 1600 -s 3。-s 只影响位图,对 SVG 无效;-w 对 SVG 依然生效,会改变初始布局宽度,长链 flowchart LR 尤其明显,因此 SVG 同样建议带上。

适用边界与注意点

  • 前置依赖:渲染前先检测 mmdc 是否可用。缺失时技能不会自行改动宿主环境,而是停下来提示用户先安装,等确认完成后再继续。
  • 沙箱:Docker、CI 与部分 Linux / WSL 下 Puppeteer 可能报 No usable sandbox,需要用 -p 传入 puppeteer 配置;macOS 与 Windows 桌面通常不需要。
  • 中文乱码:容器内缺少中文字体时需安装 fonts-wqy-zenhei 一类字库,桌面系统自带字体一般无需处理。
  • 语法严格:节点 ID 不能含空格,含括号等特殊字符的标签要用引号包裹,例如 A["节点 (文本)"];流程图关键字后必须跟随方向。
  • 大图截断:超出默认画布时增大 -w / -H,位图再加 -s。

使用场景

  • 技术评审前要画一张 C4 上下文图,把系统边界和外部依赖讲清楚并导出 SVG 贴进设计文档。
  • Merge Request 描述里需要一张 gitGraph 分支合并历史图,说明特性分支到主干的合并顺序。
  • 持续集成流水线里要把部署架构渲染成 PDF 归档,在无 GUI 的容器环境中跳过打开并打印绝对路径。
  • 写设计文档时要把登录注册流程画成流程图,源文件保留为 .mmd,方便后续修改节点后重新渲染。

适合人员

  • 撰写架构设计文档的后端工程师,需要在文档里固定附一张可随代码变更重新渲染的系统架构图。
  • 负责 CI 流水线的 DevOps 工程师,需要在无 GUI 容器里把部署拓扑渲染成 PDF 并归档。
  • 编写接口文档的技术作者,需要用时序图说明多个服务之间的交互顺序并输出可缩放 SVG。