核心用法
baoyu-diagram 是一款面向技术写作者和开发者的专业图表生成工具,通过手写 SVG 代码而非调用 AI 图像模型,直接输出可嵌入的 .svg 文件。支持 6 种图表类型:流程图(flowchart)、时序图(sequence)、结构/架构图(structural)、示意/原理图(illustrative)、类图(class)以及智能路由的自动模式(auto)。
使用方式灵活,可通过自然语言描述(如"OAuth 2.0 流程")、指定文件路径或交互式提示触发。提供 --type 强制指定类型、--lang 多语言支持(含中文)、--out 自定义输出路径等选项。
显著优点
1. 纯代码生成,零依赖:不调用任何外部 LLM 图像 API,完全基于 SVG 规范手写节点,确保输出稳定、可预测、无版权争议。
2. 专业设计系统内置:统一的配色方案(语义化色彩)、字体层级(14px/12px 双尺寸)、自动暗色模式适配,确保跨场景视觉一致性。
3. 高度可编辑:输出为纯 SVG 文本,开发者可手动调整坐标、颜色、标签,支持版本控制和二次开发。
4. 嵌入友好:单文件自包含,内嵌样式,可直接粘贴到 Markdown、Notion、微信公众号、幻灯片或技术文档中。
5. 智能类型路由:基于动词和语境自动判断最佳图表类型(如"how X works"→原理图,"A 与 B 交互"→时序图),降低用户决策成本。
6. 工程化工作流:完整的 8 步流程(意图捕获→类型路由→参考加载→布局规划→SVG 编写→质检→保存→报告),支持迭代优化和计划复用。
潜在缺点与局限性
1. 学习曲线陡峭:用户需理解 SVG 坐标系统、viewBox、路径语法等基础概念,非技术背景用户上手困难。
2. 无自动布局:所有坐标需手工计算,复杂图表(>12 节点或多相位流程)规划耗时,虽提供 layout-math.md 辅助,但仍依赖人工。
3. 功能边界明确:v1 版本明确排除循环图、ER 图、甘特图,对于此类需求需引导至 Mermaid、PlantUML 等专用工具。
4. 中文排版限制:CJK 字符宽度计算(15px/字)与拉丁字符(8px/字)差异大,混合内容场景下标签易溢出,需频繁手动调整。
5. 设计系统不可定制:强制统一风格,不支持主题切换或品牌色替换,对有多样化视觉需求的用户构成限制。
适合人群
- 技术博客作者、开发者布道师,需要为文章生成一致风格的架构/流程插图
- 开源项目维护者,需在 README 或文档中嵌入可版本控制的矢量图
- 企业内部技术分享,追求幻灯片与文档视觉统一
- 对 AI 生成图像的版权、稳定性有顾虑,偏好确定性代码输出的用户
常规风险
1. 输出覆盖风险:工具内置备份机制(diagram-backup-YYYYMMDD-HHMMSS.svg),但用户直接指定 --out 覆盖现有文件时仍可能丢失历史版本。
2. 标签溢出风险:字符宽度估算基于固定乘数,极端长标签或特殊字体环境下可能截断,需运行预保存检查清单(pitfalls.md)验证。
3. 类型路由误判:自动路由依赖关键词匹配,模糊描述(如"system workflow")可能误选流程图而非架构图,建议关键场景显式指定 --type。
4. 跨平台渲染差异:SVG 在移动端微信、PDF 转换工具、老旧浏览器中的渲染存在细微差异,建议输出后在目标平台预览验证。