万能的开源制图利器 —— draw.io(diagrams.net)自托管与应用分享
在工作中,我们经常需要画各种图:流程图、UML、架构图、网络拓扑、业务逻辑、ER 模型……
常见工具有 Visio、ProcessOn、Lucidchart 等,但它们要么收费、要么依赖云服务,无法用于内网或保密环境。
有没有既开源、又免费、还能完全离线自托管的制图工具?
答案就是:draw.io(现名:diagrams.net)。
✅ draw.io 是什么?
draw.io 是一款 开源、免费、功能强大的通用绘图工具,支持:
-
流程图、组织结构图
-
UML、时序图、用例图
-
ER 数据库模型图
-
网络拓扑、云架构图(AWS / Azure / GCP)
-
软件架构图、服务关系图
-
BPMN、思维导图等
它同时提供:
✔ Web 在线版
✔ 桌面版(Windows、Mac、Linux)
✔ VSCode / Obsidian 插件
✔ 自托管服务器版(重点)
也就是说,你可以在自己的服务器上运行一个“公司内部的 draw.io”,所有人不用登录、无需联网即可使用,数据不会上传第三方。
✅ 为什么推荐 draw.io?
| 优势 | 说明 |
|---|---|
| ✅ 完全开源、免费 | Apache 2.0 协议,可商业使用 |
| ✅ 自托管支持 | 内网、机密项目环境可用 |
| ✅ 图标库丰富 | 网络、架构、云服务、UML、BPMN……应有尽有 |
| ✅ 导出方便 | PNG、SVG、PDF、XML、HTML |
| ✅ 支持中文 | 操作体验友好 |
| ✅ 多系统支持 | Web、桌面、插件,多场景使用 |
对需要离线绘图、内网使用、交付客户项目、企业开发文档的人特别友好。
✅ 自托管安装(适合内网环境)
✅ 方式一:Docker 运行(最快)
docker run -d \--name drawio \-p 8080:8080 \jgraph/drawio
浏览器访问:
http://服务器IP:8080
即可直接使用,无需登录、无需数据库。
✅ 方式二:Docker Compose(推荐长期部署)
新建 docker-compose.yml:
version: "3.8"services:drawio:image: jgraph/drawio:latestcontainer_name: drawioports:- "8080:8080"- "8443:8443"environment:- DRAWIO_DISABLE_ANALYTICS=true- DRAWIO_ENABLE_PLANTUML=truerestart: unless-stopped
启动:
docker compose up -d
优势:
✅ 自动重启
✅ 支持启用 PlantUML(序列图/类图自动生成)
✅ 内网即可访问
✅ 自托管效果

✅ Mermaid 是什么?
Mermaid 是一个基于文本(类似代码)的开源制图语言,用简单描述就能生成专业流程图、时序图、甘特图、状态机、架构关系图。
✅ 支持流程图、时序图、类图、ER 图、状态机、甘特图
✅ 用文本写图 → 可版本管理(Git)
✅ 可嵌入 Markdown、Wiki、文档系统
✅ Obsidian / VSCode / GitLab / Typora / Wiki.js / GitHub 已原生支持
✅ 可自托管渲染(适合离线或内网)
一句话总结:
Mermaid = 图用“代码”生成,让图变得可追踪、可自动化、可被大模型生成。
大模型生成Mermaid
用户浏览商品并下单 → 系统检查库存 → 如果库存不足提示失败 → 否则扣库存 → 用户支付 → 支付成功后生成订单 → 通知仓库发货将上述的描述转成 Mermaid
flowchart TDA[用户浏览商品并下单] --> B[系统检查库存]B -->|库存不足| C[提示下单失败]B -->|库存充足| D[扣减库存]D --> E[用户支付]E -->|支付成功| F[生成订单]F --> G[通知仓库发货]


✅ 文件保存方式(重点)
draw.io 不会强制把数据存到服务器,默认保存到用户本地:
-
.drawio/.xml文件 -
PNG、SVG、PDF
如果需要团队协作,可以接入:
-
WebDAV(Nextcloud、OwnCloud、Seafile)
-
GitLab / Gitea 仓库
-
Samba 文件共享
这比云产品更自由,数据完全掌控在自己手里。
✅ 适用场景
✅ 研发团队内部文档、架构图
不依赖外网,图保存到 Git/Nextcloud,安全可控。
✅ 高校、培训、教学演示
学生在浏览器打开就能画图,轻量零门槛。
✅ 公司交付客户的私有化项目
很多甲方项目不能使用外网制图工具,draw.io 刚好解决痛点。
✅ 个人知识管理
结合 Obsidian、VSCode,当本地画图工具使用。
✅ 长期使用 Visio 替代品
无需授权、无需破解、完全免费。
✅ 与其他工具对比
| 工具 | 是否开源 | 是否可私有部署 | 费用 | 难度 | 功能丰富度 |
|---|---|---|---|---|---|
| draw.io | ✅ 是 | ✅ 是 | 免费 | 低 | ✅ 丰富 |
| ProcessOn | ❌ 否 | ❌ 否 | 商业 | 低 | 中等 |
| Lucidchart | ❌ 否 | ❌ 否 | 商业 | 中 | 强 |
| Excalidraw | ✅ 是 | ✅ 是 | 免费 | 低 | 中(偏手绘) |
| Visio | ❌ 否 | ✅ 部分 | 商业 | 中 | 强 |
综合来看,draw.io是最接近Visio级功能同时完全开源可私有部署的方案。
✅ 总结
draw.io 就像一把“瑞士军刀式”的制图工具:
✅ 开源免费
✅ 自托管,无数据外泄风险
✅ 图标库丰富、支持架构/网络/UML/ER全部场景
✅ 部署简单,几分钟搞定
适合:
- 开发团队
- 企业内部系统
- 信息安全要求高的客户项目
- 个人学习、文档记录
