你刚入职,或者刚接手一个别人写了三年的项目。打开编辑器,20 万行代码,200 多个文件,import 关系绕成一团毛线。老员工丢下一句”代码里都有”就去开会了。
这时候你有三个选择:硬读、问人、或者找个工具帮你把地图先画出来。
GitHub 上最近最火的答案是第三个——Understand-Anything,85.8k Star、7.2k Fork,把任意代码库变成一张可点击、可搜索、甚至可以直接提问的交互式知识图谱。它不满足于”画个图让你感叹好复杂”,官方 slogan 写得很清楚:
Graphs that teach > graphs that impress.(教你怎么拼的图,比唬人的图更重要。)

它到底做了什么
一句话:多智能体流水线扫一遍你的项目,提取每个文件、函数、类和依赖关系,生成知识图谱存成 JSON,再给你一个交互式 Dashboard 来逛。
打开 Dashboard,你的代码库长这样:每个文件是一个节点,节点之间是 import 边,按架构层级(API / Service / Data / UI / Utility)分色分组。点任意节点,右侧弹出通俗易懂的摘要——这个文件是干什么的、它依赖谁、谁依赖它。顶部还能切换 Overview / Learn / Deep Dive 三种视角。

不只是画图,是”教你”——六个真正有用的能力
🧭 引导式学习路径(Guided Tours)——这是它和普通代码可视化工具最大的区别。它会按依赖顺序自动生成一条架构学习路线:先看哪个文件、再看哪个模块,跟着走一遍就理解了系统骨架。新人上手不用再从 README 里猜”入口在哪”。
🔍 模糊 + 语义搜索——不是文件名匹配。你搜”哪些部分处理身份验证”,它在整个图里找语义相关的节点。找代码靠描述,不靠记名字。
📊 Diff 影响分析——提交前跑一下 /understand-diff,它告诉你这次改动会波及系统哪些地方。改一个工具函数,会不会把三个不相干的模块炸了,一眼看到。
🎭 角色自适应 UI——初级开发、产品经理、高级用户看到的信息密度不一样。给 PM 演示时不用被追问”这个节点的圈复杂度是多少”。
🏗️ 架构层可视化——自动按 API、Service、Data、UI、Utility 分层上色。一眼看出”这个项目是不是把业务逻辑写进了 UI 层”这种祖传问题。
📚 业务领域视图——切换到 domain 视图,代码映射成真实的业务流程:领域 → 流程 → 步骤,横着铺开。跟产品对需求时可以直接指着图说”下单流程在这里断了”。
上手只要三条命令
它是 Claude Code 插件,也支持其他十几个 AI 编码平台(下面细说)。
# 1. 安装(Claude Code 内)
/plugin marketplace add Egonex-AI/Understand-Anything
/plugin install understand-anything
# 2. 分析你的代码库
/understand
# 3. 打开可视化面板
/understand-dashboard
/understand 跑完后,图谱存在项目的 .ua/knowledge-graph.json 里。想生成中文界面和中文节点摘要,加参数:/understand --language zh(支持 en / zh / zh-TW / ja / ko / ru / vi)。
想直接感受效果,不用装任何东西:官方提供了完全交互的在线 Demo,浏览器里就能平移、缩放、搜索。
日常用的命令全家桶
分析完不是结束,是开始。它提供了一整套对着图谱干活的命令:
# 直接问代码库问题
/understand-chat 支付流程是怎么走的?
# 看当前改动的影响范围
/understand-diff
# 深挖某个文件
/understand-explain src/auth/login.ts
# 给新人自动生成上手指南
/understand-onboard
# 提取业务领域知识
/understand-domain
# 分析 LLM Wiki 知识库(Karpathy 模式)
/understand-knowledge ~/path/to/wiki
/understand-chat 是我认为最实用的一个:图谱上下文 + 你的问题,等于一个熟悉整个仓库的同事随叫随到,而且他真的读过所有代码。
技术上怎么实现的:Tree-sitter + LLM 混合
全靠 LLM 猜?那图谱每次跑出来都不一样。这个项目的设计是把确定性和语义拆开:
- Tree-sitter(确定性)——解析源码成语法树,提取 imports、exports、函数/类定义、调用点、继承关系。同样的代码永远得到同样的边。这层还做增量更新的指纹:改了哪些文件,只重析这些。
- LLM(语义)——在结构之上生成人话摘要、标签、架构层归属、业务映射、导览路线。这是解析器做不到的”这个文件是为了什么存在”。
流水线上是 7 个专职 Agent 分工:project-scanner 扫项目、file-analyzer 提结构(最多 5 并发、每批 20–30 文件)、architecture-analyzer 分层、tour-builder 做导览、graph-reviewer 查图完整性,domain-analyzer 和 article-analyzer 分别服务领域视图和知识库分析。
所以它敢承诺:结构层面可复现,语义层面有洞察。
团队协作:图谱就是一份 JSON
这是我另一个喜欢的点。知识图谱就是 .ua/ 目录下的 JSON 文件,commit 进仓库一次,全团队都能用。新人 clone 下来不用重跑流水线、不用花 token,直接看图。
团队里有人没有 Claude Code 也无所谓,一条命令打开只读 Dashboard(只要 Node.js ≥ 18,不调任何 LLM、数据不出本机):
npx https://github.com/Egonex-AI/Understand-Anything/releases/latest/download/understand-anything-viewer.tgz /path/to/project
想让图谱跟着代码走,开 post-commit 钩子:/understand --auto-update,每次提交自动增量更新,图和代码永远对得上。10MB 以上的大图谱用 git-lfs 跟踪即可。
官方给的参考案例是 Google 的 microservices-demo,Go / Java / Python / Node 混合的微服务项目,图谱已提交在仓库里,clone 下来就能逛。
不挑平台:Claude Code / Codex / Cursor / Copilot / Gemini CLI 都能用
这是它能爆火的另一半原因——没有绑定单一生态。
- Claude Code:原生插件市场安装
- Codex:
curl -fsSL https://raw.githubusercontent.com/Egonex-AI/Understand-Anything/main/install.sh | bash -s codex(注意 Codex 里命令是$understand,不是/understand) - Cursor / VS Code + Copilot:clone 仓库后自动发现插件
- Gemini CLI / OpenCode / Cline / Trae / Kiro 等:install.sh 传平台名一行装好
支持的平台有 15+ 个,Windows 也有对应的 PowerShell 安装脚本。
说点实在的:代价和边界
吹完也说清楚注意点,这才是负责任的推荐:
- 首次
/understand消耗 token 不小。全量分析一个大代码库,走 API 计费的话会有感。官方建议用订阅制套餐,或者初始化时切到本地模型(如 Ollama)。好在后续默认增量,只重析改动文件,token 消耗大幅下降。 - 它不是即时搜索工具。第一次建图需要跑流水线,几十上百文件的项目要等一会儿。它是”先花十分钟建地图,之后一直用地图”的逻辑。
- 语义摘要可能有偏差。LLM 生成的”这个文件是干什么的”大多数时候准,但复杂业务逻辑仍需人工核对——所以它把结构层(Tree-sitter 保证)和语义层分开,你可以只信结构、部分采纳语义。
- monorepo 记得限定范围:
/understand src/frontend,别让流水线全仓乱扫。
谁最该用
- 新人 / 接手遗留项目的人——Guided Tour + 语义搜索,第一天就能问”支付流程在哪”而不是翻三个小时 grep。
- 跨团队协作的架构师——domain 视图 + 可提交的图谱 JSON,评审和对需直接指着图说话。
- AI 编码重度用户——如果你已经在用 Claude Code / Codex / Cursor,多装一个插件就能让 agent 对整个仓库有”地图感”,问什么都答得更准。
最后
代码可视化这个赛道不缺工具,缺的是”画完之后教人怎么看”。Understand-Anything 的取舍很清楚:图谱不是拿来截图炫耀的,是拿来回答”这块为什么长这样”和”我改这里会炸到谁”的。
85.8k Star 说明大家用脚投票了。如果你手上正好有个看不懂的项目,与其硬读三天,不如先让它画张图。
项目地址: github.com/Egonex-AI/Understand-Anything(MIT 协议,支持 9 种语言的 README)
在线体验: understand-anything.com/demo(无需安装,浏览器直接玩)

