Archify 是一个面向 Codex CLI、Claude Code、Cursor、OpenCode 和 Raven 的 Agent Skill。它把系统描述或代码仓库转换成可交互的技术图,而不是简单地把一段文字套进通用流程图模板。
生成结果以类型化 JSON IR 为事实源,经验证后交付自包含 HTML;浏览器内还可以导出 PNG、SVG、WebM 和 1200×630 分享卡。它适合架构评审、README 配图、故障路径说明和变更前后对比,但不能替代对源码、部署配置和运行日志的审查。
项目地址:tt-a1i/archify
先判断 Archify 是否适合当前任务
Archify 提供五种主要图表类型:
| 类型 | 适合回答的问题 | 提示词应包含 |
|---|---|---|
| Architecture | 系统由哪些组件组成,边界在哪里 | 组件、存储、外部依赖、主要路径、信任边界 |
| Workflow | 一项工作按什么顺序执行 | 参与者、步骤、分支、审批、失败路径 |
| Sequence | 一次请求如何在组件间传播 | 调用者、被调用者、返回、超时、异步行为 |
| Data Flow | 数据从哪里来、经过哪里、存到哪里 | 来源、转换、存储、消费者、敏感数据边界 |
| Lifecycle | 对象或任务如何改变状态 | 状态、事件、重试、等待、取消和终态 |
不要把所有信息塞进一张 Architecture 图。登录请求的缓存回退适合 Sequence;CI 的审批和回滚适合 Workflow;订单状态转换更适合 Lifecycle。
Archify 也不是 Mermaid 主题、在线托管平台或 WYSIWYG 编辑器。官方明确把自动解析 Mermaid、通用自动布局、托管分享和所见即所得编辑放在当前范围之外。
安装前检查 Node.js 与工作目录
安装命令通过 npx 运行,因此先检查 Node.js 和 npm:
|
|
如果命令不存在,先安装当前受支持的 Node.js LTS,再重新打开终端。不要在缺少 npx 时把安装失败归因于 Codex 或 Claude Code。
同时确认要在哪个仓库生成图:
|
|
工作区有未提交修改时仍可分析,但图中的源码证据必须与一个明确提交对应。用于正式评审时,先记录:
|
|
全局安装 Archify Skill
官方快速安装命令是:
|
|
-g 表示全局安装。各 Agent 的常见 Skill 位置不同:
| 工具 | 常见位置 |
|---|---|
| Codex CLI | ~/.agents/skills/ |
| Claude Code | ~/.claude/skills/ |
| OpenCode | ~/.config/opencode/skills/、.opencode/skills/ 或 .agents/skills/ |
| Raven | ~/.raven/workspace/skills/archify |
安装器会按目标 Agent 处理目录,不建议手动把同一份 Skill 复制到多个未知位置。安装完成后重启 Agent,确保新会话重新扫描 Skills。
只想在 Codex 中临时试用,可以执行:
|
|
临时试用适合验证效果;要让团队稳定复现,应固定安装方式,并在项目文档中记录 Archify 仓库版本或提交。
验证 Agent 是否真正调用了 Archify
不要仅凭“已安装成功”判断可用。新建会话后给出一个边界明确的请求:
|
|
验收时检查三件事:
- Agent 明确选择并调用 Archify,而不是生成 Mermaid 代码冒充结果。
- 输出包含可以单独打开的 HTML,以及对应的类型化源数据。
- 图中的组件、关系和边界能回到仓库或输入描述,不出现无依据服务。
若 Agent 只返回一段解释,先让它说明 Skill 是否被发现,再检查安装目录和新会话状态。
从仓库生成第一张架构图
高质量结果取决于范围。可以使用下面的提示词:
|
|
对 monorepo,应先限定目录:
|
|
如果不限定范围,Agent 可能把测试、脚本和历史实现都画成生产组件,导致节点过多、边的含义不清楚。
为具体链路选择 Sequence 或 Data Flow
缓存回退适合时序图:
|
|
涉及隐私和数据处理时,改用 Data Flow:
|
|
区别在于:Sequence 关注调用顺序;Data Flow 关注数据移动、转换、存储和敏感边界。
保留 JSON IR,不要只交付截图
Archify 使用类型化 JSON IR 驱动渲染。团队应同时保存:
- 原始 JSON;
- 验证后的 HTML;
- 用于文档的 SVG 或 PNG;
- 生成时对应的 Git 提交;
- 人工审查记录。
只保留 PNG 会失去可重复编辑和验证能力。HTML 适合交互查看,SVG 适合文档和版本管理,PNG 适合不支持 SVG 的平台。
建议目录示例:
|
|
在 README.md 中记录范围和提交:
|
|
用仓库 CLI 验证和交付
如果需要直接调用 Archify 仓库内的验证器,先克隆项目并进入目录:
|
|
可以先查看内置示例:
|
|
验证一个 Workflow JSON:
|
|
生成一次性可交付 HTML:
|
|
失败时读取 diagnostics[]、规则代码、具体对象和 supportedFixes,只修改被指出的问题。不要看到一次验证失败就让 Agent 重写整张图。
本地预览的安全边界
需要边改边看时可使用 preview:
|
|
官方预览模式只绑定 127.0.0.1 的随机端口,并只监听指定 JSON 文件。候选文件未通过验证时,浏览器继续显示上一份合格结果。
不要为了远程访问把预览服务改成 0.0.0.0。需要分享时交付自包含 HTML,或在受控文档系统中发布静态导出文件。
用 Architecture Delta 审查变更
设计或 PR 评审可以比较两个已验证快照:
|
|
结果展示 Before、Delta 和 After,并区分已添加、删除、修改、移动或重路由的事实。它比较的是两份已编写并通过验证的结构,不会自动判断风险、影响范围或是否可以合并。
因此仍需人工回答:
- 变化是否来自真实代码和配置;
- 信任边界是否改变;
- 数据存储或外部依赖是否新增;
- 部署顺序和回滚是否需要调整;
- 测试是否覆盖新的路径。
图表生成后如何验收
先检查事实,再检查视觉:
事实检查
- 入口是否与真实启动命令一致;
- 服务关系是否能在代码、配置或文档中找到;
- 同步调用与异步消息是否区分;
- 数据库、缓存、队列没有被混成同一种存储;
- 信任边界和外部系统没有被遗漏;
- 图中没有 Agent 自行补出的“常见组件”。
视觉检查
- 主路径能在数秒内识别;
- 节点没有互相遮挡;
- 连线没有穿过标签;
- 次要信息没有压过主要关系;
- 深色和浅色主题都可读;
- 导出的 SVG、PNG 与 HTML 表达一致。
可交付性检查
- HTML 在断网环境可以打开;
- JSON 和 HTML 使用相同版本;
- 文件名稳定,不含临时随机名称;
- 图中不包含密钥、内网地址或客户数据;
- Git 提交和生成范围有记录。
常见故障排查
Agent 找不到 Archify
重新确认安装和会话:
|
|
然后完全退出并重启 Codex 或 Claude Code。若同时存在多个 Skill 目录,检查 Agent 实际读取哪一个,不要继续重复安装。
生成的是 Mermaid,而不是 Archify HTML
在提示词中明确写“use archify”并要求交付 validated HTML 和 typed source。仍未调用时,说明 Skill 未被发现或被其他规则覆盖。
图中组件过多
把请求缩小到一个运行时路径,限制 8–12 个主节点,并把日志、指标、测试和辅助脚本移到说明卡片。
图的结构与源码不一致
先固定 Git 提交和分析目录,再逐项删除无法找到证据的节点。不要用“通常会有 Redis”这类经验补全实际仓库。
验证失败但旧图仍显示
这是 last-good 预览机制。查看 diagnostics[],修正当前候选;不要把旧图仍可见误判为新版本验证成功。
SVG 在文档平台显示异常
先在浏览器直接打开 SVG,检查字体、外部资源和裁剪范围。无法稳定展示时使用 PNG,但继续保留 SVG 和 JSON 源文件。
一份可复用的验收清单
|
|
总结
Archify 的价值不是“一句话自动画图”,而是把技术描述整理为类型化、可验证、可交互的交付物。可靠流程应当是:限定范围,选择正确图种,生成 JSON IR,通过验证,人工核对事实,再交付 HTML 和静态导出。
对代码仓库尤其要保留 Git 提交和分析范围。图表可以帮助团队讨论架构,但源码、配置、测试和运行数据仍是最终依据。