1. 为什么你需要这个“文本画图”的神奇组合?

如果你和我一样,是个经常需要写技术文档、做系统设计或者画项目流程图的开发者,那你肯定经历过这样的痛苦:打开一个专业的绘图软件,比如 Visio 或者 Draw.io,然后开始用鼠标拖拽一个个方框、箭头,费劲地调整它们的位置和对齐方式。好不容易画好一张图,需求稍微一变,整个图的结构就得推倒重来,那种感觉真是让人抓狂。

后来我发现了 Mermaid,感觉像是打开了新世界的大门。它让我可以用写代码的方式“画”图。但新的问题又来了:有时候我脑子里有清晰的逻辑,却不知道如何用 Mermaid 的语法准确地表达出来,或者写出来的代码总感觉不够优雅,布局乱七八糟。

直到我开始用 DeepSeek 配合 Mermaid,这两个问题才真正被解决。简单来说,DeepSeek 负责理解你的“人话”意图,并把它翻译成精准的 Mermaid 代码;而 Mermaid 则负责把这段代码瞬间渲染成清晰、专业的图表。 你不需要精通 Mermaid 的所有语法细节,甚至不需要安装任何软件,就能在几分钟内产出过去需要半小时才能搞定的专业图表。这套组合拳,特别适合那些想提升文档质量、但又不想在画图上耗费太多精力的程序员、产品经理和项目经理。

2. 零基础搭建你的“AI画图”工作流

很多人觉得用代码画图门槛很高,其实用上 DeepSeek,整个过程简单到超乎想象。你完全不需要先去啃一遍 Mermaid 的官方文档,我们可以直接从实战开始。

2.1 你的第一个“AI画图”环境

首先,你只需要两个东西:一个能上网的浏览器,和一个 DeepSeek 的账号。DeepSeek 的网页版是完全免费的,直接访问官网注册登录就能用。这就是你的“画图工作室”了,不需要下载客户端,更不需要配置复杂的开发环境。

接下来,我们试试让 DeepSeek 帮你画第一张图。你不需要知道任何语法,就像和朋友聊天一样告诉它你的需求。比如,你可以这样输入:

“帮我画一个用户登录系统的流程图,用 Mermaid 语法。”

DeepSeek 通常会直接给你回复一段包裹在 ````mermaid` 代码块中的文本。这段文本就是 Mermaid 代码。但这里有个关键步骤:DeepSeek 的对话界面本身可能不会直接渲染出图形(取决于平台)。不过别担心,我们有更强大的“画布”。

2.2 一键渲染:把代码变成真正的图

拿到 DeepSeek 生成的代码后,我们需要一个地方来把它变成可视化的图表。这里我强烈推荐 Mermaid 官方的在线编辑器:Mermaid Live Editor。你直接在浏览器里搜索这个名字就能找到,它的网址通常是 mermaid.live

这个工具好用到什么程度呢?它左边是代码编辑区,右边是实时预览区。你把从 DeepSeek 那里复制来的代码,粘贴到左边,右边的图表几乎是瞬间就生成了。你可以随意修改代码,比如改个文字、调个颜色,右边立刻同步更新。画好之后,点击右上角的下载按钮,就能把图表保存成 PNG 或者 SVG 格式,直接插入你的文档或PPT里。

我自己的标准工作流就是:在 DeepSeek 里描述需求、生成并微调代码 -> 复制代码到 Mermaid Live Editor 进行最终渲染和导出。 整个过程都在浏览器里完成,无缝衔接。

2.3 从“提需求”到“出成品”的完整对话示例

光说可能不够直观,我带你完整走一遍。假设我现在需要为一个简单的文章发布系统画流程图。

我对 DeepSeek 说: “我想画一个博客文章发布的审批流程图。流程是:作者提交文章草稿,系统先进行自动敏感词检测。如果检测不通过,就退回给作者修改;如果通过,就进入编辑人工审核环节。编辑审核通过则直接发布,审核不通过则给出修改意见并退回。请用 Mermaid 的 flowchart TD(自上而下)布局。”

DeepSeek 可能会生成类似下面的代码:

graph TD
    A([作者提交草稿]) --> B{自动敏感词检测}
    B -->|检测不通过| C[退回作者修改]
    B -->|检测通过| D[编辑人工审核]
    D -->|审核不通过| E[提出修改意见]
    E --> C
    D -->|审核通过| F([文章发布])
    C --> A

    style A fill:#e1f5fe
    style F fill:#c8e6c9
    style C fill:#ffebee

你把这个代码块里的内容(不包括开头的 mermaid` 和结尾的 )完整复制,粘贴到 Mermaid Live Editor 的左侧代码区。立刻,你就能在右侧看到一个结构清晰、带颜色的流程图。如果觉得“自动敏感词检测”这个菱形判断框位置有点挤,你可以直接在编辑器里把 graph TD 改成 graph LR(从左到右布局),图表瞬间就变成了横向排列,可读性更高。这种即时反馈和修改的体验,是传统拖拽式绘图软件无法比拟的。

3. 六大核心图表实战:从语法到高级技巧

掌握了基本工作流,我们就可以深入看看 Mermaid 最常用的几种图表,以及如何用 DeepSeek 高效生成它们。我会分享一些我踩过坑之后才总结出来的实用技巧。

3.1 流程图:把复杂流程讲清楚

流程图是我们最常用的,用来描述算法、业务流程再好不过。Mermaid 流程图的基本骨架很简单:graph [方向] 开头,然后用箭头 --> 连接各个节点。节点用不同括号表示不同类型:[ ] 是矩形步骤,{ } 是菱形判断,( ) 是圆角矩形,(( )) 是圆形。

但新手最容易遇到的问题就是布局混乱。一张图如果有十几个节点,默认画出来可能会线条交叉、难以阅读。这时候,除了调整 TD(上下)、LR(左右)这种整体方向,你还可以在 DeepSeek 的指令里加入更多布局提示。比如,你可以这样要求:

“画一个订单处理流程图,用 Mermaid。注意使用 subgraph 把‘支付模块’和‘库存模块’的节点分组,让结构更清晰。”

DeepSeek 就会生成包含子图的代码,子图就像是一个透明的容器,把相关的节点包在一起,视觉上立刻就有模块化的感觉了。此外,你还可以要求它对特定节点染色,比如“请将成功结束的节点设为绿色,失败节点设为红色”,DeepSeek 就会在代码里加上 style 语句。这些样式指令,你都可以在 Mermaid Live Editor 里实时调整颜色代码,直到满意为止。

3.2 时序图:理清系统间的对话

时序图是描述组件间交互顺序的神器,特别适合画 API 调用链或者微服务之间的通信。它的核心是“生命线”和“消息”。在 Mermaid 里,用 sequenceDiagram 声明,参与者会自动生成一条垂直的虚线(生命线)。

这里有个非常实用的高级技巧:激活期。在消息箭头后面加 + 号,表示激活(比如开始处理),用 - 号表示取消激活(比如处理结束)。这能让图表清晰地展示出哪个时间段哪个对象是活跃的。你可以直接让 DeepSeek 生成带激活期的时序图:

“画一个用户从前端访问,经过网关、认证服务、用户服务,最后查询数据库并返回的时序图。请使用激活期(+和-)来标示方法的执行范围。”

生成的代码中,你会看到类似 前端->>+认证服务: 携带Token请求认证服务-->>-前端: 返回认证结果 这样的语句。渲染出来后,对应参与者的生命线上就会有一段突出的矩形,一目了然地显示出调用栈的深度,这对于调试复杂的调用链非常有帮助。

3.3 类图:面向对象设计的可视化

类图是 UML 的核心,用来表示系统的静态结构。Mermaid 的类图语法非常直观,定义类成员时,用 + 表示 public- 表示 private# 表示 protected。关系则是关键:<|-- 表示继承,*-- 表示组合,o-- 表示聚合,--> 表示关联。

对于不常画 UML 的人来说,记忆这些关系符号是个负担。但有了 DeepSeek,你完全可以用自然语言描述关系。比如你说:“有一个 Vehicle(交通工具)基类,Car(汽车)和 Bike(自行车)继承它。Car 拥有一个 Engine(引擎)对象,是组合关系。Car 还关联到一个 Owner(车主)类。” DeepSeek 就能准确地翻译成正确的 Mermaid 类图代码,包括继承的三角箭头和组合的实心菱形箭头,这些细节它都能处理好。

3.4 状态图:描绘对象的一生

状态图用来描述一个对象在其生命周期内所经历的状态序列,以及如何响应各种事件。Mermaid 的状态图以 stateDiagram-v2 开头。[*] 表示起始和终止状态。

画状态图时,最容易遗漏的是状态的自环转换,即某个事件触发后,状态保持不变。比如“正在播放”的播放器,收到“暂停”指令后变为“已暂停”,但收到“调节音量”指令时,状态依然是“正在播放”。你可以这样指导 DeepSeek:“画一个音乐播放器的状态图,包含‘关闭’、‘播放中’、‘已暂停’状态。‘播放中’状态下,‘音量调节’事件不会导致状态改变。” DeepSeek 就会生成类似 播放中 --> 播放中: 音量调节 的代码,在图上就是一个从状态出发又指向自己的箭头,逻辑非常清晰。

3.5 甘特图:项目管理一目了然

甘特图是项目管理的必备工具。Mermaid 的甘特图语法关键在于定义任务之间的依赖。使用 after 关键字是核心技巧。你不需要手动计算每个任务的起止日期,只需要定义第一个任务的开始日期和持续时间,后续任务用 after [任务id] 来衔接即可。

你可以给 DeepSeek 一个任务列表:“为一个移动App开发项目画甘特图,包含需求分析(5天)、UI设计(在需求分析之后,7天)、前端开发(在UI设计之后,10天)、后端开发(与前端开发同时开始,12天)、测试(在前端后端都完成后,5天)。从2024-01-01开始。” DeepSeek 会为每个任务分配一个 id(如 req_analysis),并利用 after 正确地排列所有任务,自动处理并行任务(后端开发和前端开发)的展示,生成一个非常专业的项目时间线图。

3.6 饼图与思维导图:让数据与思路可视化

饼图语法最简单,就是 pie title “标题” 然后 “标签” : 数值。你可以让 DeepSeek 直接根据数据生成,比如“用饼图展示我本月的时间分配:工作 40%,学习 25%,娱乐 20%,休息 15%。”

除了上述图表,Mermaid 还支持思维导图,这对于整理思路、头脑风暴特别有用。语法是 mindmap 开头,用括号缩进来表示层级。你可以对 DeepSeek 说:“以‘人工智能学习路径’为中心主题,画一个思维导图,一级分支包括‘数学基础’、‘编程语言’、‘机器学习框架’、‘深度学习’,每个一级分支再展开两到三个二级分支。” DeepSeek 生成的思维导图代码,在 Mermaid Live Editor 里渲染出来是那种可以动态展开收缩的树形图,视觉效果和交互性都很棒。

4. 超越基础:让图表既专业又美观

能画出来只是第一步,画得漂亮、符合规范才能体现专业性。Mermaid 提供了丰富的定制选项,而 DeepSeek 可以帮助你快速应用它们。

4.1 使用主题快速切换风格

Mermaid 内置了几套主题,就像 PPT 模板一样,可以一键改变整个图表的配色风格。你只需要在代码的最开头,加上一行初始化指令。例如,想要一个深色背景的图表,你可以让 DeepSeek:“为下面这个流程图代码加上暗黑主题(dark theme)。” DeepSeek 会在你提供的代码前加上 %%{init: {'theme': 'dark'}}%% 这行注释。除了 dark,还有 forest(森林绿)、neutral(中性)等主题可选,这能让你快速让图表适配不同的文档背景。

4.2 精细控制样式与交互

如果你对主题还不满意,想自定义某个节点的颜色、边框,甚至字体,Mermaid 也支持通过 CSS 样式进行精细控制。语法是 style 节点ID fill:#颜色,stroke:#边框色,stroke-width:2px,color:#文字颜色。你可以直接向 DeepSeek 提这样的需求:“在我的流程图中,把‘开始’和‘结束’节点填充为浅绿色,把‘错误处理’节点填充为浅红色,并把所有节点的字体改为微软雅黑。”

对于时序图,你还可以添加注释框(Note),用来解释某一步骤。比如在“用户发送请求”和“服务器响应”之间,加一个注释“网络延迟约100ms”。你可以说:“在之前的时序图里,在‘前端发送请求’到‘后端接收请求’这条消息旁边,添加一个右侧注释,内容为‘经过API网关’。” DeepSeek 就会插入 Note right of 后端: 经过API网关 这样的代码,让图表承载更多信息。

4.3 处理复杂布局与常见问题

当图表变得复杂时,你可能会遇到连线交叉、节点重叠的问题。除了使用 subgraph 分组,Mermaid 还允许你使用 linkStyleinterpolate 等高级指令来微调线条的样式和路径。不过,对于大多数情况,一个更简单的技巧是:明确指定节点的位置关系。你可以在描述中告诉 DeepSeek:“确保在这个系统架构图中,‘数据库’节点位于所有微服务节点的正下方。”虽然 Mermaid 主要是自动布局,但通过添加一些虚拟节点和不可见连接,有时可以间接影响布局,DeepSeek 在生成代码时可能会采用一些最佳实践来优化。

另外,几个常见的坑需要注意:一是中文字符,确保你的代码文件或编辑环境使用 UTF-8 编码,否则中文可能会显示为乱码。二是箭头样式--> 是实线箭头,-.-> 是虚线箭头,==> 是粗线箭头,用错了会影响语义。三是代码块标记,在 Markdown 中必须用 mermaid` 包裹,而不是 python 或 ````javascript。把这些细节告诉 DeepSeek,它能帮你生成语法上更健壮的代码。

5. 融入真实工作:我的高效实践案例

纸上谈兵终觉浅,我分享几个自己工作中真实的使用场景,你看完就能直接套用。

场景一:快速编写技术设计文档。 以前写设计文档,最耗时的部分就是画各种架构图和序列图。现在我的做法是,先用文字把模块划分和交互逻辑写清楚,然后直接复制这段文字给 DeepSeek,让它“将上面的架构描述转化为 Mermaid 流程图,将接口调用过程转化为时序图”。一分钟内,两份高质量的图表代码就出来了,放到 Mermaid Live Editor 里渲染、导出、插入文档,整个文档的颜值和专业度飙升。

场景二:会议中的实时可视化。 在技术评审或头脑风暴会议中,经常需要边讨论边画图。以前要么用白板(事后难以保存),要么一个人操作绘图软件让大家干等。现在,我可以直接共享 Mermaid Live Editor 的屏幕。当大家讨论出一个步骤时,我口述给 DeepSeek(或者直接打字),比如“在‘用户提交’后面增加一个‘数据校验’环节,校验失败则返回错误”,然后把 DeepSeek 返回的代码更新到编辑器中,图表瞬间刷新。所有人都能实时看到思路是如何被可视化的,效率极高,而且最终的图表代码还能直接保存下来。

场景三:自动化报告生成。 我们每周都有项目周报,需要更新项目甘特图。我写了一个简单的脚本,从项目管理工具里拉取最新的任务状态和完成百分比。然后,我让 DeepSeek 根据一个数据模板(比如任务名称、开始日期、工期、完成度),帮我生成 Mermaid 甘特图代码。脚本自动将数据填充到模板中,生成代码,再调用 Mermaid 的命令行工具(mermaid-cli)自动生成 PNG 图片,最后插入周报。整个过程完全自动化,彻底告别了手动拖拽更新。

这套 DeepSeek + Mermaid 的组合,本质上是将“绘图”这个创造性要求高但重复操作多的任务,转化为了“描述需求”和“调整文本”的任务。它降低了制作专业图表的技术门槛,让我们能把更多精力集中在思考逻辑和内容本身,而不是纠结于如何对齐一个箭头。从我自己的体验来看,它至少将我的图表制作效率提升了三倍以上,而且产出的图表风格统一,易于维护和版本管理。如果你还没试过,我建议你今天就用它来画一张图,那种“所想即所得”的畅快感,一定会让你回不去手动拖拽的时代。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐