# 在你 Mac 上原生渲染的 Mermaid 编辑器

> Mernyx 是一款 macOS 原生 Mermaid 编辑器。在画布上移动一个节点，真正的 Mermaid 源码跟着走——没有 WebView，没有 Electron。

移动一个节点，Mermaid 源码跟着变。改一处文字，画布重新编译。

- macOS 14.0+
- 34 种图表族
- PNG · SVG · PDF
- AI 生成与修复（Pro）

[购买 Mernyx Pro — $19](https://checkout.dodopayments.com/buy/pdt_0NqGkcihHxe79ekZgVhC4?redirect_url=https%3A%2F%2Fmernyx.com%2Fthanks%2F)

[免费下载](https://releases.mernyx.com/Mernyx-1.0.0.dmg)

![Mernyx 窗口里打开着一张 Mermaid 流程图。左侧源码编辑器显示六行带语法高亮的代码，其中 C 节点被高亮；中间的画布显示渲染出来的图，选中的是「Let me think」那个菱形节点；右侧属性检查器显示同一个节点的显示名、填充、描边、文字颜色、宽度、不透明度和形状。](/app-window.webp)

一份文档，三个视图。源码里高亮的那一个，就是画布上选中的那一个——也就是右边展开属性的那一个。

## 三栏改的都是同一份文档

在属性检查器里改一个颜色，源码里多一条样式规则，画布跟着重画。谁也不是谁的截图。

```mermaid
flowchart TD
    A[Christmas] -->|Get money| B(Go shopping)
    B --> C{Let me think}
    C -->|One| D[Laptop]
    C -->|Two| E[iPhone]
    C -->|Three| F[Car]
    style C color:#ffffff,fill:#F4431E
```

### 编辑写回的是 Mermaid

添加节点、连接两个、拖一条边、复制。画布写出的是标准 Mermaid 语法，不是旁挂的附属文件，也不是私有格式。

### 属性也是 Mermaid

填充、描边、文字颜色、宽度和不透明度都写成普通的样式规则，属性检查器里会标明它来自直接样式，不是主题默认值。

### 一次撤销，不是三十次

连续的属性编辑合并成一次文本撤销。⌥⌘I 整理文档时不碰注释和语句顺序。

## 没有 WebView。没有 JavaScript 桥。没有 Electron

大多数 Mermaid 工具是穿着桌面戏服的浏览器。Mernyx 原生绘制每一个节点，原生解算每一个布局。

### 由 AppKit 绘制

每个节点都是真正的视图，不是网页里假装成节点的 div。滚动始终顺滑，因为根本没有文档需要重新排版。

### 原生计算布局

几何由专门的布局引擎算出来，不是由网页视图排出来的。Mernyx 并非没有依赖——它只是不是一个浏览器。

### 是文件，不是文档

在 Finder 里打开任意 .mmd 或 .mermaid 文件。用快速查看原地预览，不启动任何东西也能看到缩略图。

## 34 种图表族

流程图、时序图、类图、状态图、ER 图、思维导图、C4、甘特图、旅程图、看板、xychart、ZenUML，还有 22 种——每一族都有自己的语法高亮关键字表、自己的布局和自己的编辑规则。

「覆盖」的意思是每一族都有一个能编译出非空场景的模板。不是指每一条语法和每个视觉细节都做完了。

流程图在画布上可以完整编辑。其他族支持其中越来越多的子集——能力矩阵列出了 34 个族各自能改什么，而 App 里这一族做不到的操作压根不摆出来。

## 图标是画出来的，不是拼出来的

Mermaid 里图标写作 fa:fa-user。GitHub 的 Mermaid 渲染器把这几个字母画出来，而不是图标本身。Mernyx 内置了 Font Awesome Free 字形，所以画布上显示的是图标——导出的 SVG 里带的是它的轮廓，而不是一个字体引用。

```mermaid
flowchart LR
  A([fa:fa-user User]) --> B([fa:fa-server Server])
  B --> C([fa:fa-database Database])
```

![一张从左到右的流程图，三个方框分别标着 User、Server 和 Database，每个标签前面都有一枚小小的 Font Awesome Free 图标：一个人、一台服务器机架和一个数据库圆柱。](/diagrams/flowchart/icons.svg)

Icons: Font Awesome Free, CC BY 4.0

### 整套免费图标都在 App 里

Font Awesome Free 7.3.1 随 Mernyx 一起发布——2,163 个图标，覆盖 solid、regular 和 brands 三种风格。不用安装也不用下载：字形在二进制文件里，你导出的文件同样不需要它们。

### 导出带的是轮廓

图标以路径的形式进入 SVG，而不是以字体名进入。在没装 Font Awesome Free 的机器上打开那个文件，图标依然在，并且跟着整张图一起缩放。

### 节点本身可以是图标

节点可以就是那个图标本身：@{ icon: “fa:user” } 会在字形外面画一个框，标签放在框外的一条色带上。同一套图标，多一种可选的形状。

两种写法都是 Mermaid 自己的——标签里的 fa:fa-user，节点上的 @{ icon: … }。没有 Mernyx 专属的东西要学，文件也还是普通的 .mmd。

## 描述一张图，或者修好那张编译不过的

两个入口，都跑在你自己的端点和自己的密钥上。模型只负责写 Mermaid 源码——编译、布局和绘制仍然由 Mernyx 来做，而且在你点应用之前，什么都不会写进你的文件。

### 用一句话生成一张图

在画布底部的输入栏里打字。Mermaid 源码会流式写进编辑器，画布边收边画，所以你能在它落盘之前逐行读完。Mernyx 负责编译结果；如果解析不过，错误会回传给模型让它重试。在你点「应用」之前，你的文件原封不动——而点错了，一次 ⌘Z 就撤回来了。

### 修好那张编译不过的

源码解析不过时，诊断栏会提供「用 AI 修复」。出问题的文件和它的诊断信息会发给你的模型，回来的是一份行级差异——所以在接受之前，你能确切看到改了哪里。只有当错误数真的变少了，「应用」才会出现，而这个判断来自引擎，不是来自模型。

### 你的端点，你的密钥

把 Mernyx 指向任意兼容 OpenAI 的端点——OpenAI、OpenRouter、DeepSeek、Groq、通义千问，或者通过 Ollama、LM Studio 跑在这台 Mac 上的模型。密钥存在你的 macOS 钥匙串里，请求从你的 Mac 发给你选的服务商。Mernyx 没有账号，中间也没有服务器。

### 模型负责写，引擎负责画

模型只返回 Mermaid 源码，别的什么都不返回。布局、配色和形状仍然由 Mernyx 的引擎决定，所以生成的图和手画的图出自同一个渲染器。

### 先审，再应用

两条路径最后都落到「应用」或「放弃」。放弃不会动文档，也不会进撤销栈；应用是一步替换，⌘Z 一步就能撤回来。

AI 生成和修复属于 Pro。免费版也能先把端点、模型和密钥配好——Pro 一解锁它们就开始工作。

## 这扇窗口还做的其他事

八件小事，没有一件配得上单独一章，但你一旦停用就会立刻发现少了它们。

### 导出

PNG、SVG 和 PDF，都从同一个场景直接产出，不用绕道浏览器的打印对话框——不过少数图元在位图导出里还是会略有差别。

### 格式化文档

⌥⌘I 在不碰标记内容、注释和语句顺序的前提下，统一空白和流程图块的缩进。

### 源码 ↔ 画布联动

把光标放在源码的某个节点上，画布就高亮它——只有不在视野里时才滚动，而且绝不会抢走键盘焦点。在「设置 › 画布 › 联动」里开关。

### 快速查看与缩略图

直接在 Finder 里预览 .mmd 和 .mermaid 文件，支持滚动缩放、拖拽平移和系统浅色／深色。

### 示例与模板

14 个场景示例，外加全部 34 族各自的起手骨架，分成 5 个可搜索的分类。

### 键盘优先

菜单项按图表族和按选中情况分别启用，快捷键和菜单共用同一张绑定表。

### 带位置的诊断

每一族都把自己的关键字表和引擎给出的事实合并起来，所以带位置的诊断会被标成源码范围。

### 画布网格（可选）

默认关闭，而且永远不影响导出结果。

## Mermaid 速查表

Mermaid 的语言分散在几十个族里各自成文。速查表覆盖的是核心那些：源码、它画出来的图，以及每条规则是干什么用的一行说明。

速查表上的每一张图都由 Mernyx 自己绘制——就是 App 画布用的那个原生渲染器。

[速查表](/zh/cheat-sheet/index.md)

## 常见问题

### Mernyx 渲染图表需要浏览器吗？

不需要——里面既没有 WebView，也没有 JavaScript 桥。几何由专门的布局引擎计算，每个形状都用 CoreGraphics 绘制。

### 哪些图表族可以在画布上编辑？

流程图在画布上的编辑能力最全：增删节点、连接与重连边、在边的中间插入节点、改样式、原地改名。其他族支持其中越来越多的子集，而改名几乎处处可用。能力矩阵列出了全部 34 个族各自能做什么——画布上的与源码里的——让你在买之前就能拿自己的图对一遍。App 里说的也是同一件事：某个族做不到的操作压根不摆出来；只是此刻不行的（正在编译、语法有错）那才会置灰，而不是悄悄什么也不做。

### 能用 Font Awesome 图标吗？

能——这是 Mermaid 自己的语法，Mernyx 画的是字形而不是字母。整套 Font Awesome Free 都打包进来了：2,163 个图标，覆盖 solid、regular 和 brands 三种风格，不用安装也不用下载。节点本身也可以就是那个图标，写成 @{ icon: “fa:user” }。有两样东西不在盒子里：Pro 专属的样式（fal: 和 fak:），以及 Font Awesome 之外的任何图标包。名字不在打包范围内时，会留下一个图标宽的空白，什么也不画——但绝不会让文档出错。

### 它能替我写图吗？

生成（⇧⌘G）把一句话变成 Mermaid 源码。它一边流式写进编辑器，画布一边画，Mernyx 负责编译结果，解析不过就把错误回传给模型重试。在你点「应用」之前，你的文件原封不动——而点错了，一次 ⌘Z 就撤回来了。它是一个表单加一次审阅，不是一个聊天窗口。

### 它能替我修语法错误吗？

本地没有一键修复——诊断是拿各族的关键字表去匹配的，背后没有确定性的重写规则。「用 AI 修复」（⌥⌘F）确实存在：它把出问题的源码发给你配置的 AI 端点，回来一份修正后的文档，由你审阅后再应用。

### 用 AI 时我的图会去哪里？

从你的 Mac 直接发到你配置的端点。Mernyx 没有账号，中间也没有服务器：密钥在你的 macOS 钥匙串里，请求发给你选的服务商，除此之外什么都离不开你的 Mac。这也是为什么没有按次计费这回事——token 是你自己的。AI 生成和修复属于 Pro，免费版可以先把端点、模型和密钥配好。

### 它会重写我的源码格式吗？

属性和标签的编辑只改动确切的源码范围。结构性的编辑会重组文档——先是节点，然后是边，然后是样式——这会统一空白，也不保留你原来的排布。⌥⌘I 是更温和的一条路：它保留标记内容、注释和语句顺序。

### 它需要什么？

macOS 14 或更高版本。它是原生 App，所以没有浏览器、运行时或插件要另外安装。

### Mernyx 完成到什么程度了？

它是一件专注的工具，不是一件完成品——当前版本是 1.0.0，而且变化频繁。如果你的工作流依赖它，请在动手之前发邮件到 hi@mernyx.com，我会直接告诉你它合不合适。

### 怎么报告 bug 或提功能需求？

发邮件到 hi@mernyx.com。Mernyx 是一个人的项目，每封邮件都会有人读。

## 原生绘制

Mernyx 是一扇原生窗口：左边是源码，中间是真正的矢量画布，右边是属性检查器。
