核心功能
drawio-skill 是一款基于 draw.io 桌面应用 CLI 的图表生成工具,可直接生成 .drawio XML 文件并导出为 PNG、SVG、PDF、JPG 等多种格式,无需浏览器自动化或云端依赖。
显著优点
- 本地原生渲染:利用 draw.io 官方桌面应用,图形质量高,兼容性强,支持复杂形状和精确布局控制
- 智能迭代工作流:内置 7 步完整流程,包含依赖检查、自动生成、自我检查(检测重叠、截断、连接错误等)、用户反馈循环和最终导出
- 嵌入可编辑性:PNG/SVG/PDF 支持
-e参数嵌入完整 XML,使用.drawio.png双扩展名可在 draw.io 中恢复编辑 - 精细化布局控制:提供详细的颜色方案、间距规范、连接点分布策略和避障路由规则,支持泳道容器和层级嵌套
- 跨平台支持:覆盖 macOS(Homebrew/手动安装)、Windows、Linux(含 headless 环境的 xvfb-run 方案)
潜在局限
- 外部依赖强制:必须预装 draw.io 桌面应用,CLI 需加入 PATH 或配置完整路径
- 无实时预览:每次修改需重新导出图片才能查看效果,迭代成本高于浏览器版 draw.io
- XML 手工编辑门槛:复杂调整需直接操作
mxCell属性和几何坐标,对非技术用户不够友好 - Linux 额外配置:无头环境需 X11 虚拟框架支持,部署复杂度增加
- 已知 CLI Bug:背景色设置可能异常,需通过
--transparent或样式属性规避
适合人群
- 需要将架构图纳入版本控制的开发团队
- 追求高分辨率、可离线编辑的技术文档作者
- 熟悉 XML 结构、愿意接受命令行工作流的高级用户
- 涉及多组件系统(3+ 交互节点)、复杂数据流或决策树的场景
常规风险
- 路径配置错误:未正确检测平台或 CLI 路径导致导出失败
- 迭代循环失控:未遵守 5 轮安全阀机制可能陷入无限修改
- XML 语法陷阱:误用
--注释、自关闭 edge 元素或特殊字符未转义造成解析失败 - 图形覆盖与截断:未按复杂度等级调整间距(200-350px)导致视觉问题