🗺️ 互動式知識圖譜
使用 React Flow 視覺化檔案、函式、類別及其關係。點擊任意節點即可查看其程式碼和連接。
|
💬 簡明語言解釋
LLM 自動產生解釋,讓非技術人員也能理解程式碼。
|
🧭 引導式學習
自動產生架構學習路徑,按相依順序學習。
|
🔍 語意搜尋
支援模糊搜尋 + 語意搜尋,例如搜尋「哪些部分處理身分驗證?」即可在整個圖中獲取相關結果。
|
📊 變更影響分析
提交變更前,查看變更會影響系統的哪些部分。了解變更對整個程式碼庫的連鎖反應。
|
🎭 使用者角色自適應 UI
根據使用者類型(初級開發 / 專案經理 / 進階使用者)調整其詳細程度。
|
🏗️ 層級視覺化
按架構層級自動分組 — API、服務、資料、UI、系統工具 — 並附有顏色編碼圖例。
|
📚 語言概念
12 種程式設計模式(泛型、閉包、裝飾器等)將在上下文中逐一解釋。
|
🏢 業務領域知識
從程式碼庫中提取業務領域、流程和處理步驟。透過互動式水平流程圖查看業務邏輯如何對應到程式碼 — 領域包含流程,流程包含步驟。
|
🔀 結構 + 領域雙視圖
在資料看板中切換程式碼結構圖和業務領域圖。同時理解程式碼的組織方式和它實現的業務流程。
|
---
## 🔧 技術原理
### 多智能體架構
`/understand` 指令呼叫 5 個 agent,`/understand-domain` 額外增加第 6 個:
| Agent | 職責 |
|-------|------|
| `project-scanner` | 掃描專案檔案,偵測語言和框架 |
| `file-analyzer` | 提取程式碼結構(函式、類別和匯入),產生圖節點和邊 |
| `architecture-analyzer` | 識別架構層 |
| `tour-builder` | 產生引導式學習路徑 |
| `graph-reviewer` | 驗證圖的完整性和參考完整性 |
| `domain-analyzer` | 提取業務領域、流程和處理步驟(由 `/understand-domain` 使用) |
檔案分析器並行執行(最多 3 個並發)。支援增量更新 — 僅重新分析自上次執行以來發生變更的檔案。
### 專案結構
```
understand-anything-plugin/
.claude-plugin/ — 外掛程式清單
agents/ — 專業 AI 智能體
skills/ — Skill 定義 (/understand, /understand-chat, etc.)
src/ — TypeScript 原始碼 (context-builder, diff-analyzer, etc.)
packages/
core/ — 分析引擎 (types, persistence, tree-sitter, search, schema, tours)
dashboard/ — React + TypeScript 網頁資料看板
```
### 技術堆疊
TypeScript、pnpm workspaces、React 18、Vite、TailwindCSS v4、React Flow、Zustand、web-tree-sitter、Fuse.js、Zod、Dagre
### 開發指令
| 指令 | 說明 |
|---------|-------------|
| `pnpm install` | 安裝所有相依套件 |
| `pnpm --filter @understand-anything/core build` | 建置核心套件 |
| `pnpm --filter @understand-anything/core test` | 執行核心測試 |
| `pnpm --filter @understand-anything/skill build` | 建置外掛程式套件 |
| `pnpm --filter @understand-anything/skill test` | 執行外掛程式測試 |
| `pnpm --filter @understand-anything/dashboard build` | 建置資料看板 |
| `pnpm dev:dashboard` | 啟動資料看板開發伺服器 |
---
## 🤝 貢獻
歡迎貢獻!以下是貢獻指南:
1. Fork 專案
2. 新建分支(`git checkout -b feature/my-feature`)
3. 執行測試(`pnpm --filter @understand-anything/core test`)
4. 提交變更並建立 PR
對於重大變更,請先提交 issue,以便我們討論解決方案。
---