Understand Anything:几十万行老项目,先别硬啃,拉张代码图出来看
刚接手一个大项目,最怕什么?
不是 bug 多,是你连 bug 藏在哪层都不知道。几十万行代码,目录名一个比一个抽象,service、core、common、utils 满天飞,点进去半小时,脑子已经开始糊了。
最近刷到一个挺对味的开源项目:Understand Anything。它干的事很直接:把整个代码库扫一遍,用多智能体流水线提取文件、函数、类和依赖关系,然后生成一张可交互的知识图谱。项目页里说,它会把图谱存到 .understand-anything/knowledge-graph.json,再给你一个 dashboard 去点、搜、看关系。
在 Claude Code 里装也不绕:
/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
/understand
好家伙,这对新同事 onboarding 其实挺实用。东哥以前看老项目,第一件事不是看 README,而是找入口、找数据库访问层、找几个核心 flow。这个项目的结构图谱能点节点看说明,还能按依赖顺序生成 architecture guided tour,省掉不少“从哪个文件开始读”的痛苦。
它还有个业务视图,可以把代码映射到 domains、flows、steps。这个我会多瞅两眼,因为很多项目真正难懂的不是类名,而是“这段代码到底服务哪个业务动作”。尤其支付、权限、审批这类流程,光看调用链经常看不出人话。
搜索也做了两种:模糊搜索和语义搜索。你可以按名字找,也可以问“auth 在哪儿处理”。提交前还能跑 diff impact analysis,看改动会牵到哪些模块。这个点挺关键,老项目最怕一行小改把旁边服务带崩。
它不只卡在 Claude Code,项目页还写了 Cursor、Codex、Copilot、Gemini CLI、OpenCode 等平台支持。
东哥提醒一句,别把它当神谕。大仓库、脏依赖、历史包袱多的时候,图谱肯定也会有噪音。我的习惯是先拿它看入口、依赖层、影响面,再回代码里确认。能把第一天的乱撞变成有路线地翻代码,这事就已经挺香了。
GitHub地址:Lum1104/Understand-Anything