编写技术文档时,最令人困扰的往往并非文档内容本身,而是如何将复杂的流程、系统架构等抽象概念转化为清晰直观的图表。近期,在Dify插件市场中,我发现了一款名为「Mermaid 转换器」的高效工具,它精准解决了这一痛点。经过实际测试,其表现令人满意。本文将详细记录我的使用过程与成果,希望能为有类似需求的读者提供参考。

安装
安装步骤十分便捷:只需进入Dify插件市场,搜索并安装【Mermaid 转换器】插件即可完成。
创建测试应用
安装完成后,请创建一个新的空白应用,应用类型选择Chatflow,并为其命名为“测试工具:Mermaid 转换器”。其整体工作流结构如下所示:
流程图的例子
首先,我们从最基础的流程图开始演示。Mermaid支持两种布局方向:横向(LR)和纵向(TD)。
flowchart LR
开始-->A;
A-->B;
B-->C;
C-->结束;
flowchart TD
开始-->A;
A-->B;
B-->C;
C-->结束;
通过简单的`A->B`箭头,即可清晰勾勒出节点之间的逻辑关系,非常直观易懂。
时序图、类图的例子
流程图仅是入门级应用,真正强大且实用的功能在于时序图和类图,尤其在系统设计或接口文档编写时不可或缺。
sequenceDiagram
actor 客户端
actor 服务端
客户端->>服务端: SYN
服务端-->>客户端: SYN + ACK
客户端->>服务端: ACK
上述示例模拟了经典的TCP三次握手过程,通过`actor`定义参与者,`->>`表示同步消息,`-->>`表示异步返回,逻辑一目了然。类图的表达方式类似,能够清晰展示类的属性与方法。
classDiagram
class BankAccount
BankAccount : +String owner
BankAccount : +Bigdecimal balance
BankAccount : +deposit(amount)
BankAccount : +withdrawal(amount)
状态图、实体关系图的例子
若需描述某个对象的完整生命周期,状态图是最佳选择。以下是一个简单的状态流转示例:
stateDiagram
[*] --> Still
Still --> [*]
Still --> Moving
Moving --> Still
Moving --> Crash
Crash --> [*]
实体关系图(ER图)则是数据库建模的核心工具,能够清晰定义表与表之间的关联关系。
erDiagram
客户 ||--o{ 订单 : places
订单 ||--|{ 商品 : contains
客户 }|..|{ 发货地址 : uses
例如,该示例描述了“一个客户可以拥有多个订单,一个订单包含多个商品”这样的一对多、多对多关联关系。
饼图、XY图的例子
数据可视化方面同样功能完备。饼图适用于展示各部分比例构成,而XY图则可同时呈现柱状图与折线图,非常适合进行销售数据分析。
pie title 志愿者收养的宠物
"狗" : 386
"猫" : 85
"鼠" : 15
xychart-beta
title "销售收入"
x-axis ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"]
y-axis "收入" 4000 --> 11000
bar [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000]
line [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000]
从数据趋势可以看出,销售收入在7月达到峰值后逐渐回落,图表呈现非常直观。
其他
当然,作为一款专业的图表绘制工具,Mermaid所支持的类型远不止上述这些。用户旅程图、甘特图、象限图、Git图等同样能够轻松实现。更多详细的语法说明,请参考Mermaid官方文档:https://mermaid.nodejs.cn/intro/。
总结
通过本次测试,【Mermaid 转换器】插件的基础功能已很明确。其输出格式默认为PNG,同时支持修改为JPG、SVG、PDF。在主题方面,除默认的Default外,还提供Dark、Neutral、Forest等选项。
在测试过程中,流程图2采用了Dark主题,时序图使用Neutral,类图则使用Forest,其余图表均保持默认设置。至于背景颜色、宽度、高度等参数,本次未进行额外调整。
输出结果将以文件(files)形式存储在工作流中。在直接回复节点时,只需关联工具输出的files变量,即可在对话中查看生成的图表。
实际上,如果不想手动配置工作流,也可以直接让AI协助填写参数,使整个过程更为省力。总而言之,该工具在团队协作或个人技术文档创作中,能够显著节省绘图时间,提升效率。
