核心用法
Draw.io Diagram Generation Skill 是一套结构化工作流,将自然语言需求转化为可编辑、可导出的专业图表。用户描述数据库结构、类关系、系统交互或业务流程后,Skill 先自动识别图表类型(ERD/Class/Sequence/Flowchart/Architecture),再按严格 XML 规范生成 draw.io 原生格式,最终调用本地 draw.io CLI 批量导出 PNG/SVG/PDF 等格式。
关键执行路径:① 类型检测 → ② 元素规划 → ③ 生成合规 XML(含唯一 ID、正确高度计算、防转义错误)→ ④ CLI 导出 PNG(必须先行)→ ⑤ 展示图片并询问额外格式。所有图表均遵循类型专属样式约束(如 ERD 必须用 shape=table 而非圆角矩形,Sequence 须含生命线与激活框),确保在 draw.io 编辑器中无损复用。
显著优点
- 多范式覆盖:单 Skill 支持 5 种主流工程图表,减少工具切换成本。
- 可编辑源文件:保留
.drawio源文件,需求变更时可在 draw.io 桌面/Web 端二次调整。 - 自动化导出:CLI 批量渲染,适合 CI/CD 文档流水线或技术写作工作流。
- 格式灵活:除默认高清 PNG 外,可选 SVG(无损缩放)、PDF(印刷级)、透明背景版本。
潜在局限
- 外部依赖:必须本地安装 draw.io 桌面应用或配置 headless 环境(Linux 需
xvfb),无法纯云端运行。 - 布局非智能:复杂图表需人工预规划坐标,Skill 仅按规则生成,无自动美化/防重叠算法。
- 文本长度敏感:超长字段名或方法签名可能溢出单元格,需手动在 draw.io 中调整列宽。
适合人群
- 需要快速将 SQL DDL、代码类定义或 API 交互文档化的后端/全栈工程师
- 技术写作者、架构师撰写设计文档或评审材料
- 希望将图表生成纳入自动化脚本或文档构建流的 DevOps 团队
常规风险
| 风险点 | 说明与缓解 |
|--------|-----------|
| XML 格式错误 | 未闭合标签或非法 `\n` 会导致 draw.io 无法打开;Skill 内置预保存检查清单强制校验。 |
| ID 冲突 | 重复 `mxCell` ID 会引发渲染异常;规则强制顺序唯一 ID。 |
| CLI 环境缺失 | macOS/Linux 路径差异及 headless 依赖;需在运行前确认 `drawio` 二进制可用。 |
| 图片中文乱码 | 若系统缺中文字体,导出 PNG 可能出现方框;建议预装开源字体(如 Noto Sans CJK)。 |