臭名昭著aTrust隔离计划1.臭名昭著aTrust隔离计划2.VPN原理与aTrust隔离网络实践3.docker-easyconnect到底做了什么4.TUN(tunnel-隧道-虚拟网卡)模式
个人项目
personal(个人展示)GitHub Actions 自动部署个人展示项目
基于Quartz搭建的个人博客1.Quartz个人博客使用教程2.使用 rsync 增量部署 Quartz 博客3.使用 GitHub Actions 自动部署 Quartz 博客5.域名绑定6.CDN加速7.Google 搜索收录排查:为什么关键词搜得到别人,却搜不到我的网站?Obsidian、双向链接与知识图谱
架构设计
分布式分布式事务RPC原理
旅行
行程攻略青岛三日游行程攻略
前端
NginxNginx配置与反向代理入门
Nodenpm与npx的区别
数据库
mysql01.MySQL基础语法与约束02.MySQL数据库类型03.MySQL多表查询04.MySQL 索引05.MySQL 事务06.MySQL 隔离级别07.MySQL MVCC08.MySQL 锁09.EXPLAIN10.慢查询与 SQL 优化
mysql面试题01.索引问题02.事务与隔离级别03.锁机制04.存储引擎与性能优化05.用户权限、字符集与备份恢复
mysql实战01.EXPLAIN实战02.测试环境菜单误删排查与恢复03.MySQL IN 详解
网络
网络安全1.无线监听网卡苹果M系列虚拟机安装Kali Linux教程3.kali怎么使用RTL8812AU4.kali基础命令
网络基础进程之间怎样通过网络传递数据
网址常用网址
中间键
esElasticsearch 入门
mq
RabbitMQRabbitMQ高级RabbitMQ基础
1. MQ 基础2. MQ 核心角色与代码对应3. MQ Consumer Group 与消费模式4. SOFAMQ 账户变更代码实践5. MQ 可靠性问题6. 消息幂等
redis缓存击穿、穿透与雪崩Redis 分布式锁Redis 缓存问题Redis 数据结构
AI
使用说明
第三方插件&技能简介Archify使用与安装指南geekgeekRun使用OfferFlow使用指南Ponytail使用指南Skills Manager使用指南
CodexCodex CLI与IDE区别及使用指南Codex Hook单独配置与提交通知Codex MCP安装与使用指南Codex第三方插件安装与使用指南
Agent开发0-学习路线1.LLM、Token、上下文窗口与模型参数2.大模型 API、请求参数与响应结构3.Spring AI ChatClient4.Prompt、System Prompt、Prompt 模板6.结构化输出、JSON Schema7.SSE 流式响应8.会话 ID、聊天记录、Redis9.超时、重试、限流、降级10.*完成可运行聊天接口11.Function Calling、Tool Calling 原理12.用 Java 方法定义 Tool13.工具参数设计和校验14.实现订单查询工具15.实现物流查询工具16.实现库存查询工具17.多个工具自动选择18.工具异常、超时、重试
diy主机
主机零件学习1.CPU2.主板3.内存4.显卡5.硬盘6.散热7.风扇8.机箱热门型号价格表
捡垃圾diy-13600kf+5060diy-14600kf+5070
English高频词汇英文基础语法简单句子音标
GitGit常用命令Sublime Merge 使用指南
Java
工具库Caffeine本地缓存Reactor教程
工作实践如何使用@Async线程池使用与排查线上服务 CPU 使用率过高排查压测下RPC接口大量失败排查记录
基础1.HashMap2.ConcurrentHashMap3.HashSet4.final5.static6.volatile7.AtomicInteger8.String动态代理反射锁与线程同步线程注解
面试题1.HashMap 存储在方法内是线程安全的吗2.ArrayList参数传递与引用重新赋值3.== 和 equals 的区别、hashcode4.重载和重写的区别5.String、StringBuffer、StringBuilder区别及使用场景6.接口和抽象类7.ArrayList 与 LinkedList 的区别和扩容机制8.HashMap 和 Hashtable 的区别及底层实现9.Object 和 Objects 的区别10.ThreadLocal的原理和使用场景11.字节码是什么及作用12.Java类加载器有哪些13.双亲委派模型14.Java异常体系15.GC是什么16.GC如何判断对象可以被回收
面试总结0.HR面试模板1.面试一2.面试二3.面试三笔试
网络与 IO(黑马程序员-纯理论)01-网络编程基础02-IO模型与零拷贝03-BIO04-NIO基础与缓冲区05-NIO通道与选择器06-AIO
juc00-目录01-进程与线程02-线程同步与通信03-并发设计模式04-Java内存模型05-CAS与原子类06-ThreadLocal07-阻塞队列08-线程池使用与原理09-任务调度10-ForkJoin与享元模式11-AQS12-ReentrantLock13-读写锁14-并发协作工具15-ConcurrentHashMap16-CopyOnWrite与同步容器17-SkipListMap18-非阻塞队列
juc(工作常见)Java并发编程三个重点拆解
jvm1. JVM运行时数据区
Spring1.Spring IoC、DI与构造方法注入CGLIB、Byte Buddy 与 Spring AOPSpring 常用注解详解Spring Bean 生命周期
Spring MVC异常处理机制
linux常用命令
mac快捷键终端常用操作
python
基础01.Python是什么,为什么要安装Python02.Python项目中.venv是什么03.Python基础语法
基础实战sql替换
HTTPXHRMS员工详情接口调用(Python HTTPX)
windowswindows激活

一、一句话理解

Archify 是一个面向 Codex 等 AI 编程助手的 Agent Skill:把系统描述或代码仓库转换成可验证、可交互的技术架构图,并输出为可分享的 HTML 文件。

官方仓库:tt-a1i/archify

二、理论:它是什么

2.1 核心概念

可以把 Archify 理解成:

先用文字描述系统,再由 AI 生成结构化图纸,最后经过校验并渲染成网页图表。

它不是普通的手动画图工具,也不是简单的 Mermaid 主题美化器。它的重点是让图表结构可验证、可修改、可复现。

2.2 支持的图类型

类型适合场景
Architecture系统组件、服务、数据库、边界
WorkflowCI/CD、审批、发布、操作流程
SequenceAPI 调用、登录认证、缓存回源
Data Flow数据管道、数据流转、数据血缘
Lifecycle状态、重试、等待、终止

三、理论:它是怎么工作的

3.1 生成结构化图表描述

AI 根据用户的需求或代码仓库生成 typed JSON,也就是有固定字段和类型约束的图表描述。

3.2 校验图表结构

Archify 会检查节点、连线、布局、标签、路径和 HTML/SVG 输出,发现问题时返回具体的诊断信息。

3.3 输出自包含 HTML

校验通过后,Archify 将图表渲染成一个自包含 HTML 文件。文件可以直接打开和分享,不依赖在线平台才能查看。

3.4 支持交互和导出

生成的查看器支持主题切换、搜索、缩放、路径追踪、上下游关系查看,以及 PNG、SVG、WebM 等导出形式。

四、实践:可以拿来干什么

  • 梳理现有项目的运行时架构。
  • 展示前端、后端、缓存、消息队列和数据库之间的调用关系。
  • 绘制登录、支付、订单等 API 时序。
  • 说明 CI/CD 发布、审批和回滚流程。
  • 展示数据从采集、转换到存储和消费的过程。
  • 在代码评审或系统设计时快速生成说明图。

五、最小例子

5.1 通过自然语言生成架构图

在 Codex 中可以直接描述目标:

使用 archify 分析当前仓库,生成一张高层运行时架构图。
展示核心组件、主要调用路径、外部依赖和信任边界。
控制在 8 到 12 个核心节点。

5.2 绘制登录时序图

使用 archify 绘制登录时序图:
浏览器 -> Web 应用 -> API -> JWT 校验 -> Redis -> PostgreSQL。
把 Redis 未命中的数据库回源路径作为次要路径。

5.3 继续修改图表

生成初稿后,可以继续提出局部修改:

增加消息队列节点,突出异步通知路径,并把数据库放到存储边界内。

六、安装与验证

6.1 当前环境

当前环境已经安装在:

/Users/chenweili/.agents/skills/archify

已通过 Archify 自带检查,Node.js、五类图表渲染器、校验器和预览组件均可用,因此当前环境不需要重复安装。

6.2 在其他机器的 Codex CLI 中安装

前提是 Node.js 版本至少为 18。

npx skills add tt-a1i/archify -g

如果希望明确安装到 Codex:

npx -y skills add tt-a1i/archify \
  --skill archify \
  --global \
  --agent codex \
  --yes

安装完成后,重新启动 Codex 或新建会话。

6.3 验证安装

cd ~/.agents/skills/archify
node bin/archify.mjs doctor

如果看到下面的结果,就表示安装成功:

Archify is ready.

还可以生成示例:

node bin/archify.mjs demo /tmp/archify-demo

6.4 临时试用

不写入全局环境时,可以临时使用:

npx skills use tt-a1i/archify@archify --agent codex

6.5 直接使用命令行工具

在 Archify 目录中,可以使用以下命令:

node bin/archify.mjs doctor
node bin/archify.mjs demo /tmp/archify-demo
node bin/archify.mjs guide "展示 CI/CD 检查、审批、部署和回滚"

七、边界与常见误区

  • Archify 生成的是根据输入事实整理出的图,不会自动证明线上系统的真实运行情况。
  • 它不是 WYSIWYG 手动画图软件,主要通过自然语言和结构化 JSON 修改。
  • Mermaid 可以作为输入参考,但 Archify 的重点是重新组织成自己的结构化图表,而不是简单套一层样式。
  • 重新安装时通常不需要单独执行 npm install,通过 npx skills add 即可完成安装。
  • 图表应保持主路径清晰,节点和连线过多会降低可读性。

相关笔记:../Codex/Codex第三方插件安装与使用指南

八、总结

Archify = 用自然语言描述系统,由 AI 生成结构化图表,再经过校验后输出可交互 HTML 的架构图技能。