查看源文件

Understand-Anything:代码知识图谱可视化

GitHub 55.5k stars。核心理念:“图的目标不是用代码库的复杂性来震撼你,而是悄悄地向你展示每个部分是如何组合在一起的。“

解决什么问题

  • 近半数研发有效工时耗在读存量代码、梳理调用链、维护遗留系统上
  • 现有 AI 编程工具受 Token 窗口限制读不下整仓代码,缺少全局架构判断,跨模块问题常出片面方案
  • 传统代码可视化只画简单依赖拓扑,无业务语义,节点连线杂乱,实用价值有限
  • 行业矛盾:静态分析精准但不会智能解读,大模型能理解却承载不下完整代码架构

三层分层耦合架构

一、底层:Tree-sitter AST 解析层

  • 基于成熟的 Tree-sitter 引擎,覆盖 Python/Java/Go/JS/C++ 等 99% 主流编程语言
  • 全盘扫描仓库,生成标准 AST,精准提取文件、类、方法、全局变量、导入依赖、函数调用链路
  • 完全不调用大模型,没有幻觉误差
  • 自带自动过滤机制:测试用例文件、废弃注释代码、无用工具脚本直接筛掉,不给上层图谱塞垃圾节点

二、中层:多智能体图谱构建层

流水线跑三个分工明确的轻量智能体:

智能体职责
结构 Agent把 AST 提取的数据拼接成基础图谱框架,搭建节点和依赖连线
语义 Agent对接大模型,自动给每个类/函数打标签:支付回调、用户鉴权、入参限制——把纯代码翻译成业务语言
精简 Agent二次降噪,合并重复链路,弱化边缘小工具类,高亮支付/订单/权限这类核心业务模块

最终输出标准 JSON 图谱文件:

{
  "nodes": [
    {
      "id": "src/auth/login.ts",
      "type": "file",
      "layer": "API",
      "summary": "处理用户登录认证,支持JWT和OAuth2",
      "business_domain": "用户认证"
    }
  ],
  "edges": [
    {"from": "login.ts", "to": "user-service.ts", "type": "depends_on"}
  ]
}

可以直接丢进 Git 跟随代码仓库同步提交,团队所有人共用一套代码认知图谱。

三、顶层:交互应用层

两大核心交互模块:

  1. 可视化画布:网页端交互式图谱,支持缩放、框选模块、隐藏无关节点、点击展开完整调用链。经典三分栏布局——左侧代码目录树、中间分色标识的力导向图谱画布、右侧节点详情与 AI 对话面板

  2. 全局图谱问答:大模型不再零散读取单个文件,手里握着整份项目完整图谱。彻底解决普通 AI 上下文不足的痛点

安装与使用

本质上是一个 AI 编码助手插件,适配 Claude Code、Cursor、VS Code + Copilot、Codex、Gemini CLI 等主流平台。

Claude Code(推荐,功能最完整)

/plugin marketplace add Lum1104/Understand-Anything
/plugin install understand-anything
 
# 在任意代码仓库中运行
/understand
 
# 分析完成后打开可视化面板
/understand-dashboard

其他平台一键安装

# 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

Cursor / VS Code + Copilot

克隆仓库到本地即可自动发现插件(Cursor 通过 .cursor-plugin/plugin.json,VS Code Copilot v1.108+ 通过 .copilot-plugin/plugin.json)。

团队共享图谱

图谱生成为标准 JSON 文件,建议提交至 Git 仓库(.understand-anything/knowledge-graph.json)。团队成员克隆代码后无需重新扫描即可直接使用,适用于新人上手、PR 评审和文档即代码场景。

超过 10 MB 的大型图谱建议用 git-lfs 管理:

git lfs install
git lfs track ".understand-anything/*.json"
git add .gitattributes .understand-anything/

不需要统一 IDE——有人用 Cursor,有人用 VS Code,有人用 Claude Code,都能共享同一份知识图谱。

与同类工具对比

维度Understand-AnythingCodeGraphGraphify
核心定位代码知识图谱 + 可视化 + 问答代码 AST 图谱(减少 Agent 工具调用)代码 + 文档 + PDF + 视频全资料图谱
解析方式Tree-sitter AST + 多智能体语义标注Tree-sitter ASTAST + AI 语义提取
语义能力✅ 多智能体自动打业务标签❌ 纯结构✅ AI 语义
可视化✅ 交互式 Web 画布 + 问答❌ 无 UI✅ 图谱查询
框架识别通用Django/Express/Spring 路由映射不特别针对框架
外部资料❌ 仅代码❌ 仅代码✅ 论文/YouTube/PDF
团队共享✅ JSON 文件 Git 同步✅ 文件保存自动更新需手动 —update 或 git hook
GitHub Stars55.5k~2k~1k

GitHub:https://github.com/Egonex-AI/Understand-Anything