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 提交和分析範圍。圖表可以幫助團隊討論架構,但原始碼、設定、測試和執行資料仍是最終依據。