乐于分享
好东西不私藏

archify:让 Agent 给你画带源码验证的架构图(还能对比 Before/After)

archify:让 Agent 给你画带源码验证的架构图(还能对比 Before/After)

如果只看名字,archify 很容易被理解成「把任何东西 archive」

它真正的定位是 Agent 的一个 skill:你给它一段代码或系统描述,它给你画出一张可交互、带源码溯源、能对比修订的架构图。 fork 自 Cocoon-AI 的 architecture-diagram-generator,2.x 重写了视觉语言、验证、导出和 CLI。

它适合两类人看:

  • 用 Claude Code / Codex / Cursor 等 agent 写代码的人:想让 agent 自己画图解释自己的 diff
  • 写技术博客 / 设计文档的人:想从代码直接生成可分享的图,而不是手动拖 Mermaid

项目地址放在文末。

真实项目演示

先看一段真实的动画演示,这是仓库 docs/assets/archify-live-proof.gif 抓出来的——Proof Lab 三工件动效演示(已经压缩到 950KB 以内,保住 54 帧动画):

3 个工件(架构/工作流/序列图)从生成到验证到交付的全过程

这段动图是 archify 的灵魂——它不只画图,还在画图前自动校验、画图后做原子替换。下面这张是静态版:

Agent 工作流图

那 archify 到底「硬」在哪?

archify 的核心不是「画图 prompt」,而是5 个工程化约束让 agent 输出的图可用。

1. 五种图类型 + 四种视觉预设 + 主题

不是只支持一种 architecture 图,而是从用例出发分了五类:

- Architecture(架构图)
- Workflow(工作流图)
- Sequence(序列图)
- Data Flow(数据流图)
- Lifecycle(生命周期图)

每种都有类型化 JSON IR(Intermediate Representation)——你给它描述,它先吐一个 JSON,再渲染。JSON 有 schema,所以图可以被解析、被 diff、被重新生成。

下面这张是 Data Flow 的真实渲染输出:

2. 合并前变更审查(Before / Delta / After)

这是 archify 真正区别于「画图工具」的地方:它能对比两个已验证的快照,精确列出「增、删、改、移动、重路由」的事实,而不是简单地把新图叠到旧图上。

下面是它的工作流(Workflow)的实拍图:

生成 → 验证 → 预览 → 交付 → 迭代 5 步

3. 可追溯交互(不是装饰)

图的每个节点可以跳回源码验证

  • 搜索节点
  • 点开修订验证的源码(Git-verified)
  • 追踪上游/下游可达路径与精确路由
  • 比较角色
  • 播放引导故事(不虚构拓扑)

也就是说,图不是「画」出来的,而是从代码「长」出来的——你点开一个节点,它告诉你「这个节点在 src/foo/bar.ts:42」。

4. 单一文件输出 + 原子验证

生成的图是自包含 HTML(不是引用一堆 CDN 的网页),离线可用。验证链是:

schema → layout → HTML/SVG → 路由 → 标签到路由间隙

5 层校验必须全部通过,否则交付不替换目标。失败时 validate --json / deliver --json 返回稳定的规则码 + 主体 + 证据 + 修复建议——agent 拿到这些就能自动修复,而不是肉眼看错。

5. 默认可移植 + 部署所有权契约

每个图都是单一 HTML 文件,导出 PNG、SVG、WebM、1200×630 分享卡。部署所有权契约deployment-ownership 工程配置)缺失时直接 fail closed——这是工程师会欣赏的细节:图把「谁能跑这个产物」写进了 schema。

怎么用

archify 是通过 skill 机制安装到 agent 的。最常用的几条命令:

node bin/archify.mjs doctor
node bin/archify.mjs demo /tmp/archify-demo
node bin/archify.mjs validate workflow examples/agent-tool-call.workflow.json --quality showcase --json
node bin/archify.mjs deliver workflow examples/agent-tool-call.workflow.json /tmp/workflow.html --quality showcase --open --json

支持 5 个宿主:

Raven / Cursor / Claude Code / Codex CLI / OpenCode

preview 是显式桌面创作模式,绑定 127.0.0.1 随机端口,Ctrl-C 停。deliver --open 默认关闭。

环境要求: Node.js(用 npx skills 装)。无外部服务依赖——纯本地。

我的评价

优点很明确:

  • 不是 Mermaid 主题,是个真图类型化系统(5 种图各有 IR)
  • 验证链扎实(5 层校验 + 失败带修复回执)
  • 源码追溯(不是装饰,每个节点都能回 Git)
  • 输出是单一 HTML,可移植强
  • 部署所有权写入契约(工程细节做到位)

局限也很清楚:

  • 仍在 v2.13.0(2026-08-03 发布),生态还在早期
  • 故意做:自动 Mermaid 解析、托管分享、WYSIWYG 编辑
  • Gallery 的工件是 HTML,看图要浏览器,不能纯 Markdown 嵌入
  • 对简单一次性图偏重(如果你只想要一张 Mermaid,archify 不划算)

我的判断是:

  • 在做「长期演进的代码库」想每次 PR 自动出架构 → 强推
  • 在写技术博客想从代码直接出图 → 强推(单一 HTML 直接嵌)
  • 只想画一张流程图交差 → 不推荐,用 Mermaid 更轻
  • 想做团队级架构治理 → 可试,但要配 agent 规则

archify 给你一个反直觉的视角:架构图不是「画」出来的,是「校验」出来的。它把「图」从一次性手工产物,变成了工程流水线的一个产物。

项目地址

tt-a1i/archify
https://github.com/tt-a1i/archify