当前位置: 首页 > news >正文

AI 辅助生成 Mermaid 流程图

文章目录

    • 背景
    • Mermaid
    • 使用 AI 编写 Mermaid
    • 应用

背景

  • 在 markdown 文档中虽然可以插入图片,但是也需要管理图片,一旦图片位置变了,文档中的图片就无法显示。
  • 图片占用空间较大,对于在线文档,为了加载速度,能不使用图片就不使用。
  • Mermaid 流程图是一个非常好的工具,基于文本快速绘制各种图表(如流程图、时序图、甘特图等)。
  • 人工手动编写 Mermaid 有点小繁琐,但是借用 AI 之力,绘制流程图效率非常高。

Mermaid

Mermaid 是一种基于文本的图表生成工具,可以通过简单的语法快速绘制各种图表(如流程图、时序图、甘特图等)。它易于编写、可嵌入 Markdown,并支持实时渲染,非常适合文档编写和技术绘图。

Mermaid 流程图核心特点

  1. 简单直观
    • 使用纯文本描述,语法类似自然语言。
    • 无需图形界面,直接嵌入代码即可生成图表。
  2. 常用图表支持
    • 流程图(Flowchart):描述步骤和决策逻辑。
    • 时序图(Sequence Diagram):展示交互时序(如支付流程例子)。
    • 其他:类图、状态图、甘特图等。
  3. 跨平台兼容
    • 支持 GitHub、GitLab、VS Code、Obsidian 等平台的 Markdown 渲染。

为什么用 Mermaid?

  • 效率高:改代码比拖拽图形更快。
  • 版本友好:文本格式便于 Git 管理。
  • 轻量化:无需依赖复杂工具(如 Visio)。

使用 AI 编写 Mermaid

很早就了解过 Mermaid,但是由于都需要自己手动编写文本,还是有些繁琐和困难,而且往往自己编写的效果不如自己想象的那么好。

借助 AI,将现有的图片格式的流程图丢给 AI 工具,让它根据图片生成 Mermaid 流程图,或者我描述流程内容,让它生成流程图,大大节省了时间和精力。

目前用来生成 Mermaid 的 AI 工具有:Claude、Gemini、Grok、Deepseek、Chatgpt,为啥要用这么多呢?

同样的一张流程图,丢给不同的 AI 工具,生成的 Mermaid 图,往往不一样,特别是流程稍微复杂一点。

于是我集众多 AI 工具之力,第一版先得到一个预期结构符合的结果,将这个结果,也就是生成的 Mermaid 文本,分别再输入给 AI 工具,不断优化和调整局部。

在这里插入图片描述

应用

下面是3张 AI 生成的 Mermaid 流程图(非图片格式):

下单支付流程

用户 前端 服务端 微信后端 1.创建订单 2.提交订单 3.支付下单 4.返回支付二维码地址 5.前端轮询查询订单状态 6.前端将支付二维码地址转为二维码图形 7.用户扫码 7.用户发起支付 8.商城回调接口 9.服务器接收并更新订单信息状态 二维码包含商户信息、订单信息以及商城回调地址 用户 前端 服务端 微信后端

对应的 mermaid 文本:

sequenceDiagramparticipant 用户participant 前端participant 服务端participant 微信后端前端->>服务端: 1.创建订单前端->>服务端: 2.提交订单前端->>服务端: 3.支付下单服务端-->>前端: 4.返回支付二维码地址前端->>服务端: 5.前端轮询查询订单状态前端->>前端: 6.前端将支付二维码地址转为二维码图形用户->>前端: 7.用户扫码用户->>微信后端: 7.用户发起支付微信后端->>服务端: 8.商城回调接口服务端->>服务端: 9.服务器接收并更新订单信息状态Note over 前端: 二维码包含商户信息、订单信息以及商城回调地址

token鉴权

用户 客户端 服务器 输入用户名和密码 发送登录请求 (用户名, 密码) 返回 Token (包含身份信息和有效期) Token 是加密字符串 包含用户身份信息 服务器不存储状态 存储 Token (如 LocalStorage) 发起操作请求 发送请求 (Header: Authorization: Bearer Token) 验证 Token (解密, 检查有效期) 无需查数据库 直接验证 Token 返回操作结果 用户 客户端 服务器

对应的文本:

sequenceDiagramparticipant 用户participant 客户端participant 服务器用户->>客户端: 输入用户名和密码客户端->>服务器: 发送登录请求 (用户名, 密码)服务器-->>客户端: 返回 Token (包含身份信息和有效期)Note right of 服务器: Token 是加密字符串<br>包含用户身份信息<br>服务器不存储状态客户端->>客户端: 存储 Token (如 LocalStorage)用户->>客户端: 发起操作请求客户端->>服务器: 发送请求 (Header: Authorization: Bearer Token)服务器->>服务器: 验证 Token (解密, 检查有效期)Note right of 服务器: 无需查数据库<br>直接验证 Token服务器-->>客户端: 返回操作结果

Cookie+Session鉴权

用户 客户端 服务器 输入用户名和密码 发送登录请求 (用户名, 密码) 生成 Session ID, 存储 Session 数据 Session 数据存储在服务器 如内存或数据库 返回 Cookie (包含 Session ID) 浏览器自动存储 Cookie 发起操作请求 发送请求 (自动携带 Cookie: Session ID) 根据 Session ID 查询 Session 数据 需查数据库或内存 验证 Session 有效性 返回操作结果 用户 客户端 服务器
http://www.lqws.cn/news/484399.html

相关文章:

  • Python 的内置函数 help
  • Matplotlib入门指南:从安装到绘制基本图形
  • 给docker 配置代理 IP机端口
  • Protobuf 与 JSON 的兼容性:技术选型的权衡与实践
  • Hadoop部署(HA)高可用集群
  • 编程语言分类大全:从系统到AI开发
  • Go 循环依赖的依赖注入解决方案详解
  • Maven通过修改pom.xml配置文件下载指定依赖包,以及解决MVNRepository网站加载和验证问题的方法
  • 【人工智能基础】初识神经网络
  • 仕么是GAN网络和原理和架构
  • 核弹地图NUKEMAP官网- 核弹爆炸在线网页模拟器网站
  • ThermoMPNN/ThermoMPNN-D 的安装及使用教程
  • UE5关卡快照
  • 深入理解Spring的ResponseBodyAdvice接口
  • 业务场景问题
  • 【提高+/省选−】洛谷P1127 ——词链
  • 【学习笔记】深入理解Java虚拟机学习笔记——第11章 后端编译与优化
  • python+uni-app基于微信小程序的儿童安全教育系统
  • linux-vim编辑器
  • RA4M2开发IOT(6)----涂鸦模组快速上云
  • RA4M2开发IOT(10)----集成LPS22DF气压计
  • FPGA故障注入测试软件使用指南
  • 文心一言(ERNIE Bot):百度打造的知识增强大语言模型
  • jenkins对接、jenkins-rest
  • Rust智能指针演进:从堆分配到零复制的内存管理艺术
  • (双指针)283. 移动零
  • [踩坑] vmware 虚拟机卡片全灰, 开机没反应
  • 用 Python 绘制动态方块热力图:从数据到可视化的完美蜕变
  • 【51单片机】串口通信
  • 使用FastMCP开发MCP服务简单尝试