Understand-Anything
面向开发者的代码库理解工具,通过多 Agent 流水线分析项目,自动构建交互式知识图谱,支持语义搜索、差异影响分析和个性化导览。亮点在于可集成到 Claude Code、Cursor、Copilot 等主流 AI 编程工具,降低新成员上手成本并加速代码审查。MIT 开源许可。
README
Understand Anything
将任何代码库、知识库或文档转化为交互式知识图谱,供你探索、搜索和提问。
兼容 Claude Code、Codex、Cursor、Copilot、Gemini CLI 等。
English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Español | Türkçe | Русский
💬 加入 Discord 社区 →
提问、分享你的成果、获取社区帮助。
你刚加入一个新团队。代码库有 20 万行代码。你该从何入手?
Understand Anything 是一个 Claude Code 插件,它通过多 agent 管道(multi-agent pipeline)分析你的项目,构建包含每个文件、函数、类和依赖的知识图谱,然后为你提供一个交互式仪表盘,让你可以直观地探索一切。别再盲目阅读代码了,开始看清大局吧。
目标不是让你惊叹于代码库有多复杂,而是默默地教你每个部分是如何组合在一起的。
✨ 功能特性
[!NOTE] 想跳过阅读? 在我们的主页上试试在线演示——一个完全交互式的仪表盘,你可以在浏览器中平移、缩放、搜索和探索。
探索结构图
将你的代码库视为一个交互式知识图谱进行导航——每个文件、函数和类都是一个节点,你可以点击、搜索和探索。选择任意节点即可查看用通俗语言编写的摘要、关系和引导游览。
理解业务逻辑
切换到领域视图,看看你的代码如何映射到真实的业务流程——领域、流程和步骤以水平图的形式呈现。
分析知识库
将 /understand-knowledge 指向一个 Karpathy 风格的 LLM wiki,即可获得带社区聚类(community clustering)的力导向知识图谱(force-directed knowledge graph)。确定性解析器从 index.md 中提取 wikilink 和分类,然后 LLM agent 发现隐含关系、提取实体并呈现断言——将你的 wiki 转化为一个可导航的相互关联想法图谱。
🧭 引导游览按依赖顺序自动生成架构遍历。按正确顺序学习代码库。 |
🔍 模糊搜索与语义搜索按名称或含义查找任何内容。搜索"哪些部分处理 auth?"即可在图谱上获取相关结果。 |
📊 差异影响分析在提交前查看你的更改会影响系统的哪些部分。了解代码库中的连锁效应。 |
🎭 角色自适应 UI仪表盘会根据你的身份调整详细程度——初级开发、项目经理或高级用户。 |
🏗️ 分层可视化按架构层自动分组——API、Service、Data、UI、Utility——并配有色标图例。 |
📚 语言概念12 种编程模式(泛型、闭包、装饰器等)在出现处结合上下文进行解释。 |
🚀 快速开始
1. 安装插件
/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
2. 分析你的代码库
/understand
一个多 agent 管道会扫描你的项目,提取每个文件、函数、类和依赖,然后构建一个知识图谱,保存到 .understand-anything/knowledge-graph.json。
本地化输出: 使用 --language 以你偏好的语言生成内容:
# 生成中文内容(知识图节点描述和 Dashboard UI)
/understand --language zh
# 支持的语言:en(默认)、zh、zh-TW、ja、ko、ru
--language 参数影响:
- 知识图谱中的节点摘要和描述
- Dashboard UI 标签、按钮和工具提示
- 引导游览说明
3. 探索仪表盘
/understand-dashboard
一个交互式 Web 仪表盘会打开,将你的代码库可视化为图谱——按架构层进行色标编码,可搜索、可点击。选择任意节点即可查看其代码、关系和通俗易懂的解释。
4. 持续学习
# 询问关于代码库的任何问题
/understand-chat 支付流程是如何工作的?
# 分析当前更改的影响
/understand-diff
# 深入分析某个特定文件或函数
/understand-explain src/auth/login.ts
# 为新团队成员生成入职指南
/understand-onboard
# 提取业务领域知识(领域、流程、步骤)
/understand-domain
# 分析 Karpathy 模式的 LLM wiki 知识库
/understand-knowledge ~/path/to/wiki
🌐 多平台安装
Understand-Anything 适用于多个 AI 编码平台。
Claude Code(原生支持)
/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
一行安装(Codex / OpenCode / OpenClaw / Antigravity / Gemini CLI / Pi Agent / Vibe CLI / VS Code Copilot / Hermes / Cline / KIMI CLI)
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash
# 或跳过提示,直接传入平台:
curl -fsSL https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.sh | bash -s codex
Windows(PowerShell):
iwr -useb https://raw.githubusercontent.com/Lum1104/Understand-Anything/main/install.ps1 | iex
安装程序会将仓库克隆到 ~/.understand-anything/repo,并为所选平台创建正确的符号链接。之后请重启你的 CLI / IDE。
- 支持的
<platform>值:gemini、codex、opencode、pi、openclaw、antigravity、vibe、vscode、hermes、cline、kimi - 后续更新:
./install.sh --update - 卸载:
./install.sh --uninstall <platform>
Cursor
当克隆此仓库后,Cursor 会通过 .cursor-plugin/plugin.json 自动发现插件。无需手动安装——只需克隆并在 Cursor 中打开即可。
VS Code + GitHub Copilot
当克隆此仓库后,VS Code 搭配 GitHub Copilot(v1.108+)会通过 .copilot-plugin/plugin.json 自动发现插件。无需手动安装——只需克隆并在 VS Code 中打开即可。
如需跨所有项目可用的个人技能,请使用上述 install.sh 并指定 vscode 平台。
Copilot CLI
copilot plugin install Lum1104/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 |
📦 与团队共享图谱
图谱只是 JSON——提交一次,队友即可跳过管道。非常适合入职、PR 审查和文档即代码。
示例: GoogleCloudPlatform/microservices-demo(fork) —— 包含 Go / Java / Python / Node 参考实现及已提交的图谱。
需要提交的内容: .understand-anything/ 目录下除 intermediate/ 和 diff-overlay.json 之外的所有内容(这些是本地的临时文件)。
.understand-anything/intermediate/
.understand-anything/diff-overlay.json
保持新鲜: 启用 /understand --auto-update——一个 post-commit hook 会增量更新图谱,使每次提交都对应一个匹配的图谱。或者在上线前手动重新运行 /understand。
大型图谱(10 MB+): 使用 git-lfs 追踪。
git lfs install
git lfs track ".understand-anything/*.json"
git add .gitattributes .understand-anything/
🔧 内部机制
Multi-Agent 管道
/understand 命令协调 5 个专用 agent,而 /understand-domain 增加了第 6 个:
| Agent | 角色 |
|---|---|
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 License © Lum1104
