BAIZE AI RESOURCE

把 JSON 描述渲染为架构、流程、时序、数据流与生命周期图的 AI Skill

archify

把 JSON 描述渲染为架构、流程、时序、数据流与生命周期图的 AI Skill

archify

资源介绍

Archify 是一个面向技术图表的 AI Skill:作者用 JSON 中间表示(IR)描述系统,而不是手写 SVG。它支持五类图:architecture(组件与边界)、workflow(泳道与阶段)、sequence(参与者与消息)、dataflow(阶段与数据流)、lifecycle(阶段带与状态迁移)。每类图都有独立 schema,渲染前先做结构校验,未知字段直接拒绝,避免静默出错。

渲染器把 JSON 编译成布局,再输出到统一的 HTML 模板,内置查看器支持图例、引导视图、语义镜头、分享卡片和明暗主题,并提供 classic、signal-flow、blueprint、editorial 四种视觉预设。渲染后可用 check-render-output.mjs 检查最终 SVG 中的非有限数值、意外斜向箭头和压住图例的箭头。

它主要面向需要产出架构图、调用时序和部署流程的开发者与团队,尤其是希望让 AI Agent 直接生成可交付图表、而不必人工修 JSON 的场景。仓库还包含 ordinary-model-floor 基准,用来衡量普通模型首次生成即可用的比例。

Skill 能力

五类图表渲染器

为 architecture、workflow、sequence、dataflow、lifecycle 五类图表分别提供独立 schema 与渲染脚本,将对应 JSON 输入转换为标准 Archify HTML 模板,且无需安装依赖。

渲染前 schema 校验

每个 JSON IR 先按对应 schema 校验,所有层级设置 additionalProperties: false,未知字段被拒绝而非忽略;违规时以路径前缀报错并标注元素 id 或 label。

布局与可读性检查

渲染器会检测节点重叠、标签压节点、标签超出节点宽度、过短连线、连线穿越无关节点、超出 viewBox 等问题并失败;文本宽度按 CJK 感知估算,全角字符计两个单位。

质量档位 showcase

设置 meta.quality_profile 为 showcase 后,无关的正交 X 交叉直接失败,无关连线重叠 8px 以上失败,并拒绝小于 8px 的路由段和小于 16px 的内部转折段。

内置品牌标识目录

附带 107 个常用品牌的矢量标识,节点可写 brand 字段;未知站点需先用 archify brands capture --json 生成带 sha256 的固定值,渲染与校验不会做未固定的网络抓取。

v1 到 v2 工作流迁移

archify migrate workflow old.json new.json --to-schema 2 把旧版工作流映射到 v2 的 rank 空间,默认不覆盖源文件,重复执行结果幂等,歧义的显式坐标会失败而不产出目标文件。

资源配置

适用平台

Claude CodeCodex通用 Agent

支持模型

模型无关

调用方式

命令调用Agent调用

安装与调用

  1. 把 Archify Skill 安装到支持 Agent Skills 的编码助手中,并在目标工作区准备输出目录。

  2. 说明要表达的架构、流程、时序、数据流或生命周期,以及受众和必须保留的节点关系。

  3. 让技能先生成符合 schema 的 JSON 描述,再渲染为带查看器的 HTML 图。

  4. 运行资源提供的渲染结果检查工具,修正重叠、箭头或可访问性问题后再交付。

使用案例

缓存未命中请求时序图

使用场景排查一次请求穿过客户端、网关与缓存的调用顺序

以 archify/examples/cache-miss-request.sequence.json 为模板,用 participants、messages 和 activations 描述调用链,渲染为带时间轴的 HTML 时序图。

Agent 工具调用工作流

使用场景展示 Agent 调用工具并处理异常分支的流程

参考 archify/examples/agent-tool-call.workflow.json,用 lanes、phases、nodes、edges 描述泳道流程,异常路径可设置 lane.variant 为 exception。

产品分析数据流

使用场景说明点击流数据从采集到消费的流转

参考 archify/examples/product-analytics.dataflow.json,用 stages 划分 source、ingest、process、store、consume,用 flows 的 variant 区分主路径与异步派生。

生产部署架构图

使用场景梳理服务、数据库与云资源的组件关系

参考 archify/examples/production-deployment.architecture.json,用 components、boundaries、connections 描述组件与边界,并可为节点指定 brand 标识。

包含内容

archify-source.zip
README-中文安装说明.md
LICENSE-MIT.txt
SHA256.txt

常见问题

Archify 的 workflow 渲染器在渲染后如何检查产物?
workflow 渲染器在生成 HTML 后,可运行 node archify/scripts/check-render-output.mjs output.html 检查最终 SVG 中非有限 SVG 值、意外的两点对角箭头以及箭头穿过图例等问题。
Archify 的 sequence 渲染器如何根据 viewBox 控制时间线?
sequence 渲染器的时间线随 meta.viewBox 高度缩放:更高的 viewBox 提供更多消息空间,更矮的 viewBox 会缩小可读带而不是裁剪内容。其默认 viewBox 为 [920, 760],schema 最小为 [480, 480]。
Archify 的 lifecycle 渲染器对 lane id 有什么要求?
lifecycle 渲染器中 lane id 是语义且保留的:必须有一个 id 为 main 的 lane,映射到顶部阶段带;terminal 映射到底部结果带;其余 lane id(总共最多 4 个 lane)共享中间事件带,中间带标题会用 + 连接所有事件 lane 的标签。
Archify 的 dataflow 图例中 database 条目与 flow variant 有何不同?
dataflow 默认图例从 flows[].variant 派生种类(省略 variant 表示 default),仅当存在 database 节点时才加入 database。flow variant 仅作视觉呈现;而 database 条目来自精确的 nodes[].type: "database" 事实,会发布正常的语义图例计数、可访问名称和键盘交互。若没有 database 节点却强制显示 database,则仍只作视觉呈现。
Archify 的 meta.locale 字段支持哪些取值,作用范围是什么?
meta.locale 接受 "en" 或 "zh-CN",用于选择固定的 Viewer UI、渲染器自带的默认图例与可访问性文案、文档标题后缀以及 值;它不会翻译作者编写的字符串。省略该字段会保留旧行为并解析为英语,不支持的值会直接导致 schema 校验失败。