Egonex-AI / Understand-Anything
Egonex-AI/Understand-Anything
将任何代码转化为可探索、搜索和提问的交互式知识图谱,支持Claude Code、Codex、Cursor、Copilot、Gemini CLI等工具,注重教学价值而非视觉效果。
项目概览
项目概述
Understand Anything 是一个开源工具,旨在将任何代码库、知识库或文档转化为交互式知识图谱,使用户能够探索、搜索并提问。它通过多智能体流水线分析项目,构建包含文件、函数、类和依赖关系的知识图谱,并提供交互式仪表盘进行可视化。该项目支持多种 AI 编码平台,如 Claude Code、Codex、Cursor、Copilot、Gemini CLI 等。
核心功能
- 交互式知识图谱:将代码库可视化为可探索的图谱,节点可点击、搜索和浏览。
- 业务逻辑理解:切换到领域视图,查看代码如何映射到实际业务流程。
- 知识库分析:支持分析 Karpathy 风格的 LLM wiki,提取实体、关系和主张。
- 引导式导览:自动生成架构导览,按依赖顺序学习代码库。
- 模糊与语义搜索:按名称或含义搜索,如“哪些部分处理认证?”。
- Diff 影响分析:在提交前查看更改对系统的影响。
- 角色自适应 UI:根据用户角色(初级开发、PM、高级用户)调整仪表盘细节。
- 层可视化:按架构层自动分组,带颜色图例。
- 语言概念:在上下文中解释 12 种编程模式(泛型、闭包、装饰器等)。
适用与不适用场景
适用场景:
- 新团队成员快速了解大型代码库。
- 开发者理解业务逻辑与代码的映射。
- 分析个人知识库(Obsidian、Logseq 等)并可视化知识关联。
- 在提交前评估代码更改的影响范围。
- 生成新员工入职指南。
不适用场景:
- 需要实时、动态更新的代码分析(该工具基于静态分析)。
- 对代码进行修改或重构(仅提供理解,不提供编辑功能)。
- 处理非 Markdown 或非代码文件(如二进制文件)的知识库。
- 在没有 Node.js 环境或无法访问 LLM 的情况下使用(部分功能需要 LLM)。
技术架构与依赖
- 语言:TypeScript
- 包管理:pnpm workspaces
- 核心引擎:Tree-sitter(确定性静态分析)+ LLM(语义分析)混合架构
- 前端:React 18、Vite、TailwindCSS v4、React Flow、Zustand
- 其他:web-tree-sitter、Fuse.js、Zod、Dagre
- 支持的语言:TypeScript、JavaScript、Python、Go、Rust、Java、Ruby、PHP、C/C++、C# 等(通过 LanguageConfig 配置)
- 非代码文件:Markdown、YAML、JSON、TOML、Dockerfile、SQL、Terraform 等 26+ 种类型
安装与快速开始
Claude Code(原生)
/plugin marketplace add Egonex-AI/Understand-Anything
/plugin install understand-anything
其他平台(Codex、OpenCode、Gemini CLI 等)
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/Egonex-AI/Understand-Anything/main/install.sh | bash
# 或指定平台:
curl -fsSL https://raw.githubusercontent.com/Egonex-AI/Understand-Anything/main/install.sh | bash -s codex
Windows (PowerShell):
iwr -useb https://raw.githubusercontent.com/Egonex-AI/Understand-Anything/main/install.ps1 | iex
分析代码库
/understand
启动仪表盘
/understand-dashboard
典型使用方法
- 提问:
/understand-chat How does the payment flow work? - 分析更改影响:
/understand-diff - 深入解释文件:
/understand-explain src/auth/login.ts - 生成入职指南:
/understand-onboard - 提取业务领域:
/understand-domain - 分析知识库:
/understand-knowledge ~/path/to/wiki - 增量更新:
/understand(默认增量,只重新分析更改的文件) - 自动更新:
/understand --auto-update(提交后自动更新) - 限定子目录:
/understand src/frontend
配置与部署要点
- 数据目录:知识图谱保存在
.ua/目录(旧版本为.understand-anything/)。 - 忽略文件:支持
.understandignore文件,使用.gitignore语法排除文件。 - 语言设置:使用
--language参数生成指定语言的内容(如zh)。 - 本地模型:可通过 Ollama 等本地模型提供商进行隐私或企业部署。
- 团队共享:将
.ua/目录(除intermediate/和diff-overlay.json)提交到仓库,团队成员可跳过分析直接查看图谱。 - 大图谱:10MB 以上建议使用 git-lfs 跟踪。
- 无 LLM 查看:使用
npx https://github.com/Egonex-AI/Understand-Anything/releases/latest/download/understand-anything-viewer.tgz /path/to/project仅需 Node.js >= 18。
限制、风险与许可证
- Token 消耗:首次
/understand分析整个代码库可能消耗大量 token,建议使用订阅计划或本地模型。 - LLM 生成错误:知识图谱可能包含不完美数据,仪表盘会显示警告并尝试自动修复。
- 许可证:MIT License,版权所有 Yuxiang Lin 和 Infinite Universe, Inc.。
- 依赖:需要 Node.js >= 18(查看器)或 >= 22(开发),pnpm >= 10。
官方链接
- GitHub 仓库:https://github.com/Egonex-AI/Understand-Anything
- 主页:https://understand-anything.com
- 在线演示:https://understand-anything.com/demo/
- Egonex:https://egonex.ai
信息来源和分析时间
- 信息来源:GitHub 仓库 README、CONTRIBUTING.md、docs/ 目录下的实现计划文档、最新发布信息。
- 分析时间:2026-07-10(基于最新发布 v2.9.0 的日期)。