Archify 数据血缘图:从一条审计问题到零警告交付的 3 条命令
【免费下载链接】archifyAgent skill for beautiful, verifiable architecture, workflow, sequence,>项目地址: https://gitcode.com/GitHub_Trending/arch/archify
周四下午,有人拿着一张 PPT 追问:用户行为数据到底从哪来,中间过几道处理,PII 有没有混进分析库。静态截图答不了这种问题,答案本身就该是一张数据血缘图(data lineage)——从采集到消费、敏感边界一目了然。Archify 把一句系统描述变成带 schema 校验的类型化 JSON 规格,再确定性编译成自包含的交互式 HTML。本文就沿着仓库官方的 dataflow 示例,把一条数据血缘图从零画到交付。
一行命令装好 Archify,先让 CLI 帮你选图
最短路径是把 skill 装进你正在用的 Agent:
npx skills add tt-a1i/archify -g只想临时试一次,把上面命令换成npx skills use tt-a1i/archify@archify --agent codex。不想装的话,直接git clone https://gitcode.com/GitHub_Trending/arch/archify,在仓库根目录就能用 CLI。拿不准该画哪种图时,先问 guide——它返回类型和字段配方,但图必须基于真实系统改写,不是套模板:
node archify/bin/archify.mjs guide "展示用户事件从哪来、经过哪些转换、PII 边界在哪" --json --lang zh渲染官方 dataflow 示例:一条命令出图,一条命令过门禁
仓库自带一份教科书级的血缘图源文件:product-analytics.dataflow.json。渲染器内置独立 schema 校验器,零依赖,直接跑:
node archify/renderers/dataflow/render-dataflow.mjs archify/examples/product-analytics.dataflow.json out.html浏览器打开out.html,就是一个离线可用的交互成品:默认深色主题,五列管线横排,trace 动效会按数据流动方向逐条点亮。
质量门槛藏在第二条命令里。validate在 showcase 级别做九项检查——schema、布局、线路净空、标签碰撞全在内,全过才算合格:
node archify/bin/archify.mjs validate dataflow archify/examples/product-analytics.dataflow.json --quality showcase --json整条管线是"语义到像素"的确定性编译:描述 → Agent 推断空间关系 → typed JSON IR → 布局规则检查 → SVG/HTML。同一份规格,任何时候渲染都是同一张图。
读懂渲染出的数据流图:只看 stages、type、variant 三个东西
五列stages是数据生命周期的分栏:采集、接入、处理、存储、消费;nodes的type决定框的样式与语义角色;flows的variant控制线型。节点type一共七种:
| type | 角色 |
|---|---|
| frontend / backend | 客户端与处理服务 |
| database | 存储 |
| cloud | 接入层 |
| security | 策略与合规关口 |
| messagebus | 消息队列 |
| external | 外部依赖 |
这个例子里最值得盯的是敏感边界:Edge API 用identity + consent把带 PII 的事件送给 Consent Gate,再经identity map流进加密的 PII Vault,与主数据路径彻底分开——这正是血缘图比"框加箭头"强的地方。
想边看边讲,仓库示例配了 3 个命名章节(meta.views)。viewer 里点章节按钮会聚焦相关节点,按 P 自动播放整条链路:
把官方示例改成你自己的数据血缘
假设你的管线是:SDK 事件从 Edge 进 Kafka,落 ClickHouse,下游一个风控模型每天批量读特征。最直接的做法不是从零写,而是复制 官方示例 改:删掉不需要的 node,剩下的改id、label、sublabel,flows 的from、to换成新 id。最小骨架长这样:
{ "schema_version": 1, "diagram_type": "dataflow", "meta": { "title": "Order Events Pipeline", "quality_profile": "showcase" }, "stages": [ { "label": "Sources" }, { "label": "Ingest" }, { "label": "Store" } ], "nodes": [ { "id": "sdk", "type": "frontend", "label": "App SDK", "stage": 0, "row": 0 } // ... 每个节点一行:id、type、label、stage、row ], "flows": [ { "id": "orders-in", "from": "sdk", "to": "kafka", "label": "order events", "variant": "emphasis" } // ... 每条连线一行 ] }三条规则值得记住:flow 的label写数据资产("订单事件"),不写传输动作(classification负责"PII touch""read-only"这类上下文);variant按语义分配,主链路 emphasis、PII 路径 security、批量派生 dashed;坐标一律不用手写,stage、row交给 renderer 计算。字段全量约束见 dataflow.schema.json。
校验与交付:validate 过零警告,deliver 拿到回执
改完源文件,交付前两条命令。validate是自检,退出码加--json回执都要看,必须 0 错误 0 警告:
node archify/bin/archify.mjs validate dataflow my-pipeline.json --quality showcase --json通过后用deliver出最终 HTML,回执里带规格与成品的 SHA-256:
node archify/bin/archify.mjs deliver dataflow my-pipeline.json my-pipeline.html --jsondeliver 会把规格文件冻结成字节级快照再渲染——同事拿到 HTML 后对照回执即可确认没被改动,JSON 与 HTML 一一对得上。想要桌面多分辨率不溢出的证据,追加一条node archify/bin/archify.mjs visual-check my-pipeline.html --json,在 1440×900 到 2048×1320 四档下量容器并截图留档。
打开 Archify 交付的 viewer:路线探查、章节播放与分享卡片
回到浏览器里的成品,按 R 可探查有向路由:点 web 到 warehouse,viewer 会高亮这条作者定义的路径,适合讲一次关键数据链路;按 L 用透镜对比两种语义角色间的真实流量。要贴进 README 或发布说明时,按 E 打开 Export,Copy Share Card 一键复制 1200×630 社交卡片到剪贴板:
延伸
- dataflow 编写手册(中文):节点、连线与敏感边界的完整字段约定
- dataflow.schema.json:字段全量约束
- 官方示例源文件 与渲染成品
- SKILL.md:Agent 侧的完整生成与交付契约
一份带 SHA-256 回执的 HTML,加一份不到百行的 JSON 规格,就能替掉 wiki 里永远过期的截图——而且这张图还会自己动。
【免费下载链接】archifyAgent skill for beautiful, verifiable architecture, workflow, sequence,>项目地址: https://gitcode.com/GitHub_Trending/arch/archify
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考