项目简介
画流程图、架构图的时候,用 draw .io 一个个拖拽元素挺费劲,尤其是复杂图表要反复调整位置和连线。 发现 next-ai-draw-io 这个开源项目,直接用自然语言描述想要的图表,AI 自动生成 draw .io 格式的图。
核心功能有三个:文字生成图表、上传图片让 AI 复制和优化、实时对话修改图表。修改时不用每次重新生成整个 XML,AI 会精准编辑特定部分,速度更快。
技术栈用 Next.js + AI SDK + react-drawio,调用 OpenAI API 处理自然语言。支持版本历史记录,可以随时查看和恢复之前的版本。
如果你想把画图从 “手动拖拽” 升级为 “说话就能画”,这个项目值得试试。
功能特性
-
LLM驱动的图表创建:利用大语言模型通过自然语言命令直接创建和操作draw.io图表 -
基于图像的图表复制:上传现有图表或图像,让AI自动复制和增强 -
图表历史记录:全面的版本控制,跟踪所有更改,允许您查看和恢复AI编辑前的图表版本 -
交互式聊天界面:与AI实时对话来完善您的图表 -
AWS架构图支持:专门支持生成AWS架构图 -
动画连接器:在图表元素之间创建动态动画连接器,实现更好的可视化效果
以下是一些示例提示词及其生成的图表:
| 动画Transformer连接器
提示词: 给我一个带有**动画连接器**的Transformer架构图。
|
|
| GCP架构图
提示词: 使用**GCP图标**生成一个GCP架构图。在这个图中,用户连接到托管在实例上的前端。 |
|
|
|
|
| Azure架构图
提示词: 使用**Azure图标**生成一个Azure架构图。在这个图中,用户连接到托管在实例上的前端。
|
|
工作原理
本应用使用以下技术:
-
Next.js:用于前端框架和路由 -
Vercel AI SDK( ai+@ai-sdk/*):用于流式AI响应和多提供商支持 -
react-drawio:用于图表表示和操作
图表以XML格式表示,可在draw.io中渲染。AI处理您的命令并相应地生成或修改此XML。
多提供商支持
-
AWS Bedrock(默认) -
OpenAI / OpenAI兼容API(通过 OPENAI_BASE_URL) -
Anthropic -
Google AI -
Azure OpenAI -
Ollama -
OpenRouter -
DeepSeek
注意:claude-sonnet-4-5 已在带有AWS标志的draw.io图表上进行训练,因此如果您想创建AWS架构图,这是最佳选择。
快速开始
安装
-
克隆仓库:
git clone https://github.com/DayuanJiang/next-ai-draw-io
cd next-ai-draw-io
-
安装依赖:
npm install
# 或
yarn install
-
配置您的AI提供商:
在根目录创建 .env.local 文件:
cp env.example .env.local
编辑 .env.local 并配置您选择的提供商:
-
将 AI_PROVIDER设置为您选择的提供商(bedrock, openai, anthropic, google, azure, ollama, openrouter, deepseek) -
将 AI_MODEL设置为您要使用的特定模型 -
添加您的提供商所需的API密钥
请参阅上面的多提供商支持[1]部分了解特定提供商的配置示例。
-
运行开发服务器:
npm run dev
-
在浏览器中打开 http://localhost:3000[2] 查看应用。
部署
部署Next.js应用最简单的方式是使用Next.js创建者提供的Vercel平台[3]。
查看Next.js部署文档[4]了解更多详情。
或者您可以通过此按钮部署:
请确保在Vercel控制台中设置环境变量,就像您在本地 .env.local 文件中所做的那样。
项目地址
https://github.com/DayuanJiang/next-ai-draw-io/blob/main/README_CN.md
参考资料
多提供商支持: #多提供商支持
[2]http://localhost:3000: http://localhost:3000
[3]Vercel平台: https://vercel.com/new
[4]Next.js部署文档: https://nextjs.org/docs/app/building-your-application/deploying
扫码加入技术交流群,备注「开发语言-城市-昵称」
合作请注明

如果你觉得这篇文章不错,别忘了点赞、在看、转发给更多需要的小伙伴哦!我们下期再见!



