news 2026/9/4 15:29:22

Archify 时序图实战:完整追踪一次缓存缺失的 API 调用链

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Archify 时序图实战:完整追踪一次缓存缺失的 API 调用链

Archify 时序图实战:完整追踪一次缓存缺失的 API 调用链

【免费下载链接】archifyAgent skill for beautiful, verifiable architecture, workflow, sequence,>项目地址: https://gitcode.com/GitHub_Trending/arch/archify

用 cache-miss-request.sequence.json 描述请求,Archify 渲染出的缓存缺失时序图不是一张静态图:箭头可按调用顺序逐段回放,任意路径可点选追踪,还能导出高清图片。它面向 AI Agent 工作,把系统描述编译成五种可验证的交互式图表,并输出自带动画的自包含 HTML。

这张时序图能回答什么问题

线上偶发慢请求,日志只告诉你"慢",告诉不了你慢在哪一跳。时序图把时间轴摊开:谁先调用谁、哪一段是同步阻塞、哪一段只是异步旁路,全部落在一张图上。

仓库自带的示例覆盖了这条链路上的七个参与者:UserWeb AppAPIAuthRedisPostgresTrace,时间自上而下流动,被三个segments切成三幕:

  • Request:用户打开页面,Web App 发出GET /dashboard,API 向 Auth 完成verify JWT
  • Fallback:API 读缓存收到miss,回源 Postgres 执行query profile + metrics
  • Response + trace:写回缓存、异步emit trace200 JSON沿原路返回。

读图时有三个视觉线索值得注意。激活条(activations)标出每个参与者的忙碌区间,Postgres 的激活条只有一小段,回源窗口很短一眼可见;主请求路径用emphasis强调色,返回消息用低饱和的returnset cacheemit trace是紫色虚线的dashed旁路——用户感知的延迟与可观测性开销在图上被刻意分开。

Archify 快速上手与安装

安装只需一行:

npx skills add tt-a1i/archify -g

不想装依赖可以先跑一次:npx skills use tt-a1i/archify@archify --agent codex。之后对 Agent 提出需求,例如"用 archify 把这次 API 请求画成时序图,场景是缓存缺失"。

拿不准该用哪种图时,用内置场景指南问一句,它返回推荐类型和参考配方:

node bin/archify.mjs guide "展示带 Redis 缓存未命中的 API 请求" --json --lang zh

配方仅供参考,图仍然要按自己的系统重新描述,而不是套模板。

调用链怎么写:时序图的 JSON 描述

源文件是一份带类型的 JSON IR,完整约束在 sequence.schema.json 里。按"参与者 → 消息 → 分段"的顺序理解:

participants定义横轴上每个参与者的id、语义typefrontendbackenddatabasesecuritymessagebus等)和标签:

{ "id": "redis", "type": "database", "label": "Redis", "sublabel": "cache" }

messages是时间轴的主体:每条消息给出fromto、垂直坐标yvariant。五种风格对应图例五类——emphasis主路径、return返回消息、security鉴权类调用、dashed异步非阻塞、default普通消息。缓存缺失那条箭头就是{ "id": "cache-miss", "from": "redis", "to": "api", "label": "miss", "variant": "return" }

segments用 y 像素区间把时间线切成 Request / Fallback / Response 三段背景;activations给忙碌参与者加激活条。长链还可以在meta.views里配置最多 5 个命名章节,并设meta.animation: "trace"让箭头按调用顺序点亮。

如何保证图不出错:校验与交付

Archify 的管线是"从语义到像素"的确定性编译:Agent 推断空间关系生成 JSON IR,schema校验把关字段合法性,layout规则把关排版。渲染器 render-sequence.mjs 内置独立校验器,无需装依赖;参与者放不下画布、消息间距过密、箭头越界这类问题都会直接报错退出,而不是画出一张"看起来还行"的坏图。

校验分探索期和交付期,交付期用deliver把规格文件冻结成快照,输出的 HTML 附带 SHA-256 回执,你分享出去的文件与背后的 JSON 一一对应:

node bin/archify.mjs validate sequence cache-miss-request.sequence.json --quality showcase --json node bin/archify.mjs deliver sequence cache-miss-request.sequence.json examples/sequence-cache-miss-request.html

--quality showcase是交付级门禁:0 错误 0 警告才放行。

图打开之后:分章播放与路由追踪

  • 分章讲解(Guided views):示例配了 3 个章节,顶部按钮逐章聚焦相关参与者;Play story自动播放整条调用链。
  • 路由追踪(Route probe):选中 Web App 到 Postgres 的路径,面板显示 "3 nodes · 2 directed hops · shortest authored route",可复制深链或导出 1200×630 路由分享卡。
  • 主题与导出:右上角切换 Dark/Live;Export 菜单支持复制 PNG、下载静态图、带运动的 WebM 和社交分享卡。

给自己的项目画一张调用链

  1. ☐ 列出这条请求链的参与者,语义type各归其位(网关、鉴权、缓存、主库);
  2. ☐ 按时间顺序写messages:主路径emphasis,返回return,鉴权security,旁路埋点dashed
  3. ☐ 用 2–3 个segments切分时间线,给关键服务补activations
  4. ☐ 跑校验闭环:validate --quality showcasedeliver冻结交付 →node bin/archify.mjs visual-check output.html --json,在 1440×900 到 2048×1320 多档桌面分辨率下确认不溢出;
  5. ☐ 仍有排版疑虑时,对照 authoring-contract 修正措辞与坐标,或按 authoring-cookbook 的中文字段说明逐项核对。

什么时候该选时序图

时序图回答的是"这次请求,时间上发生了什么":排查慢请求、梳理调用链、解释一次缓存回源,选它。若关心的是组件间的静态结构关系,架构图更合适;关心对象在阶段间如何流转,生命周期图更对路。SKILL.md 里的路由表会帮你做这个判断——你负责把业务讲清楚,校验和排版交给 Archify。

【免费下载链接】archifyAgent skill for beautiful, verifiable architecture, workflow, sequence,>项目地址: https://gitcode.com/GitHub_Trending/arch/archify

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/4 15:28:56

基于Notion API构建自动化触发器:监听数据库变更并执行本地脚本

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/4 15:27:03

Codex计划模式实战:构建AI自动化工作流的完整指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/4 15:26:50

Pixelle-Video:主题到成片的全自动 AI 短视频引擎,从零到上手

Pixelle-Video:主题到成片的全自动 AI 短视频引擎,从零到上手 【免费下载链接】Pixelle-Video 🚀 AI 全自动短视频引擎 | AI Fully Automated Short Video Engine 项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video Pi…

作者头像 李华
网站建设 2026/9/4 15:23:54

DSOGI-PLL锁相环原理与仿真:APF谐波补偿中的基波正序相位锁定

实际调试有源电力滤波器(APF)时,真正决定补偿效果的不是功率管开关频率,而是控制系统能否从畸变、不平衡的并网点电压里稳定拿到“基波正序相位”。这个相位通常由软件锁相环提供,其中最常用的改进方案之一就是 DSOGI-…

作者头像 李华
网站建设 2026/9/4 15:21:44

面对不合适的技术主题,如何构建标准的本地部署教程?

这个输入内容不是一个具体的开源项目、模型工具或可操作的技术方案,无法在 CSDN 技术博客的语境下展开部署教程、功能测试、接口调用或问题排查。标题中的“[铁虫]“我希望你成为比我更好的人””看起来更像是来自影视、动画或二次创作的内容,不属于本地…

作者头像 李华
网站建设 2026/9/4 15:21:02

Sunshine 自托管游戏串流部署指南:从装好主机到客厅大屏

Sunshine 自托管游戏串流部署指南:从装好主机到客厅大屏 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 周五晚上,你想把游戏主机接上客厅电视玩 3A 大作&a…

作者头像 李华