理解万物
把任意代码库/文档解析成可交互知识图谱,配可视化看板供探索问答
Understand Anything
将任何代码库、知识库或文档转化为可交互的知识图谱,供你探索、搜索和提问。
适用于 Claude Code、Codex、Cursor、Copilot、Gemini CLI 等。
理解一切。 理解任何人。
AI 应该帮助人,而不是取代他们。
English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Español | Türkçe | Русский
来自 Egonex 的开源项目
最初由 Lum1104 创建。
你刚加入了一个新团队。代码库有 20 万行代码。该从哪里开始?
Understand Anything 是一个 Claude Code 插件,通过多智能体流水线分析你的项目,构建包含每个文件、函数、类和依赖的知识图谱,然后提供一个交互式仪表盘,让你以可视化方式探索一切。不再盲目阅读代码,而是看清全局。
目标不是用一张让你惊叹代码库有多复杂的图谱,而是一张默默教会你每个部分如何融为一体的图谱。
✨ 功能特性
[!NOTE] 不想看文档? 试试我们主页上的在线演示——一个完全交互的仪表盘,你可以在浏览器中平移、缩放、搜索和探索。
探索结构图
将你的代码库导航为交互式知识图谱——每个文件、函数和类都是一个节点,你可以点击、搜索和探索。选中任意节点即可查看通俗易懂的摘要、关系和引导式导览。
理解业务逻辑
切换到 Domain view,查看代码如何映射到实际业务流程——域、流程和步骤以水平图的形式呈现。
分析知识库
将 /understand-knowledge 指向一个 Karpathy 风格的 LLM wiki,即可获得带有社区聚类的力导向知识图谱。确定性解析器从 index.md 中提取 wikilinks 和类别,然后 LLM 智能体发现隐式关系、提取实体并呈现声明——将你的 wiki 转化为可导航的互联思想图谱。
🧭 引导式导览按依赖关系排序的自动生成架构演练。以正确的顺序学习代码库。 |
🔍 模糊与语义搜索按名称或含义搜索任何内容。搜索“哪些部分处理认证?”即可获得图谱中的相关结果。 |
📊 Diff 影响分析在提交之前查看你的更改会影响系统的哪些部分。了解代码库中的涟漪效应。 |
🎭 Persona-Adaptive UI仪表盘会根据你的身份(初级开发者、PM 或高级用户)调整详细程度。 |
🏗️ 层可视化按架构层自动分组——API、Service、Data、UI、Utility——附带彩色图例。 |
📚 语言概念12 种编程模式(泛型、闭包、装饰器等)在出现时结合上下文进行解释。 |
🚀 快速开始
1. 安装插件
/plugin marketplace add Egonex-AI/Understand-Anything
/plugin install understand-anything
2. 分析你的代码库
/understand
一个多智能体流水线会扫描你的项目,提取每个文件、函数、类和依赖,然后构建知识图谱并保存到 .understand-anything/knowledge-graph.json。
本地化输出: 使用 --language 以你偏好的语言生成内容:
# 生成中文内容(知识图节点描述和 Dashboard UI)
/understand --language zh
# 支持的语言:en(默认)、zh、zh-TW、ja、ko、ru
在项目的首次运行时——如果你未传入 --language 且没有存储过语言设置——/understand 会自动检测你对话所使用的语言。如果不是英语,它会要求你确认(或覆盖)后再生成;英语对话则不受影响。你的选择会保存到 .understand-anything/config.json 中,并在之后的每次运行中复用。
--language 参数影响:
- 知识图谱中的节点摘要和描述
- 仪表盘 UI 的标签、按钮和工具提示
- 引导式导览说明
3. 探索仪表盘
/understand-dashboard
会打开一个交互式 Web 仪表盘,将你的代码库可视化为一幅图谱——按架构层进行颜色编码、可搜索且可点击。选择任意节点可查看其代码、关系以及通俗易懂的英文解释。
4. 持续学习
# 询问代码库的任何内容
/understand-chat How does the payment flow work?
# 分析当前更改的影响
/understand-diff
# 深入分析特定文件或函数
/understand-explain src/auth/login.ts
# 为新团队成员生成入门指南
/understand-onboard
# 提取业务领域知识(领域、流程、步骤)
/understand-domain
# 分析基于 Karpathy 模式的 LLM Wiki 知识库
/understand-knowledge ~/path/to/wiki
# 随时重新运行——默认增量模式(仅重新分析已更改的文件)
/understand
# 通过 post-commit 钩子在每次提交时自动更新
/understand --auto-update
# 限定子目录(适用于大型单体仓库)
/understand src/frontend
🌐 多平台安装
Understand-Anything 可在多个 AI 编码平台上运行。
Claude Code(原生)
/plugin marketplace add Egonex-AI/Understand-Anything
/plugin install understand-anything
一键安装(Codex / OpenCode / OpenClaw / Antigravity / Gemini CLI / Pi Agent / Vibe CLI / VS Code Copilot / Hermes / Cline / KIMI CLI / Trae / Nanobot)
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-anything/repo,并为所选平台创建正确的符号链接。之后请重启你的 CLI/IDE。
- 支持的
<platform>值:gemini、codex、opencode、pi、openclaw、antigravity、vibe、vscode、hermes、cline、kimi、trae、nanobot - 后续更新:
./install.sh --update - 卸载:
./install.sh --uninstall <platform>
Cursor
当克隆此仓库后,Cursor 会通过 .cursor-plugin/plugin.json 自动发现插件——无需手动安装,只需克隆并在 Cursor 中打开即可。
若自动发现未生效,可手动安装:打开 Cursor Settings → Plugins,将 https://github.com/Egonex-AI/Understand-Anything 粘贴到搜索框中,然后从那里添加。
VS Code + GitHub Copilot
当克隆此仓库后,带有 GitHub Copilot (v1.108+) 的 VS Code 会通过 .copilot-plugin/plugin.json 自动发现插件——无需手动安装,只需克隆并在 VS Code 中打开即可。
对于个人技能(可在所有项目中可用),请使用 vscode 平台运行上述 install.sh。
Copilot CLI
copilot plugin install Egonex-AI/Understand-Anything:understand-anything-plugin
平台兼容性
| 平台 | 状态 | 安装方式 |
|---|---|---|
| Claude Code | ✅ 原生 | 插件市场 |
| Cursor | ✅ 支持 | 自动发现 |
| VS Code + GitHub Copilot | ✅ 支持 | 自动发现 |
| Copilot CLI | ✅ 支持 | 插件安装 |
| Codex | ✅ 支持 | install.sh codex |
| OpenCode | ✅ 支持 | install.sh opencode |
| OpenClaw | ✅ 支持 | install.sh openclaw |
| Antigravity | ✅ 支持 | install.sh antigravity |
| Gemini CLI | ✅ 支持 | install.sh gemini |
| Pi Agent | ✅ 支持 | install.sh pi |
| Vibe CLI | ✅ 支持 | install.sh vibe |
| Hermes | ✅ 支持 | install.sh hermes |
| Cline | ✅ 支持 | install.sh cline |
| KIMI CLI | ✅ 支持 | install.sh kimi |
| Trae | ✅ 支持 | install.sh trae |
| Nanobot | ✅ 支持 | install.sh nanobot |
📦 与团队共享图谱
图谱只是 JSON——提交一次,团队成员即可跳过管道。适用于入职培训、PR 审查和文档即代码。
示例: GoogleCloudPlatform/microservices-demo —— 附带了已提交图谱的 Go / Java / Python / Node 参考项目。
需要提交的内容: .understand-anything/ 中的所有内容,但 intermediate/ 和 diff-overlay.json 除外(这些是本地临时文件)。
.understand-anything/intermediate/
.understand-anything/diff-overlay.json
保持最新: 启用 /understand --auto-update —— 一个 post-commit 钩子会增量更新图谱,使每次提交都附带对应的图谱。或者在发布前手动重新运行 /understand。
大图谱(10 MB+): 使用 git-lfs 跟踪。
git lfs install
git lfs track ".understand-anything/*.json"
git add .gitattributes .understand-anything/
🔧 内部原理
Tree-sitter + LLM 混合引擎
静态分析和 LLM 各司其职:
- Tree-sitter(确定性) —— 将源码解析为具体语法树,提取结构信息:导入、导出、函数/类定义、调用位置、继承关系。在扫描阶段预解析为
importMap,并传递给文件分析器,避免它们从源码重新推导导入信息。相同输入→相同输出,每次运行皆然。同时为增量更新的指纹变更检测提供支持。 - LLM(语义) —— 读取解析后的结构以及原始源码,生成解析器无法生成的内容:通俗易懂的英文摘要、标签、架构层分配、业务领域映射、引导式导览、语言特性提示。
这种拆分使得图谱在结构侧可重现(相同代码总是产生相同边),同时在语义侧捕捉意图(文件的目的,而不仅仅是它导入了什么)。
多智能体管道
/understand 命令编排了 5 个专用智能体,/understand-domain 额外增加了第 6 个:
| 智能体 | 角色 |
|---|---|
project-scanner | 发现文件,检测语言和框架 |
file-analyzer | 提取函数、类、导入;生成图节点和边 |
architecture-analyzer | 识别架构层 |
tour-builder | 生成引导式学习导览 |
graph-reviewer | 验证图谱完整性和引用完整性(默认内联运行;使用 --review 进行全面 LLM 审查) |
domain-analyzer | 提取业务领域、流程和步骤(由 /understand-domain 使用) |
article-analyzer | 从 Wiki 文章中提取实体、声明和隐式关系(由 /understand-knowledge 使用) |
文件分析器并行运行(最多 5 个并发,每批 20-30 个文件)。支持增量更新——仅重新分析自上次运行以来发生变化的文件。
🎥 社区
由 Better Stack 制作的社区教程。
制作了视频、博客文章或教程?请提交 issue 或 PR —— 我们乐于在此展示。
🤝 贡献
欢迎贡献!以下是如何开始的步骤:
- Fork 仓库
- 创建功能分支(
git checkout -b feature/my-feature) - 运行测试(
pnpm --filter @understand-anything/core test) - 提交更改并开启 pull request
对于重大更改,请先开启 issue,以便我们讨论方法。
停止盲目阅读代码。开始理解一切。
Star 历史
感谢所有使用和贡献的人 —— 知道这能节省大家的时间,便是构建它的价值所在。
MIT 许可证 © Yuxiang Lin 和 Infinite Universe, Inc.
