Diagram Design时序图制作教程:消息传递与OAuth鉴权流程可视化

Diagram Design时序图制作教程:消息传递与OAuth鉴权流程可视化

【免费下载链接】diagram-design 29 editorial diagram types for Claude Code. Self-contained HTML + SVG. No shadows, no Mermaid-slop. 【免费下载链接】diagram-design 项目地址: https://gitcode.com/GitHub_Trending/di/diagram-design

时序图(Sequence Diagram)是表达消息传递、API 调用与鉴权流程最直观的图表类型,而 Diagram Design 正是一款为 Claude Code 等 AI 编码助手打造的时序图制作工具。这个开源项目内置 27 种编辑器级图表类型,能把请求/响应、OAuth token 刷新这类流程,输出为自包含的 HTML + SVG 文件——无阴影、无千篇一律的 Mermaid 风格,浏览器打开即用。本教程将带你从零上手,用 Diagram Design 制作消息传递与 OAuth 鉴权流程可视化时序图。

Diagram Design 时序图示例:文章请求的消息传递与缓存流程

上图就是项目内置的时序图成品:Reader Browser、Cloudflare、Astro Origin 三个参与者从上到下传递消息,生命周期线、激活条、异步消息一眼可辨。下面我们就从原理到实战,一步步拆解。

为什么要用时序图表达消息传递与OAuth鉴权流程?

时序图天然擅长表达"谁在什么时间、向谁发送了什么消息",这正是以下场景的刚需:

  • 🎯 API 调用轨迹:客户端 → 网关 → 服务 → 数据库的完整调用链
  • 🎯 OAuth 鉴权流程:携带 Bearer token 访问资源、401 后刷新 token 并重试的分支逻辑
  • 🎯 协议交互与多参与者协作:登录、支付、下单等跨系统流程

相比文字描述,时序图把"时间顺序"这个维度可视化,读者 3 秒就能看懂一次完整的鉴权握手。相比通用流程图,时序图多了生命线激活条,能精确表达"谁持有控制权"。

Diagram Design 是什么:为 AI 助手设计的时序图制作工具

Diagram Design 是一个面向 Claude Code、Codex、Pi 等 AI 编码助手的 Agent Skill,核心思路是"让 AI 画图,但画的是有编辑水准的图":

  • 27 种图表类型:时序图之外,还有架构图、状态机图、泳道图、数据流图等,参考 SKILL.md
  • 三种变体:每张图都提供 minimal light(浅色)、dark(深色)、full(编辑排版风)三种版本
  • 自包含输出:单个 HTML 文件内嵌 SVG 与 CSS,无构建步骤、无外部图片依赖
  • 严格设计系统:无阴影、1px 细边框、4px 网格对齐、单一强调色(珊瑚色)只留给 1–2 个焦点元素

时序图的具体规范集中在 type-sequence.md,包括布局约定、消息类型、组合片段语法与复杂度预算。

时序图核心要素:参与者、生命线与消息(新手必读)

画时序图前,先认识四个基础构件:

构件视觉特征作用
参与者(Actor)顶部横向排列的方框系统中的角色,如 Client、API、Auth
生命线(Lifeline)参与者下方延伸的虚线表示参与者在时间轴上的存在
消息(Message)生命线之间的水平箭头表示一次调用或返回,时间自上而下流动
激活条(Activation bar)生命线上的细长矩形表示该参与者持有控制权的时间段

当流程出现分支(token 有效 vs 无效、重试、可选步骤)时,必须使用**组合片段(Combined Fragment)**框架,而不是随意画几组游离的 if/else 箭头。type-sequence.md 中定义了三种操作符:opt(可选)、alt(二选一分支)、loop(循环),标签统一用等宽字体大写显示。

四种消息类型:同步调用、返回、异步与高亮成功

时序图制作中最容易混淆的就是箭头样式,Diagram Design 用四种明确的组合来区分:

消息类型线条箭头适用场景
同步调用(Call)实线实心箭头期望回复的请求
返回(Return)虚线实心箭头同步调用的回复,永不使用实线
异步(Async)虚线空心箭头事件、通知、单向消息
高亮成功(Headline)实线(强调色)强调色实心主成功路径,整图最多 1–2 条

📌 记住两个易错点:返回消息即使画成虚线,箭头也必须是实心;异步消息则必须用空心箭头,两者不能混用。

实战:用 ALT 组合片段绘制 OAuth 鉴权流程图

项目自带一个教科书级的 OAuth 时序图样例:example-sequence-oauth.html,完整演示了"携带 Bearer token 调用 + 401 刷新"的流程:

  1. Client → API:发送 GET /resource + Bearer(蓝色链路箭头)
  2. ALT 组合片段 第一分支 [token valid]:API 返回 200 · body(珊瑚色高亮成功)
  3. ALT 第二分支 [else · 401]:API 返回 401(虚线实心返回箭头)
  4. Client → Auth:发起 POST /token · refresh 刷新令牌
  5. Auth → Client:返回 200 · new access
  6. Client → API:携带新令牌重试 GET /resource
  7. Client → Auth:异步发送 AUDIT 审计消息(空心箭头,在片段外)

OAuth 鉴权流程图示例:Bearer 调用与 token 刷新分支

整张图只有 3 条生命线、1 个 alt 片段,严格控制在复杂度预算内。type-sequence.md 的硬性上限是:生命线 ≤5、消息 ≤12、组合片段 ≤1(默认),超出就拆分。

当鉴权成为跨层服务:DP 集成图怎么画

时序图画的是"一次交互的过程",而当你需要表达"身份认证服务覆盖整个平台"时,更适合用 DP 集成图(DP Integration)。上图中的数据平台集成拓扑展示了:CRM、POS 导出、事件流三类数据源接入平台,Store 与 Query engine 对外服务,而 Identity provider 通过一条虚线 AUTH 连到平台底部边缘——这表示它是跨层服务,认证每一个组件,而不是只连某个工具。规范见 type-dp-integration.md

更多相关图表类型:状态机图与数据流图

如果你要表达的不是"消息顺序",而是"状态如何迁移",可以选用状态机图:

状态机图示例:文章生命周期 Draft、In Review、Published、Archived

上图展示了 Draft → In Review → Published → Archived 的完整生命周期,以及 REJECT/REVISE 回退、PURGE 删除等转移,非常适合描述 OAuth 令牌的"有效/过期/已刷新"状态,参考 type-state.md

如果关注的是"谁在流水线哪个环节做了什么",则用数据流图,参考 type-data-flow.md

5分钟上手:制作你的第一张消息传递时序图

最快路径是让 AI 助手直接画。在 Claude Code 中安装后,只需一句:

"Give me a sequence of a bearer call with token refresh on 401."

AI 会自动选择时序图类型、构建 HTML 并保存。想手动起步,可以复制模板:

cp skills/diagram-design/assets/template.html my-diagram.html

几个实用入口:

时序图避坑指南:这些错误不要再犯

结合 type-sequence.md 的 anti-patterns,新手最容易踩的坑:

  • 向上的箭头:消息指向上方等于反转时间,永远不允许
  • if/else 不画组合片段:两个游离的箭头簇没有 ALT 框架,读者无法理解分支归属
  • 嵌套 alt:alt 里再套 alt 必须拆成两张图
  • 珊瑚色滥用:强调色只给 1 条主成功消息,两个分支都上色等于没上色
  • 激活条永不关闭:持有控制权后必须明确释放
  • 超复杂度预算:超过 5 条生命线或 12 条消息,就拆成"总览 + 细节"两张图

总结

时序图制作并不难,难的是画出"让设计师不皱眉"的图。Diagram Design 用 27 种类型、严格的设计系统和清晰的复杂度预算,把这件事交给了 AI——你只需要描述消息传递与 OAuth 鉴权流程,就能得到自包含、可导出、可品牌化的专业时序图。先从 example-sequence-oauth.html 开始吧,改一改参与者和消息,你的第一张鉴权流程时序图就诞生了。🚀

【免费下载链接】diagram-design 29 editorial diagram types for Claude Code. Self-contained HTML + SVG. No shadows, no Mermaid-slop. 【免费下载链接】diagram-design 项目地址: https://gitcode.com/GitHub_Trending/di/diagram-design

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值