baoyu-diagram 流程图(Flowchart)SVG 绘制规范与实战指南
baoyu-diagram 流程图FlowchartSVG 绘制规范与实战指南【免费下载链接】baoyu-skills项目地址: https://gitcode.com/gh_mirrors/ba/baoyu-skills本文是基于 baoyu-skills 仓库中baoyu-diagram技能的 Flowchart 布局参考文档skills/baoyu-diagram/references/flowchart.md展开的深度实战指南。它系统讲解如何在 dark 主题下用纯 SVG 绘制专业流程图的形状词汇、布局算法、间距规范、判定分支标注与配色策略并延伸到复杂流程图的分组技巧、输出到 2x PNG 的完整工具链。读完本文你既能照规范手写可复制的流程图 SVG也能理解baoyu-diagram技能内部的完整设计系统与渲染原理。Flowchart 在 baoyu-diagram 技能中的定位baoyu-diagram是一个面向 AI Agent 的通用 SVG 图表生成技能支持架构图、流程图、时序图、结构图、思维导图、时间轴、状态机等十余种图表类型。在 SKILL.md 中Flowchart流程图被定位为处理决策逻辑与流程步骤的核心图表类型其特征是菱形决策节点、圆角流程步骤框、方向性流程箭头。技能约定开始绘制前Agent 必须读取{baseDir}/references/下对应类型的参考文档{baseDir}即SKILL.md所在目录其中 Flowchart 对应的就是flowchart.md文档内给出的关键点是主流程自上而下top-to-bottom决策用菱形节点出口箭头上标注 Yes/No开始/结束用圆角矩形Happy path主线路径使用 Highlight蓝色强调色所有输出均为单个自包含的.svg文件内嵌样式与字体不依赖任何外部资源除 Google Fonts 导入外。形状词汇表五种基本形状及其 SVG 实现绘制流程图的第一步是掌握形状语义。flowchart.md定义了五种核心形状每种形状都有固定的 SVG 元素实现方式形状语义SVG 元素大圆角矩形开始 / 结束节点rect rx25普通矩形流程步骤 / 动作rect rx6菱形决策 / 分支旋转 45° 的polygon平行四边形输入 / 输出带 skew 的polygon圆柱体数据存储椭圆 矩形组合从源码角度看决策菱形在 SKILL.md 中给出了标准的 70px 高实现模板g transformtranslate(CX, CY) polygon points0,-35 50,0 0,35 -50,0 fill#0f172a/ polygon points0,-35 50,0 0,35 -50,0 fillrgba(120,53,15,0.3) stroke#fbbf24 stroke-width1.5/ text y4 fillwhite font-size10 font-weight600 text-anchormiddleCondition?/text /g这里体现了一个贯穿全技能的双层绘制技巧先画一个同形状、不透明背景色#0f172a即 slate-900 背景色的遮罩层再画半透明填充的视觉层。因为组件填充是半透明的如果不先铺遮罩底层的箭头和连线会透出来。数据存储圆柱体Database Cylinder同样遵循这一模式不透明rect 上下两个ellipse构成遮罩再用半透明紫Tertiary 色系rgba(76,29,149,0.4) 描边#a78bfa绘制视觉层。流程方向主流程自上而下分支左右展开flowchart.md明确规定 Flowchart 的主流程方向为top to bottom自上而下主流程沿中心轴垂直向下延伸分支流程从决策节点向左右两侧展开。这与架构图支持 LTR 或 TTB 两种主方向不同——流程图是单主方向 横向分支的混合布局。因此在实际绘制时中心列始终留给主线两侧空间预留给分支与回路。布局算法四步规划一张不重叠的流程图flowchart.md给出了流程图布局的四步算法它是整个绘制的骨架识别主路径happy path / 最常走路径它沿中心轴直线向下贯穿整张图是视觉上的主干从决策节点产生分支Yes 分支继续沿中心向下No 分支向右空间紧张时向左展开合并路径用 L 形连接器将分支路由回主路径回环Loop-back在图表最左侧或最右侧用曲线路径向上折返。L 形连接器在 architecture.md 中有对应的路径模板流程图的合并分支可以复用同样的手法path dM x1,y1 L midX,y1 L midX,y2 fillnone stroke#64748b marker-endurl(#arrow)/即先沿 x 方向水平走一段L midX,y1再垂直折回主路径L midX,y2保证连线只走水平/垂直两段不与组件相交。间距规范一张可复用的数值表间距是防止节点重叠的硬性约束flowchart.md给出的关键数值如下项目数值步骤之间垂直间距60-80px足够容纳箭头 可选标签决策菱形高度顶点到顶点70px决策菱形宽度顶点到顶点100px分支相对中心的水平偏移200px合并连接器的净空距任何盒子 20px这些数值与 SKILL.md 的全局间距规则相互印证标准组件盒高度 50-70px、组件间最小垂直间距 40px、水平间距 30px、箭头标签距盒边 10px、图例至少低于最低元素 20px、viewBox四周保留 30px 内边距。绘制完成后应统一校验无重叠、图例在边界外、viewBox 足够大。判定标签Yes/No 出口箭头标注规范决策节点出口箭头的标签是流程图可读性的关键。规范要求将 Yes / No或 True / False、是 / 否直接放置在出口箭头上距离菱形边缘 10px处。flowchart.md给出了完整的双分支标注示例决策菱形中心位于 (400, 200)!-- Decision diamond at center (400, 200) -- !-- Yes: downward -- line x1400 y1235 x2400 y2300 stroke#64748b marker-endurl(#arrow)/ text x412 y260 fill#34d399 font-size8Yes/text !-- No: rightward -- line x1450 y1200 x2550 y2200 stroke#64748b marker-endurl(#arrow)/ text x480 y193 fill#fb7185 font-size8No/text该示例同时体现了配色策略的语义化运用Yes / 主路径使用 emerald#34d399Secondary 色标注No / 异常分支使用 rose#fb7185Alert 色标注。箭头引用了url(#arrow)标准箭头 marker。该 marker 在 SKILL.md 中定义如下marker idarrow markerWidth10 markerHeight7 refX9 refY3.5 orientauto polygon points0 0, 10 3.5, 0 7 fill#64748b/ /markerorientauto保证箭头方向随线段走向自动旋转需要彩色箭头时按相同结构复制出arrow-cyan、arrow-emerald等按色命名的 marker 即可。配色策略按角色分配语义色流程图的配色按角色actor / decision / process而非按技术栈分配这是baoyu-diagram对流程图和时序图的统一要求。flowchart.md的配色规则为元素颜色说明开始/结束节点Highlight蓝色#60a5fa强调入口与出口流程步骤Primarycyan#22d3ee或 Secondaryemerald#34d399常规处理步骤决策菱形Accentamber#fbbf24琥珀色天然吸引视线错误/异常路径Alertrose#fb7185虚线箭头警示语义主路径箭头比分支箭头更亮通过stroke-opacity差值区分主次在 SKILL.md 的全局色彩系统中这些语义色有精确的 rgba 填充值与描边值例如 Primary 填充rgba(8, 51, 68, 0.4)、描边#22d3eeAccent 填充rgba(120, 53, 15, 0.3)、描边#fbbf24。绘制时决策菱形即直接使用 Accent 色填充 描边流程步骤使用 Primary/Secondaryhappy path 上的箭头可用stroke-opacity略高于分支箭头形成清晰的主次视觉层级。复杂流程图10 步以上的三种扩展手法当流程图超过 10 个步骤时flowchart.md建议采用以下结构升级手段泳道Swim lanes把相关步骤纵向分组成多条泳道每条泳道是带标题栏的垂直列阶段行头Phase row header在每条泳道顶部添加阶段行标题标明该泳道负责的流程阶段复用架构图的区域边界模式泳道边界使用 dashed outline 区域框这与 architecture.md 中的 Region Boundary 完全同源。区域边界在 SKILL.md 中的标准模板为rect xX yY widthW heightH rx12 fillnone stroke#fbbf24 stroke-width1 stroke-dasharray8,4/ text xX12 yY16 fill#fbbf24 font-size9 font-weight600AWS us-east-1/text泳道场景下只需把标题文本换成阶段名如 订单创建、支付处理、履约发货并调整区域尺寸即可。多层嵌套时如云厂商 → VPC → 可用区还可以通过改变stroke-dasharray区分层级外层12,4、中层8,4、内层4,4。图层顺序保证 SVG 正确叠放的关键baoyu-diagram的 SVG 绘制顺序是硬性约定流程图同样必须遵守SVG 按从后到前绘制背景填充 网格 pattern区域/分组边界虚线框连接箭头与连线不透明遮罩矩形与组件盒同位置fill#0f172a组件盒半透明填充 描边文本标签图例右下角或底部位于所有边界之外标题块左上角背景使用 slate-900#0f172a 40px 网格 pattern网格线#1e293bstroke-width0.5这一深色底是整套 dark 主题设计系统的基础。输出与交付从 SVG 到 2x PNG 的完整工具链流程图 SVG 绘制完成后baoyu-diagram技能通过 scripts/main.ts 将 SVG 转换为 2x PNG 交付bun skills/baoyu-diagram/scripts/main.ts svg-path [options]脚本支持的选项与 SKILL.md 中记录一致-s, --scale n缩放系数默认 2-o, --output path自定义输出路径默认input2x.png--json以 JSON 格式输出结果含 input、output、width、height-h, --help显示帮助。从源码看该脚本的核心流程是解析 SVG 的viewBox正则viewBox...提取宽高若缺失则回退读取width/height属性→ 按scale计算目标像素尺寸 → 动态import(sharp)以density: 72 * scale栅格化 → 输出 PNG。两点值得注意scale1 时输出不带后缀getOutputPath中suffix scale 1 ? : 2x只有非 1 的倍率才会生成Nx后缀文件运行时自动解析${BUN_X}若本机装了bun用bun否则npx -y bun都不行则提示安装 bun——这决定了即使没有全局 bun 也能运行。输出规则方面SKILL.md 还要求viewBox四周保留 30px 内边距但不设固定width/height让 SVG 响应式缩放、根元素带xmlnshttp://www.w3.org/2000/svg、所有style/defs/marker/pattern 放在文件顶部、text-anchormiddle保证文本居中。中文字体与本地化标注流程图中若出现中文标签例如把 Yes/No 换成 是/否必须遵循 SKILL.md 的中文支持规则font-family改为JetBrains Mono, Noto Sans SC, PingFang SC, sans-serif同步增大盒子宽度——CJK 字符比拉丁字符更宽否则文本会溢出组件盒。这一规则与flowchart.md中 是 / 否 标签的本地化示例相互呼应也是国内场景绘制流程图时的常见坑点。绘制自检清单综合flowchart.md与 SKILL.md 的约束一张合格的流程图 SVG 应通过以下检查布局主路径沿中心垂直贯穿分支左右展开合并用 L 形连接器回环走最外侧间距步骤垂直间距 60-80px菱形高 70px、宽 100px分支偏移 200px合并净空 20px箭头标签距盒边 10px标签Yes/No或 True/False、是/否放在出口箭头上、距菱形 10px颜色语义正确Yesemerald、Norose配色开始/结束用 Highlight 蓝步骤用 Primary/Secondary决策用 Accent 琥珀异常路径用 Alert 玫红虚线happy path 箭头stroke-opacity更高图层遮罩层在连线之上、组件之下防止半透明填充透出底层箭头文本中文标签扩大盒宽、换用含 Noto Sans SC 的字体栈交付保存为单文件 SVG运行 main.ts 生成 2x PNG二者一并呈现给用户。遵循这套规范无论是 Agent 自动生成还是人工手写都能产出布局稳定、语义清晰、可直接嵌入文档或演示文稿的深色主题流程图。【免费下载链接】baoyu-skills项目地址: https://gitcode.com/gh_mirrors/ba/baoyu-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Watchtower 容器选择机制完全指南:通过 enable / monitor-only 标签精确控制自动更新范围

Watchtower 容器选择机制完全指南:通过 enable / monitor-only 标签精确控制自动更新范围

运维DevOps云原生容器运行时 【免费下载链接】watchtower A process for automating Docker container base image updates. 项目地址: https://gitcode.com/gh_mirrors/wa/watchtower 点击查看 免费下载 Watchtower 默认会监控 Docker 主机上所有容器并自动更新其…

2026/9/20 12:58:55 阅读更多 →
高效刷GitHub周榜:从筛选项目到深度上手的完整方法论

高效刷GitHub周榜:从筛选项目到深度上手的完整方法论

1. 先搞清楚:GitHub 周榜到底在看什么每周日晚上,我都会雷打不动地花四十分钟刷一遍 GitHub Trending 周榜。这周的榜单(统计窗口大约是 2026-09-07 到 09-13)依旧信息量巨大,从大模型应用、开发者效率工具&#xff0c…

2026/9/20 12:58:55 阅读更多 →
使用 Amazon SES 作为 Docker Mailserver 中继主机(Relay Host)完整配置指南

使用 Amazon SES 作为 Docker Mailserver 中继主机(Relay Host)完整配置指南

使用 Amazon SES 作为 Docker Mailserver 中继主机(Relay Host)完整配置指南 【免费下载链接】docker-mailserver Production-ready fullstack but simple mail server (SMTP, IMAP, LDAP, Antispam, Antivirus, etc.) running inside a container. 项…

2026/9/20 12:58:55 阅读更多 →

最新新闻

从需求模型到AI测试点生成:测试工程师的提示词实战指南

从需求模型到AI测试点生成:测试工程师的提示词实战指南

1. 为什么我放弃了“让AI直接列测试点”这个偷懒方案先说个结论:如果你只是把需求文档扔给ChatGPT,让它“生成测试点”,十分钟后你确实能拿到一版看似工整的清单,但它大概率长这样——“验证手机号为空时提示”“验证密码错误时提…

2026/9/20 15:22:53 阅读更多 →
从代码评审到开放工作流:open-code-review落地实践

从代码评审到开放工作流:open-code-review落地实践

栏目:工程化实践写这篇东西的起因,是团队里有人把“代码评审”直接等同于“提个 PR 等人点 Approve”,然后大家各自忙各自的,等要合并的时候才发现一堆历史遗留问题。后来我们花了一段时间把整个流程掰开揉碎,重新设计…

2026/9/20 15:22:53 阅读更多 →
深入理解Linux dup与dup2:文件描述符复制、重定向与管道实战

深入理解Linux dup与dup2:文件描述符复制、重定向与管道实战

简介:柯尼卡美能达DPU(Driver Packaging Utility)驱动打包工具使用说明,面向负责打印机驱动批量部署的IT管理员与技术运维人员。该PDF详细拆解了从启动工具、安装驱动、添加32/64位驱动、设置驱动名与默认打印首选项、配置IP到生成…

2026/9/20 15:22:53 阅读更多 →
汽车理论MATLAB编程:从公式到矢量代码的完整实现指南

汽车理论MATLAB编程:从公式到矢量代码的完整实现指南

简介:汽车理论课程中的MATLAB课后作业编程详解,面向车辆工程专业学生、考研复习者以及需要做汽车动力学仿真分析的工程师。文档以带注释的代码为主线,覆盖爬坡能力计算、加速度倒数曲线、最大爬坡度附着率、功率平衡图及等速百公里油耗等经典…

2026/9/20 15:22:53 阅读更多 →
Executive Strategy:LLM-Agent技能进化的可控引擎

Executive Strategy:LLM-Agent技能进化的可控引擎

1. 这不是又一篇“LLM-Agent”概念科普,而是实操级技能进化方案拆解你点开这篇,大概率已经看过至少十篇讲“LLM-Agent是什么”的文章——Agent是大脑,Tool是手脚,Memory是记事本,Orchestration是交响乐指挥……这些比喻…

2026/9/20 15:22:53 阅读更多 →
基于CTCS-3级列控场景的TCC仿真系统设计与实现

基于CTCS-3级列控场景的TCC仿真系统设计与实现

简介:针对CTCS-3级列控场景中列控中心功能复杂、无可视化监控的问题,这份学术论文PDF系统阐述了TCC仿真子系统的整体架构与通信接口设计。由西南交通大学研究团队完成,面向铁路信号专业学生、科研人员及电务培训人员,重点涵盖轨道…

2026/9/20 15:21:52 阅读更多 →

日新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →