Understand Anything

将任意代码库、知识库或文档转化为可探索、可搜索、可对话的交互式知识图谱
支持 Claude Code、Codex、Cursor、Copilot、Gemini CLI 等多平台。

Understand Anything | Trendshift

English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Español | Türkçe | Русский

Quick Start License: MIT Claude Code Codex Copilot Copilot CLI Gemini CLI OpenCode Homepage Live Demo

Understand Anything — 将任何代码库转换为交互式知识图谱

An open-source project from Egonex
Originally created by Lum1104.

--- **当你刚加入一个新团队,面对 20 万行代码,你从哪里开始?** Understand Anything 是一个 [Claude Code Plugin](https://code.claude.com/docs/en/plugins-reference#plugins-reference),通过多智能体(multi-agent)架构分析你的项目,构建包含文件、函数、类以及依赖关系的知识图谱,并提供一个可视化交互界面,帮助你理解整个系统。不再”盲读代码”,而是从全局视角理解系统结构。 > **目标不是用代码库的复杂程度来惊艳你 —— 而是默默告诉你每一块是怎么拼在一起的。** --- ## ✨ 核心功能 > [!NOTE] > **想直接体验?** 在我们的[主页](https://understand-anything.com/)试试[在线演示](https://understand-anything.com/demo/) — 一个可以平移、缩放、搜索和探索的全交互式仪表盘。 ### 探索代码结构图 将你的代码库以交互式知识图谱的形式呈现——每个文件、函数和类都是可点击、可搜索、可探索的节点。选择任意节点即可查看通俗易懂的摘要、依赖关系和引导式学习路径。 ### 理解业务逻辑 切换到领域视图,查看代码如何映射到真实的业务流程——以水平图的形式展示领域、流程和步骤。 ### 分析知识库 将 `/understand-knowledge` 指向一个 [Karpathy 模式的 LLM Wiki](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f),即可获得带有社区聚类的力导向知识图谱。确定性解析器从 `index.md` 中提取 wikilinks 和分类,然后 LLM 代理发现隐式关系、提取实体并挖掘论断——将你的 wiki 转化为可导航的互联思想图谱。

🧭 引导式学习

自动生成架构学习路径,按依赖顺序学习。

🔍 语义搜索

支持模糊搜索 + 语义搜索,例如搜索"哪些部分处理身份验证?"即可在整个图中获取相关结果。

📊 变更影响分析

提交更改前,查看更改会影响系统的哪些部分。了解更改对整个代码库的连锁反应。

🎭 用户角色自适应 UI

根据用户类型(初级开发 / 项目经理 / 高级用户)调整其详细程度。

🏗️ 层级可视化

按架构层级自动分组 — API,服务,数据,UI, 系统工具 — 并附有颜色编码图例。

📚 语言概念

12 种编程模式(泛型、闭包、装饰器等)将在上下文中逐一解释。

--- ## 🚀 快速开始 ### 1. 安装插件 ```bash /plugin marketplace add Egonex-AI/Understand-Anything /plugin install understand-anything ``` ### 2. 分析你的代码库 ```bash /understand ``` 多智能体(multi-agent)架构会:扫描你的项目,提取函数 / 类 / 依赖,构建知识图谱保存至`.understand-anything/knowledge-graph.json`. **本地化输出:** 使用 `--language` 参数生成中文内容: ```bash # 生成中文内容(知识图节点描述和 Dashboard UI) /understand --language zh # 支持的语言:en(默认)、zh、zh-TW、ja、ko、ru ``` `--language` 参数会影响: - 知识图谱中的节点摘要和描述 - Dashboard UI 的标签、按钮和提示 - 导览路线的解释说明 ### 3. 打开数据看板 ```bash /understand-dashboard ``` 打开交互式网页数据看板,您的代码库将以图表形式呈现 — 按架构层级进行颜色编码,支持搜索和点击。选择任意节点即可查看其代码、关系以及简明易懂的解释。 ### 4. 深度使用 ```bash # 询问任意代码库的问题 /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 # 大型 monorepo?把分析范围限定到某个子目录 /understand src/frontend ``` --- ## 🌐 多平台支持 Understand-Anything 可在多个 AI 编码平台上运行。 ### Claude Code(原生) ```bash /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 / Nanobot) **macOS / Linux:** ```bash 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):** ```powershell iwr -useb https://raw.githubusercontent.com/Egonex-AI/Understand-Anything/main/install.ps1 | iex ``` 安装脚本会将仓库克隆到 `~/.understand-anything/repo`,并为所选平台创建相应的符号链接。安装完成后请重启 CLI 或 IDE。 - 支持的 `` 取值:`gemini`、`codex`、`opencode`、`pi`、`openclaw`、`antigravity`、`vibe`、`vscode`、`hermes`、`cline`、`kimi`、`nanobot` - 后续更新:`./install.sh --update` - 卸载:`./install.sh --uninstall ` ### 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 中打开即可,无需手动安装。 若需要在所有项目中使用(个人技能),运行上面的 `install.sh` 并选择 `vscode` 平台即可。 ### Copilot CLI ```bash 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` | | Nanobot | ✅ 支持 | `install.sh nanobot` | --- ## 📦 与团队共享知识图谱 图谱就是一份 JSON 文件——**提交一次,团队成员就可以跳过整条流水线**。适合新人上手、PR 评审和 docs-as-code 工作流。 > **示例:** [GoogleCloudPlatform/microservices-demo](https://github.com/GoogleCloudPlatform/microservices-demo) —— 包含已提交图谱的 Go / Java / Python / Node 多语言参考项目。 **需要提交的内容:** `.understand-anything/` 下的全部文件,*除了* `intermediate/` 和 `diff-overlay.json`(这些是本地临时文件)。 ```gitignore .understand-anything/intermediate/ .understand-anything/diff-overlay.json ``` **保持最新:** 启用 `/understand --auto-update` —— 一个 post-commit 钩子会增量更新图谱,每次提交都能得到匹配的图谱版本。也可以在发布前手动重跑 `/understand`。 **大型图谱(10 MB 以上):** 使用 **git-lfs** 跟踪。 ```bash git lfs install git lfs track ".understand-anything/*.json" git add .gitattributes .understand-anything/ ``` --- ## 🔧 技术原理 ### Tree-sitter + LLM 混合分析 把确定性的事情交给静态分析,把需要语义理解的事情交给 LLM: - **Tree-sitter(确定性)** —— 将源码解析为具体语法树,提取结构性事实:导入、导出、函数 / 类定义、调用点、继承关系。在 scan 阶段预先解析为 `importMap` 并传给 file-analyzer,避免它们再从源码推导一次 import。同样的输入永远得到同样的输出,并作为增量更新的指纹基础。 - **LLM(语义)** —— 读取解析后的结构以及原始源码,生成解析器做不了的事:plain-English 摘要、标签、架构层归属、业务领域映射、引导路径、语言概念标注。 正因为这个分工,图谱在结构层面是可复现的(同样的代码总是产生同样的边),同时在语义层面又能捕捉意图(一个文件是「为了什么」存在,而不仅仅是它 import 了什么)。 ### 多智能体架构 `/understand` 命令调用 5 个 agent,`/understand-domain` 额外增加第 6 个: | Agent | 职责 | |-------|------| | `project-scanner` | 扫描项目文件,检测语言和框架 | | `file-analyzer` | 提取代码结构(函数、类和导入),生成图节点和边 | | `architecture-analyzer` | 识别架构层 | | `tour-builder` | 生成引导式学习路径 | | `graph-reviewer` | 验证图的完整性和引用完整性 | | `domain-analyzer` | 提取业务领域、流程和处理步骤(由 `/understand-domain` 使用) | | `article-analyzer` | 从 wiki 文章中提取实体、论断和隐式关系(由 `/understand-knowledge` 使用) | 文件分析器并行运行(最多 3 个并发)。支持增量更新 — 仅重新分析自上次运行以来发生更改的文件。 --- ## 🎥 社区 由 **Better Stack** 制作的社区视频教程。

Better Stack 制作的社区视频教程 —— 点击在 YouTube 观看
在 YouTube 上观看 →

写过视频、博客或教程?提个 issue 或 PR —— 我们很乐意把它放在这里。 --- ## 🤝 贡献 欢迎贡献!以下是贡献指南: 1. Fork 项目 2. 新建分支 (`git checkout -b feature/my-feature`) 3. 运行测试 (`pnpm --filter @understand-anything/core test`) 4. 提交更改并创建一个PR请求 对于重大变更,请先提交 issue,以便我们讨论解决方案。 ---

不再盲读代码,而是理解整个系统

## Star 历史记录 Star History Chart

感谢每一位使用过、贡献过的朋友 —— 知道它替你们省下了一些时间,就是当初做它最值得的理由。

MIT License © Yuxiang Lin and Infinite Universe, Inc.