drawio-desktop 免费离线流程图:VSDX 导入到批量导出的一条完整路径
【免费下载链接】drawio-desktopOfficial electron build of draw.io项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop
Visio 一换 macOS 就歇菜,在线绘图工具又必须联网,内部组件名和数据流向谁都不敢往云端传。drawio-desktop 是 draw.io 官方 Electron 桌面版:编辑器核心以 git 子模块内嵌在drawio/目录,Windows、macOS、Linux 都有安装包,默认完全离线,图表数据不出本机,并支持VSDX 导入和文件夹级批量导出(PDF、PNG、SVG)。这篇文章按一条任务线走:装起来 → 画出第一张图 → 用 CLI 批量出图 → 管住它仅有的那点网络行为。
装起来:release 安装包与源码启动两条路
普通用户直接下 release 安装包,开发者才需要跑源码。两条路都很快,选哪条取决于你要的是"能画"还是"能改"。
源码路径只需三行命令,前提是机器上有 Node.js(package.json要求Node 22.12 及以上):
git clone --recursive https://gitcode.com/GitHub_Trending/dr/drawio-desktop cd drawio-desktop && npm install npm start--recursive不能省——编辑器核心是子模块,少带这个参数克隆出来就是个空壳,drawio/目录是空的,应用起不来。跑起来后行为异常,就在命令后追加--enable-logging看主进程日志。
Windows 用户有三种安装包,区别只在于管理员权限:
| 安装包 | 安装位置 | 是否需要管理员 |
|---|---|---|
.exe(NSIS) | Program Files,按机器装 | 需要 |
.msi | 当前用户目录,按用户装 | 不需要 |
.zip便携版 | 解压到哪跑哪 | 不需要 |
Windows on Arm 设备有原生 ARM64 包,不用吃模拟层。
Linux 的 AppImage 要配AppImageLauncher 3.0(静态运行时)才能被正常拉起,旧版 2.2 会报
fuse: memory allocation failed——要么升级 launcher,要么直接卸载它,运行 AppImage 本身并不依赖它。
五步画出第一张流程图:认识三栏界面
首次打开是固定的三栏布局,对应三个固定位置:左侧形状库(顶部 Search Shapes 框可按名称搜图形,带 Scratchpad 草稿区)、中间画布(底部是 Page-1 页签,可加页)、右侧属性面板(选中元素后调 View、Options、Paper Size、Edit Data)。顶部菜单从左到右是 File、Edit、View、Arrange、Extras、Help,文件操作全在 File 里。
第一张流程图的完整走法:
- 新建:File 菜单选 New Diagram,或直接挑一个模板
- 拖形状:左侧 General 库里把矩形(起止)、菱形(判断)拖进画布
- 连线:用连接线工具按流程顺序把形状接起来
- 填文字:双击形状直接输入
- 调样式:选中元素,右侧面板改颜色、线宽、字号
图一多就先搭主干跑通,再回补分支和标注——比一步到位省时间。
CLI 批量导出:一条命令出整文件夹
图表攒到几十个之后,别逐个打开导了。桌面版自带drawio命令行,输入除了.drawio本身,还直接吃.vsdx、.csv和 Mermaid(.mmd/.mermaid);输出支持pdf、svg、png、jpeg、jpg、xml、html六种格式。常用参数(--help可看全量):
| 参数 | 作用 |
|---|---|
-x, --export | 开启导出模式 |
-r, --recursive | 递归扫描子文件夹 |
-o, --output <dir> | 输出文件/目录 |
-f, --format <fmt> | 输出格式,不写时默认 pdf |
--layout <name> | 导出前自动重排,预设:verticalFlow / horizontalFlow / verticalTree / horizontalTree / radialTree / organic |
--normalize | 先修复模型再导出(适合工具生成的乱图) |
-k, --check | 跳过已存在的输出文件,不覆盖 |
--timeout <sec> | 单文件导出超时就跳过,继续下一个 |
一条命令递归把diagrams文件夹全部转成 PNG,统一丢进out/:
drawio -x -r -f png -o out/ diagrams旧图走形时加--layout horizontalFlow,让编辑器先跑一次布局算法再出图;配-k重跑不会覆盖已导出的文件,配--timeout 60大文件卡死也不拖垮整批。
离线与安全管控:唯一网络行为怎么关
安全隔离是这个项目的头号设计目标,唯一默认存在的网络行为是版本检查。具体机制:
- 内容安全策略(CSP)禁止执行远程加载的 JavaScript,所有 JS 文件自包含
- 不发送任何图表数据,不收集任何使用分析
- 更新检查按安装方式分档:NSIS 安装包和 AppImage 后台静默更新,MSI / 便携包 / deb / rpm 只提示并给链接,Store / Snap / Flatpak 由商店托管
集中管控的部署环境可以把它彻底关掉——启动加--disable-update,或设环境变量DRAWIO_DISABLE_UPDATE=true;不想静默更新但想保留提示,用--no-silent-update或DRAWIO_NO_SILENT_UPDATE=true,下载前会先问。
一个例外要留意:图表里如果嵌了外部图片、背景或字体(URL 写在图里),打开时应用会请求这些 URL 来正确渲染,从而可能向对方服务器暴露你的 IP。来源不可信的图表不建议直接打开。
高频问题 FAQ
| 问题 | 回答 |
|---|---|
| 我的文件存在电脑哪里? | 图表文件在你自己保存的位置;程序自身的本地存储和应用数据在系统应用数据目录:macOS~/Library/Application Support/draw.io,WindowsC:\Users\<用户名>\AppData\Roaming\draw.io。清缓存、迁机器就看这两个位置 |
| 能不能免费、商用? | 能,不改代码、接受 as-is 的前提下任意用途免费用。桌面壳是 GPL-3.0-only,核心编辑器drawio/子模块是 Apache-2.0 |
| 桌面版和在线版什么区别? | 同一套编辑器核心,区别在运行方式:桌面版默认离线、本地渲染,吃大型图表和敏感内容;在线版适合需要分享链接的场合。要稳定存档、批量处理本地文件就选桌面版 |
许可证与参与方式
许可按两层看:桌面壳drawio-desktop是GPL-3.0-only,内嵌的drawio核心编辑器子模块保持Apache-2.0。不改代码的前提下,个人和商业使用都不付钱。
代码组织不复杂:src/main/是 Electron 主进程(electron.js入口、electron-preload.jsIPC 桥、args.jsCLI 参数解析),drawio/是编辑器核心子模块,构建配置散在五个electron-builder-*.json里。需要自己 fork 改代码、打个人版安装包的,官方有专门文档 doc/BUILDING_FOR_PERSONAL_USE.md——设DRAWIO_UNSIGNED=true跳过签名和公证即可。
项目明确不接受外部代码贡献:官方说法是牵动面太大、测试成本远超预期。bug 报告和功能建议走仓库 issue,长期有效。
要点与今天的动作
- 免费:GPL v3 + Apache-2.0,个人、商用都不付钱
- 跨平台:Windows / macOS / Linux,Windows on Arm 有原生 ARM64 包
- 离线:默认不联网,图表数据不出本机,唯一网络行为可一键关闭
- 兼容:VSDX、CSV、Mermaid 直接读写,替代 Visio 不丢格式
- 批量:一条
drawio -x -r递归扫文件夹,六种格式任选
今天就能做的动作:把仓库拉下来跑起来,打开你手上任意一张.vsdx旧图,存成.drawio再导出 PNG——画完你会发现,界面比想象中简单,麻烦的从来不是工具。
【免费下载链接】drawio-desktopOfficial electron build of draw.io项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考