
总有人私信问我能不能用 AI 把汇报 PPT 和系统架构图一起搞定最好还是开源方案免费、可控、不把公司数据往外传。答案是能而且组合起来特别好用。这篇文章我直接把我实测过的一套组合摊开讲用 Slidev 做演示文稿用 Mermaid 画架构图再用 draw.iodiagrams.net做人工精修另外把 Marp 作为轻量备选也拉出来对比一下。这套方案的思路很简单AI 负责生成内容和图表代码开源工具负责渲染和美化最后人工只做微调。不依赖任何在线会员体系数据全程本地处理哪怕在公司内网环境里也能跑起来。不管你是程序员想给技术方案配一页清晰的架构图还是产品经理要给客户做一份像样的方案 PPT又或者是技术博主想批量产出图文内容这套流程都值得收藏。1. 项目选型思路与三个开源项目的分工1.1 为什么不用商业AI工具反而折腾开源方案先说结论商业 AI 办公工具确实省事但在真实工作场景里我遇到过三个绕不开的问题。第一是数据隐私。公司内部的技术架构、客户名单、项目排期你输入到第三方在线平台等于把资料交给了别人。我见过不止一次产品资料在某个在线工具里生成了一张图事后怎么删都担心留痕。开源方案是本地跑数据不出设备这一条对很多企业场景来说是硬性要求。第二是定制能力。商业工具给的模板和版式是固定的改一个间距、换一套配色往往要跟客服提需求。而开源项目的底层是 HTML、CSS、Markdown想怎么改就怎么改。第三是成本。商业工具按年订阅单人还好团队用就是一笔不小的开支。开源项目部署在本地几个人协作都不用额外花钱。当然开源方案不是没有学习成本所以这篇文章我会把能直接抄的步骤、提示词和配置都写出来尽量让新人也能快速上手。1.2 一句话记住三款工具的分工这三款项目不是我随便挑的它们组合起来正好覆盖“内容生成、图表渲染、精修交付”三个环节工具定位核心能力适合谁Slidev演示文稿用 Markdown 写 PPT支持 Mermaid、LaTeX、代码高亮需要做技术分享、汇报 PPT 的人Marp轻量备选Markdown 快速转幻灯片安装部署最简单想快速出内容暂不需要复杂排版Mermaid图表生成用文本代码画架构图、流程图、时序图画系统架构图、方案示意图的人draw.io精修交付开源绘图工具支持导入 Mermaid 后再手工调整需要对架构图做最终美化的人记住了吗Slidev 管 PPTMermaid 管架构图draw.io 管最终精修Marp 是轻量备胎。1.3 这套方案适合哪些人我自己的使用场景大概有三类一是给团队做技术方案评审需要一页清晰的架构图加十来页演示文稿二是给客户做项目交付汇报架构图画得专业一点显得方案扎实三是写技术博客把系统设计思路用图表达出来。如果你也有类似的场景这套组合基本能覆盖。2. Slidev让 AI 帮你把 Markdown 变成演示文稿2.1 Slidev 的设计思路有什么特别Slidev 是 Anthony Fu 主导的开源项目底层基于 Vite 和 Vue。它的核心设计理念是“演示文稿应该是代码”每一页幻灯片就是一个 Markdown 块通过头部配置frontmatter控制布局、主题和样式。我第一次用的时候最直接的感受是再也不用在 PPT 软件里反复拖拽对齐了。Git 可以管理版本改动一目了然复制粘贴代码片段不会乱成一团要嵌入架构图、流程图、代码块直接在 Markdown 里写就行不需要切来切去。2.2 三分钟跑起来一个实例先保证电脑装了 Node.js 18 以上版本然后执行npm init slidevlatest my-ppt cd my-ppt npm run dev浏览器打开http://localhost:3030就能看到默认页面。接着把slides.md改成这样--- theme: seriph title: 系统架构汇报 --- # 系统架构汇报 ## 项目背景 - 业务增长带来的性能压力 - 微服务改造需求 - 从单体到微服务的演进路径 --- # 整体架构 mermaid graph TB A[客户端] -- B[网关] B -- C[用户服务] B -- D[订单服务]保存后幻灯片会自动刷新页面上的架构图就会渲染出来。是不是比传统 PPT 顺畅得多 ### 2.3 让 AI 生成 Slidev 格式的正文 很多人问AI 做 PPT 到底怎么“做”我的答案是不要让 AI 直接给你一个听不懂的 HTML 文件而是先让 AI 生成一份规范结构的 Markdown 脚本再由 Slidev 渲染。 实测效果比较好的提示词模板 text 你是一位资深技术解决方案架构师请根据以下需求生成一份 Slidev 演示文稿的 Markdown 源码。 要求 1. 包含 YAML frontmattertheme、title、layout。 2. 每一页幻灯片以 --- 分隔使用标准的 Markdown 语法。 3. 涉及架构的页面用 mermaid 代码块画出图形。 4. 内容分页清晰每页标题准确要点不超过 5 条。 5. 语言使用简体中文。 需求做一份关于“电商系统微服务改造”的汇报 PPT受众是公司管理层共 10 页。AI 给出来的结果大概率可以直接用。你拿到之后做一些人工检查标题是否准确数据是否合理架构图是否正确。如果某些页面文字太多我一般会手动压缩一页幻灯片不超过 5 个要点字体尽量控制在 20 号以上不然现场投影会看不清。2.4 建议直接照抄的 Slidev 配置theme: seriph # 主题 title: 演示标题 # 浏览器标题 info: false # 是否显示底部信息 mono: false # 是否使用等宽字体 layout: default # 默认布局几个常用的封面布局写法--- layout: center --- # 标题居中--- layout: two-cols --- # 左栏 ::right:: # 右栏代码高亮在技术分享里很常用Markdown 里直接用代码块就可以。导出 PDF 或 PPTX 是很多人最关心的命令npx slidev export npx slidev export --format pptx第一次运行会自动下载 Playwright 内核可能需要一两分钟耐心等待。2.5 踩过的坑提前帮你们排掉先说安装。npm create slidev走默认源有时候慢得让人抓狂我建议配置国内镜像源替换成 npm 官方源的国内镜像后速度能快好几倍这个自己去搜一下就有不展开说。再说中文。Slidev 默认主题对中文支持已经不错但某些主题字体只包含拉丁字符中文会变成系统默认字体显示效果一般。解决办法是在 frontmatter 里声明字体fonts: sans: Noto Sans SC serif: Noto Serif SC系统里如果没有这些字体需要先安装。实测下来微软雅黑和思源黑体在 Windows 上的渲染效果都能接受。导出 PPTX 有个特点Slidev 的导出依赖 LibreOffice 做格式转换动画效果会丢复杂布局偶尔偏移。我的处理方式是现场汇报用 PDF需要同事二次编辑时我再导出 PPTX。这样既保住了视觉又不影响协作。3. Marp轻量到极致的 Markdown 转 PPT 方案3.1 Slidev 和 Marp到底怎么选Marp 是另一个老牌开源项目诞生时间比 Slidev 更早生态相当成熟。区别在于Marp 强调“简单直接”Slidev 强调“开发者体验和演示效果”。对比项SlidevMarp技术栈Vue ViteMarkdown CSS安装方式npm 项目命令行 / VS Code 插件自定义程度高组件化中主题 CSS动画和交互强弱学习成本较高很低适用场景技术分享、复杂排版快速出内容、轻量演示我的真实感受是如果你今天下午有一个内部团队分享只是把内容结构讲清楚Marp 十分钟就够如果是正式的客户汇报要体现演示的连贯性和视觉质感那还是 Slidev 更合适。3.2 Marp 的基本写法和 AI 提示词安装 Marp CLInpm install -g marp-team/marp-cli或者直接在 VS Code 里装 Marp for VS Code 插件装完就可以直接写。一个最简示例--- marp: true theme: default paginate: true --- # 第一页 内容 --- # 第二页 - 要点一 - 要点二AI 生成 Marp 专用内容的提示词请生成一个 Markdown 幻灯片格式需符合 Marp 标准 - 使用 marp: true 作为 frontmatter。 - 每页以 --- 分隔内容切合实际。 - 包含目录页、过渡页、结尾页。 主题开源项目收益分析受众团队负责人页数8 页。然后命令直接导出 PDFmarp slide.md -o slide.pdf3.3 一个容易忽略的小细节Marp 导出 PPTX 其实也能做但同样依赖 LibreOffice。说句实话我在实际项目中基本不用 Marp 导出 PPTX而是直接把 PDF 发给别人看。因为 Marp 本身的强项就是快速成稿非要追求 PPTX 的二次编辑能力等于拿着螺丝刀钉钉子方向就不对。4. MermaidAI 画架构图越画越上瘾4.1 为什么架构图这种东西代码化反而更香传统画架构图的方式无非是 Visio、ProcessOn、Draw.io 里一个框一个框地画画完还要反复调整布局改一个节点位置整个图可能都要推倒重来。Mermaid 的答案是图就是一段代码。你写代码的时候可以把节点当作文档来管理AI 生成、版本控制、多人修改、自动布局全都变得顺理成章。架构评审会上改图改两行文本就完事了比拖拽轻松一个量级。4.2 从零到一常用语法速成最常用的是graph和flowchartgraph TB A[客户端] -- B[网关层] B -- C[业务服务] C -- D[(数据库)]语法解释graph TB从上到下改成LR就是从左到右。节点用A[文字]默认方框用圆括号A(文字)是圆角用花括号A{文字}是菱形。subgraph用来分组非常实用flowchart LR subgraph 网关层 A[API网关] B[认证中心] end subgraph 业务层 C[订单服务] D[用户服务] end A -- C B -- D新版 Mermaid 还支持architecture-beta专门画云原生架构图节点可以带数据库、消息队列、服务等图标。如果你用的 Mermaid 版本比较新可以试一下效果不错。4.3 实测有效的 AI 生成架构图提示词光说语法不够我把我自己常用的提示词模板放出来直接复制就能用你是一位系统架构师请根据下面的需求输出一段 Mermaid 代码来描绘系统架构图。 要求 1. 使用 flowchart 或 graph节点命名清晰使用中文节点标签。 2. 使用 subgraph 划分不同的逻辑区域例如接入层、应用层、数据层。 3. 不同区域的节点连线要准确表达依赖关系。 4. 输出格式为纯 Mermaid 代码不需要解释。 需求一个电商系统的微服务架构包含客户端、CDN、网关、商品服务、订单服务、用户服务、支付服务、数据库、缓存、消息队列。把这段输入到对话里AI 会给出一段相当完整的代码接着去 mermaid.live 渲染看一眼如果连线不对就让 AI 再调整。经过几轮对话架构图的雏形基本就有了。4.4 在哪里渲染 Mermaid 最高效我的习惯是分三种情况一是快速验证。打开 mermaid.live 粘贴代码立即看到渲染效果。 二是写文档。Markdown 文件里直接放代码块GitHub、GitLab 都原生支持渲染。 三是做 PPT。在 Slidev 里直接用代码块它内置了 Mermaid 渲染这是我最常用的方式。对于需要导出 PNG 的场合Live Editor 里可以设置分辨率一般我选 2 倍或 3 倍缩放导出图片插到文档里就很清晰。4.5 画架构图常见的三个坑第一个坑是方向混乱。图一复杂默认的从上到下排列会变得又长又窄。这时候我会根据关系特点改成LR或者混合结构有时候把主要链路从左到右辅助链路用子图单独表现清晰度会提升很多。第二个坑是中文乱码或字体难看。Mermaid 渲染中文默认字体不统一我一般会在主题配置里指定字体mermaid.initialize({ theme: neutral, themeVariables: { fontFamily: Noto Sans SC, Microsoft YaHei, }, });第三个坑是颜色混乱。用classDef给不同区域统一风格flowchart LR A[接入] -- B[应用] B -- C[存储] classDef infra fill:#f9f9f9,stroke:#333,stroke-width:2px; class C infra;这样一来数据层和其他节点有了明显区分整张图的可读性立刻提升。5. draw.ioAI 出图后的精修车间5.1 为什么有了 Mermaid还需要 draw.io有人说AI 都能生成 Mermaid 了为什么还要手动画我的回答是Mermaid 擅长的是快速出图但不擅长做精细排版。真实交付给客户或领导看的架构图往往需要控制每一个框的位置、大小、颜色还要加上系统名称、版本号、Logo这些工作 Mermaid 做起来很痛苦draw.io 却得心应手。draw.io 是完全免费的开源绘图软件支持桌面版、Web 版、VS Code 插件文件默认存成 XML可以被 Git 追踪。5.2 一条捷径把 Mermaid 导入 draw.io操作路径是顶部菜单 Arrange - Insert - Advanced - Mermaid把 AI 生成的代码粘贴进去draw.io 会自动转成可编辑的图形元素。导入后第一次看到图形时通常比较乱不用慌。选中全部节点在 Arrange 菜单里找 Layout让工具自动重新排列。draw.io 内置的 Flowchart Layout 能把横向或纵向层级整理得比较整齐。5.3 精修技巧让架构图更像“人画的”我一般会按下面几步调整用容器把子系统包起来。右键空白区域添加 Container再把相关节点拖进去视觉上就有了“边界感”。统一配色。选中同层级的节点编辑样式设置相同的填充色和边框色不同层级用同色系但不同深浅区分。加上连接线文字。比如“HTTP”“RPC”“异步消息”让依赖关系一目了然。导出时选 File - Export as - PNG分辨率选 300 DPI背景透明这样放到 PPT 里不会突兀。5.4 团队协作时的文件策略draw.io 支持直接打开 GitHub 或 GitLab 上的文件也支持本地保存后用 Nextcloud、语雀等同步。我最推荐的是把.drawio文件放进 Git 仓库和文档一起维护。团队成员拉到仓库就能看到最新版改了图提交合并没那么多来回传文件的麻烦。6. 组合工作流实测从一句话到一份完整材料6.1 真实跑一遍做一份“城市运营中心领导驾驶舱”汇报材料需求很简单要 PPT 也要架构图受众是领导层。我的操作流程如下。第一步喂给 AI 一句话请为“城市运营中心领导驾驶舱”系统生成架构图包含数据接入层、数据处理层、业务服务层、可视化展示层、权限管理。AI 输出 Mermaid 代码。我先在 mermaid.live 里渲染查看确认分层正确连线合理。第二步再让 AI 生成 Slidev 的 Markdown 脚本请生成一份 8 页的 Slidev Markdown 演示文稿主题是“城市运营中心领导驾驶舱”要求把上面的架构图用 mermaid 代码块放进对应页面。AI 返回值基本可用。我把其中标题和要点做了一番人工调整补充了几个真实指标口径。第三步本地跑起 Slidev预览每一页。重点检查架构图是否显示完整、页面是否超出边界、文字是否被截断。第四步导入 draw.io 精修。把架构图从 Mermaid 导入调整配色、布局、添加图标和说明文字导出 PNG 用于最终报告。第五步Slidev 导出 PDF连同架构图 PNG 一起发给团队确认。整套流程第一次做大概需要一小时熟练后压缩到四十分钟没问题。对比以前用传统工具做 PPT 加手动画图动辄大半天效率提升非常明显。6.2 能直接复制走的提示词模板PPT 内容生成模板你是资深解决方案专家请基于以下背景生成演示文稿 Markdown - 使用 YAML frontmatter 定义 title、theme、layout。 - 每页以 --- 分隔有页标题和要点。 - 页面总数控制在 8 到 12 页。 - 语言为简体中文语气专业不空洞。 - 如果用 mermaid就放在代码块中。 背景在这里描述项目背景、目标用户、核心模块、预期效果架构图生成模板你是系统架构师请输出 Mermaid 代码 - 确定逻辑分层使用 subgraph 分组。 - 节点用中文标签避免特殊字符。 - 连线关系要准确标注协议或说明。 - 输出只包含 Mermaid 代码块。 需求描述系统模块和依赖关系6.3 附加技巧用 Git 管理 PPT 和架构图因为 Slidev 的源文件、Mermaid 代码、draw.io 的 XML 文件都是纯文本所以天然适合 Git 管理。我现在的习惯是每个汇报材料建一个仓库文件名统一改动记录清晰。以前 PPT 改一版另存一个文件最终稿和最终稿2.0永远是灾难现在完全没有这个问题。7. 常见问题与排查实录速查表7.1 AI 生成的 Markdown 在 Slidev 里报错最常见的原因是 frontmatter 没正确闭合或者某行缩进多了空格。建议拿到 AI 输出后先整体过一眼把多余空格清理掉。还有一个容易踩的坑是 Markdown 里的列表符号混用把1.和-混在一组渲染出来层级很乱。7.2 中文乱码Slidev 的解决方案是配置 fontsMermaid 则在初始化里指定字体draw.io 需要在每个节点的字体下拉框里手动选择中文字体。我的建议是第一步先确认系统装了 Noto Sans SC 或思源黑体再统一设置。7.3 导出的 PPTX 样式和预期不符就像前面说的Slidev 导出 PPTX 依赖 LibreOffice 转换复杂动画和特殊字体大概率丢失。稳妥的办法是给领导看的最终版用 PDF要二次编辑的场景才提供 PPTX。Marp 同理。7.4 Mermaid 代码渲染报错常见的报错有三种节点 ID 使用了特殊字符、关键字拼写错误、中文括号。解决办法是删除或者替换成英文括号ID 尽量用英文或拼音把中文放在标签里渲染问题能解决八成。7.5 draw.io 导入 Mermaid 后布局凌乱导入后先别急着手动拖直接在 Arrange - Layout 里跑一遍自动布局再做微调。如果只想保留一部分节点可以把其他分组折叠起来避免视觉干扰。我个人更推荐的做法是Mermaid 负责定结构和逻辑draw.io 只负责做最终视觉。不要在 draw.io 里试图重构整张图那样等于又回到了手工画图的老路效率全丢。8. 最后分享一点真实体会这套组合我用了一年多从最初的内部技术分享到后来的客户方案汇报、外出演讲基本都靠 Slidev 加 Mermaid 完成draw.io 作为精修工具补位。最直观的变化是以前最讨厌的“帮别人改图”变成了“让他改两行文字”以前改方案要重新导出好几张图现在代码同步改图跟着就变了。如果后续你还想再进一步可以试着让 AI 通过命令行直接帮你调用 Slidev 构建并导出 PDF再配合仓库里的自动化脚本实现“提交代码自动生成演示文稿”的效果。那些细节等下次再展开今天就先到这里。记得把这几个项目收藏起来用到的时候直接抄作业。