🗺️ 交互式知识图谱
使用 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,以便我们讨论解决方案。
---