Py学习  »  Git

GitHub 破万 Star 的开源 AI 神器:一句话画出可编辑的 draw.io 架构图

AI开源无界 • 10 小时前 • 25 次点击  

 

画架构图这事,以前我们都是手画。框一个一个拖,线一根一根连,对齐得调半天,画完一张图小半天就没了。这两年 AI 能帮忙干的事越来越多,像 draw.io 这种老牌绘图软件,也在往里加 AI 能力。

drawio-skill 是个开源的 Agent Skill。跟它说一句想要什么图,它会生成一个 .drawio 源文件,拿 draw.io 打开,框和线都能继续拖、继续改,跟自己手画出来的文件没区别。

先简单介绍

这个项目开源设计不算长,但 Star 已经破万了,仓库现在还在正常更新。

用法上没什么门槛,把它装进支持 Agent Skills 的 AI 编程工具里就行,Claude Code、Cursor、Copilot、Codex、OpenClaw 这些都支持。装完以后,画图、改图、从代码和配置生成图,全都是聊天的方式提需求。

官方有一张功能全景图,挺直观的,这张图本身就是用它自己画的:

自然语言生成图表

先说最常用的用法,就是直接用大白话描述想要什么图。官方预设了 11 种图表类型,ER、UML 类图、序列图、C4、架构图、机器学习模型图、流程图、SysML、BPMN、网络拓扑、跨职能泳道图,日常要画的基本都覆盖到了。

README 里给了一个例子,输入是这么一段描述:

Create a microservices e-commerce architecture with Mobile/Web/Admin clients,
API Gateway (auth + rate limiting + routing), Auth/User/Order/Product/Payment
services, Kafka message queue, Notification service, and User DB / Order DB /
Product DB / Redis Cache / Stripe API

生成出来的结果是这样:

一段描述生成的微服务电商架构图
一段描述生成的微服务电商架构图

网关、服务、Kafka、数据库、缓存、第三方支付,该有的层次都有了,连线会绕开节点走,不会从框中间穿过去,坐标也都是对齐好的。

这种图自己手画的话,熟手也得在对齐和连线上耗不少时间。现在初稿让它出,我们就看看结构对不对,不对的地方说一声,让它接着改。

自动检查与迭代修改

AI 画图有几个老毛病,框叠框、标签被切掉、几根线挤成一团看不清。drawio-skill 在流程里加了一步自检,图生成出来会先导出 PNG,检查有没有重叠、截断、连线堆叠这类问题,有就自动修,最多修两轮再拿给我们看。

内部工作流程
内部工作流程

看完以后我们继续提意见,最多还能再来五轮定向修改。改图也是用大白话,「把 Kafka 挪到右边」「用户服务换个颜色」这种就行,它改完重新导出,不用从头再画一遍。

从代码和配置生成图表

除了文字描述,它还能直接读工程里的真实产物。代码仓库(Python、JS、Go、Rust)、Terraform、Kubernetes 配置、SQL,还有 OpenAPI、AsyncAPI、Protobuf、GraphQL 的 schema,都可以拿来生成图。

README 里有个演示,把 Python 官方 logging 包的类继承关系画了出来,模块自动分框,继承关系一根不少:

Python logging 包类继承图
Python logging 包类继承图

接手一个不熟的仓库,先出一张这种图再去看代码,会轻松不少。

而且图生成出来以后能跟着代码更新。配置变了,图做增量同步,我们手工调过的布局不会被冲掉。两个版本之间可以 diff,架构约束能写成测试放进 CI,还能模拟某个节点出故障会影响多大范围。

这些功能偏团队工程化一些,平时只是写写文档的话可能用不上,跳过这段也行。

官方图形库与 AI 品牌图标

画云架构图,图标一直是个麻烦事。AI 瞎猜样式名,把 AWS Lambda 画成一个素方框的情况太常见了。drawio-skill 内置了 draw.io 官方的一万多个图形,AWS、Azure、GCP、Cisco、Kubernetes、UML、BPMN 这些体系的图标按名字搜出来直接用,不用担心画出来的图标不对版。

它还补了一批 draw.io 自己没有的图标,321 个 AI 和 LLM 品牌 logo,OpenAI、Claude、Gemini、DeepSeek、Qwen、LangChain 都在,另外还有 Redis、Postgres、MongoDB 这些数据库品牌的 18 个图标。画 LLM 应用的架构图时正好用得上。

带真实品牌 logo 的 LLM 应用架构图
带真实品牌 logo 的 LLM 应用架构图

Mermaid 转换与白板照片识别

手里已经有 Mermaid 文本的话,28 种标准图可以直接转成原生可编辑的 drawio 文件,思维导图、甘特图、时间线、看板这些都行,就要求本机 draw.io 版本在 30 以上。

官方演示里,这个项目自己的路线图就是几行 Mermaid 转出来的看板:

Mermaid 转出的看板
Mermaid 转出的看板

还有个功能我觉得挺实用的,白板照片或者老的 PNG 截图发给它,它会识别里面的图形和连线,重建成可以编辑的 drawio 文件,布局尽量保持原样。会议室白板拍完照,不用再对着照片重新画一遍。

样式预设与导出格式

样式方面,内置了五个预设,default、corporate、handdrawn、colorblind-safe(色盲友好的配色)、dark。也可以拿自己的 .drawio 文件或者一张图片给它参考,存成命名预设,以后的图都沿用这个风格。

导出这块,PNG、SVG、PDF 都有。之外还能生成可交互的 HTML,打开以后能缩放、能搜节点,发给不用 draw.io 的人看很方便。PPT 也能出,不过要注意,PPT 里每页是整页图片,没法逐个选中形状编辑。

另外还有个地铁图模式,可以把流程画成伦敦地铁图那种风格:

地铁图模式
地铁图模式

安装方式

装之前要先有 draw.io 桌面版,因为导出图片这步是靠 draw.io 自己的命令行完成的。draw.io 本身开源免费,官网下一个就行。

安装就一行命令,本机需要有 Node 环境:

npx skills add Agents365-ai/drawio-skill -g

不想用 npx 的话,手动装也不麻烦。我拿 Claude Code 举例,clone 仓库之后把 skills/drawio-skill 子目录链接过去:

git clone https://github.com/Agents365-ai/drawio-skill.git ~/src/drawio-skill
mkdir
 -p ~/.claude/skills
ln
 -s ~/src/drawio-skill/skills/drawio-skill ~/.claude/skills/drawio-skill

有一点要注意,skill 本体是 skills/drawio-skill 这个子目录,别把整个仓库根目录塞进 skills 目录,那样识别不出来。

装完以后正常聊天提需求就行,画图、改图、同步,都在对话里完成。

使用注意事项

它依赖本机的 draw.io 桌面版,所以纯命令行、没有图形界面的服务器环境会比较麻烦。

从代码或配置生成的图,是 AI 对系统结构的理解,不一定全对,可能漏依赖,也可能画错关系。拿去做正式文档或者评审材料之前,我们要自己核一遍。

还有,别指望一张图一次到位。它本身就是按初稿、自检、反馈这么迭代的,自检两轮,我们最多再提五轮意见。所以提示词不用抠得太细,画得不满意就直接说哪里不对,多来几轮反而快。

我的看法,经常画架构图、而且图需要长期维护的人,这个绝对适合。只是偶尔画张示意图的话它有点重了,那种情况直接来一段 Mermaid 更省事。MIT 协议,个人和商用都没限制。

开源地址

https://github.com/Agents365-ai/drawio-skill

 0000

 

这个公众号长期分享实用开源项目。如果你不想逐篇翻阅历史文章,可以直接关注微信公众号“AI开源无界”,通过后台留言与我们互动交流。

图片

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/203355