GitHub Explorer

next-ai-draw-io 深度分析报告

GitHub: https://github.com/DayuanJiang/next-ai-draw-io

一句话总结

旅日华人工程师的业余项目——用「自然语言 → draw.io XML」的 AI 管道解决程序员画图效率瓶颈,14 个 AI Provider 支持 + VLM 视觉验证 + MCP Agent 集成,12 个月从 0 到 26K stars,是 AI + 图表生成赛道的开源标杆。

值得关注的理由

  1. 精准切入点:不做新画布,而是增强已有的 draw.io 生态——通过 react-drawio 嵌入获得完整编辑能力,AI 只负责生成 XML,保留 draw.io 数十年积累的 31 个专业图标库和编辑器
  2. VLM 视觉验证是最大创新:生成图表后用视觉语言模型「看一眼」渲染结果,检测重叠/连线穿越/文字截断,自动重试修复——给 AI 加了「眼睛」,不只看代码(XML)还看最终效果
  3. 13 步 XML 自修复管道:「宁可显示不完美的图表也不崩溃」——修复 JSON 转义、重复属性、CDATA 包装等 LLM 输出的常见问题,是「不信任 LLM 结构化输出」的工程化典范

项目画像

维度数据
GitHubhttps://github.com/DayuanJiang/next-ai-draw-io
Star / Fork26,111 / 2,745
代码行数27,796 行 TypeScript/TSX(92%)+ 96 个依赖
项目年龄12.5 个月(2025-03-23 创建)
开发阶段功能完善期(645 commits,v0.4.14,fix 41% > feat 32%)
贡献模式独立创作者主导(Dayuan Jiang 74%)+ 30 位社区贡献者
热度定位大众热门(2025-12 月爆发,中文社区传播广泛)
质量评级代码[优秀] 文档[优秀] 测试[良好]

作者视角:为什么存在这个项目

创始人/作者背景

Dayuan Jiang(蒋大源),旅日华人工程师,坐标东京,个人博客 www.jiang.jp。有 NLP/ML 学术背景(fork 过 CS224n、ml-engineering),深度跟进 AI Agent 生态(fork 过 Vercel AI SDK、MCP SDK、Claude Code)。GitHub 240 followers,32 个公开仓库中 next-ai-draw-io 是唯一的爆发项目。典型的「一个精准切入点撑起整个 GitHub 影响力」的案例。

问题判断

程序员画架构图的效率瓶颈——手动拖拽、对齐、连线耗时,尤其是复杂云架构图(AWS/GCP/Azure 图标众多)。现有方案要么不开源(draw.io Generate、Eraser DiagramGPT),要么格式不兼容(Mermaid),要么缺乏可视化编辑(纯文本方案)。

解法哲学

增强而非替代 draw.io——不自建画布引擎,而是通过 react-drawio 嵌入 draw.io 获得完整编辑能力。AI 只负责生成 draw.io XML 格式,用户生成 80% 后手动精调 20%。技术选型精准:

  • draw.io XML 作为中间表示:原生格式无需转换,保留全部编辑能力
  • Vercel AI SDK 统一 14 个 Provider:新增 Provider 仅需几行代码
  • Electron 桌面端:企业离线需求 + Ollama 本地模型
  • MCP Server:Agent 生态下一增长点

战略意图

开源免费 + Demo 站赞助制(字节跳动豆包提供 API 赞助)+ GitHub Sponsors。MCP Server 将图表生成能力输出到 Claude Desktop/Cursor/VS Code 生态。

核心价值提炼

创新之处

  1. VLM 视觉验证(Vision Language Model Validation)(新颖度 5/5 | 实用性 4/5 | 可迁移性 4/5):生成图表后用视觉语言模型检测重叠、连线穿越、文字截断等视觉缺陷,自动重试修复(最多 3 次)。在 AI 图表生成领域独创

  2. get_shape_library 工具——让 AI 查文档再画图(新颖度 4/5 | 实用性 5/5 | 可迁移性 5/5):通过 Tool Calling 让 AI 先查询 31 个图标库的文档获取正确的图标 style 字符串,再生成 XML。RAG 思想在图表生成场景的巧妙应用

  3. 13 步 XML 自修复管道(新颖度 3/5 | 实用性 5/5 | 可迁移性 5/5):修复 JSON 转义、CDATA 包装、重复属性、XML 注释等 LLM 输出常见问题。「不信任 LLM 结构化输出」的工程化范本

  4. 四工具编排模式(新颖度 3/5 | 实用性 5/5 | 可迁移性 5/5):display_diagram(全量)+ edit_diagram(增量)+ append_diagram(截断续写)+ get_shape_library(文档查询),覆盖了图表生成的完整生命周期

  5. 流式渲染 + XML 完整性检测(新颖度 3/5 | 实用性 5/5 | 可迁移性 5/5):isMxCellXmlComplete() 实时检测流式输出中的完整 mxCell 元素,立即渲染到画布,150ms 防抖。用户可以看到图表逐步生成

  6. 示例响应缓存(Zero-latency Demo)(新颖度 3/5 | 实用性 4/5 | 可迁移性 4/5):首次对话匹配预设 Prompt 时直接返回缓存 XML,零延迟体验,无需 AI API 调用

可复用的模式与技巧

模式描述适用场景
多 Provider 抽象层三级优先级解析 + API Key 负载均衡任何多 LLM Provider 项目
XML/JSON 自修复管道13 步防御式修复 LLM 结构化输出任何依赖 LLM 结构化输出的系统
Tool Calling + 文档查询AI 先查文档再生成,避免猜测RAG + 结构化生成场景
流式渲染 + 完整性检测从流式输出中提取完整单元立即渲染代码生成、文档生成等
IndexedDB 乐观持久化防抖自动保存 + beforeunload 紧急保存 + 50 条上限Web 应用本地数据
Prompt Caching 三级断点System Prompt → 最后 Assistant → 当前 User降低 LLM 调用成本

关键设计决策

决策Trade-off
嵌入 draw.io 而非自建画布获得 20 年积累的编辑能力,但依赖 draw.io iframe 加载
XML 作为中间表示(非 Mermaid/JSON)原生格式无转换损失,但 XML 对 LLM 生成不够友好
14 个 AI Provider 全支持最大化用户覆盖,但维护成本高
VLM 验证 + 自动重试提升图表质量,但增加 API 调用成本和延迟
Electron 桌面端覆盖离线场景,但增加了构建和发布复杂度

竞品格局与定位

竞品对比矩阵

维度next-ai-draw-iodraw.io GenerateEraser DiagramGPTMermaid+ChatGPT
开源Apache-2.0否否Mermaid 开源
自部署Docker/Vercel/CF否否需自建
AI Provider14+31依赖 ChatGPT
输出格式draw.io XMLdraw.io XML自有格式Mermaid 文本
可视化编辑draw.io 全功能draw.io 全功能有限文本编辑
桌面端Electron有否否
MCP 集成已实现否否否
图表验证VLM 视觉验证否否否
价格免费部分免费付费ChatGPT 订阅

差异化护城河

开源 + 多 Provider + MCP + VLM 验证的组合独一无二。31 个专业图标库(AWS/GCP/Azure/K8s/Material Design)的 Tool Calling 查询机制使图表质量远超纯 Prompt 方案。

竞争风险

  • draw.io 官方推出 Generate Tool 是最大威胁——原生集成优势明显
  • 核心作者占 74% 提交,Bus Factor 偏低
  • 高度依赖 LLM 能力——模型水平决定图表质量上限

生态定位

AI + 图表生成赛道的开源标杆。不是替代 draw.io,而是增强 draw.io——精准切入 10 亿级用户基础的增量需求。

套利机会分析

  • 信息差: 项目在中文社区已大量传播(掘金/知乎/CSDN),但 VLM 视觉验证和 13 步 XML 修复管道的技术深度尚未被充分解读
  • 技术借鉴: 多 Provider 抽象层 + API Key 负载均衡可直接复用;XML 自修复管道是 LLM 结构化输出的通用防御模式;Tool Calling + 文档查询是 RAG 的巧妙变体
  • 生态位: 填补了「开源 + draw.io 兼容 + 多 Provider + 可自部署」的空白
  • 趋势判断: AI 辅助图表生成是确定性趋势。MCP Server 集成 Agent 生态是下一个增长点

风险与不足

  1. Bus Factor 偏低:核心作者占 74% 提交,虽有 30 位贡献者但多为偶发参与
  2. draw.io 官方竞争:Generate Tool 已上线,原生集成优势天然大于第三方
  3. 仍为 v0.4.x:未达 1.0 稳定版,Breaking changes 可能出现
  4. 社区健康度 71%:缺少 Issue 模板和 PR 模板
  5. route.ts 869 行偏长:核心 API 路由文件可进一步拆分
  6. LLM 依赖:图表质量受限于模型能力,复杂架构图仍需大量手动调整

行动建议

  • 如果你要用它: 最适合需要快速生成架构图/流程图的开发者。推荐使用桌面端(支持 Ollama 本地模型)或自部署 Docker 版。如果只需简单图表,draw.io 内置 Generate Tool 也可用
  • 如果你要学它: 重点关注三个核心模块——(1) lib/utils.ts 的 validateAndFixXml(13 步修复管道),(2) lib/ai-providers.ts(14 Provider 抽象层 + Key 负载均衡),(3) hooks/use-diagram-tool-handlers.ts(VLM 验证 + 自动重试)。lib/system-prompts.ts(410 行)的 XML 生成规则是 Prompt Engineering 的优秀范本
  • 如果你要 fork 它: 最有价值的方向:(1) 支持更多图表类型(ER 图、时序图的专用 Prompt),(2) 优化大图表的增量编辑(当前 edit_diagram 基于 cell_id 匹配),(3) 添加团队协作(实时多人编辑)

知识入口

资源链接
DeepWikideepwiki.com/DayuanJiang/next-ai-draw-io
官网next-ai-drawio.jiang.jp
掘金评测程序员画图神器杀疯了
知乎评测AI 绘图杀疯了
关联论文无
在线 Demonext-ai-drawio.jiang.jp

相关报告