一句话介绍

GitNexus 是一个零服务端的代码智能引擎,它把你的代码仓库变成一张可交互的知识图谱,让 AI Agent(Cursor、Claude Code、Windsurf 等)真正理解代码的依赖关系、调用链和执行流——而不是靠”猜”。

GitHub: https://github.com/abhigyanpatwari/GitNexus
⭐ 7.3k Stars · 🍴 756 Forks · TypeScript

1 它解决了什么问题?

我们每天都在用 Cursor、Claude Code 这类 AI 编程工具,但它们有一个隐藏的致命缺陷:

AI 修改了 UserService.validate(),却完全不知道有 47 个函数依赖它的返回值类型,于是 breaking change 就这样悄无声息地上线了。

这类工具本质上是在做”文本匹配”,依赖 grep 和向量搜索来拼凑上下文。它们没有调用图,追踪不了”谁调用了这个函数”,也无法在改动前评估影响范围。

GitNexus 的解法很直接:在索引阶段就把代码的结构关系全部预计算好——函数调用链、模块依赖、类继承、社区聚类——存进图数据库,让 AI 每次查询时一次性拿到完整上下文,而不是靠 10 次往返查询来拼凑答案。

2 两种使用方式

GitNexus 提供两套完全独立的运行模式,共享同一套索引流水线。

方式一:Web UI(零安装,即开即用)

直接访问 gitnexus.vercel.app,拖入一个代码仓库的 ZIP 文件,就能得到:

  • 可交互的知识图谱可视化(WebGL 渲染)
  • 内置 Graph RAG Agent,支持自然语言提问
  • 带来源引用的 AI 回答([[file:line]] 格式)

背后魔法:整套 parsing、图数据库、向量搜索全部跑在浏览器里,通过 WebAssembly 实现,代码从不离开你的电脑。

方式二:CLI + MCP Server(接入 AI 编辑器)

这是更强大的模式,把 GitNexus 变成你的 AI 编辑器的”神经系统”。

就这三步。analyze 命令会:

  1. 索引整个代码库并构建知识图谱
  2. .gitnexus/ 目录存储持久化的 KuzuDB 数据库
  3. 自动生成 AGENTS.md / CLAUDE.md 上下文文件
  4. 为你的编辑器注册 MCP 工具

之后 Cursor、Claude Code 等工具就能通过 MCP 协议查询这个知识图谱,获取结构化的代码上下文。

3 快速搭建本地 Demo

如果你想在本地跑起来 Web UI,只需:

打开 http://localhost:5173,拖入任意项目的 ZIP 文件,等待索引完成(进度条会显示 7 个阶段),然后就可以:

  • 在图谱上点击节点,查看函数的调用关系
  • 在聊天框提问:”哪些模块依赖 AuthService?”
  • 查看带精确文件行号引用的 AI 回答

本地 Backend 模式(处理大型仓库):

4 底层架构原理

4.1 整体架构

GitNexus 有两套运行时环境,但共享同一套核心逻辑:

4.2 七阶段索引流水线

这是 GitNexus 的核心——把源代码变成结构化知识图谱的过程:

阶段 进度 做什么
Phase 1: Extract 0–15% 解压 ZIP,收集文件路径
Phase 2: Structure 15–30% 构建目录树,创建 CONTAINS
Phase 3: Parse 30–55% 加载 Tree-sitter WASM,生成 AST,提取符号表
Phase 4: Imports 55–65% 分析 import 语句,解析路径,创建 IMPORTS
Phase 5: Calls + Heritage 65–80% 解析函数调用和继承关系,创建带置信度的 CALLS / EXTENDS
Phase 6: Communities 80–90% Leiden 算法做社区检测,发现功能聚类
Phase 7: Processes 90–100% 用 BFS 追踪入口点,识别执行流

最终产出一个 KuzuDB 图数据库,包含所有节点(文件、函数、类)和带权重的边。

4.3 核心技术选型

Tree-sitter(AST 解析)

传统的文本分割会破坏代码的语义结构。GitNexus 用 Tree-sitter 把每个文件解析成 AST,以函数声明、类定义、模块导出为单位切块,每个 chunk 携带完整的符号名、文件路径、行号元数据。目前支持 9 种语言:TypeScript、JavaScript、Python、Java、C、C++、C#、Go、Rust。

KuzuDB(图 + 向量一体化)

大多数 Graph RAG 系统需要两套数据库:向量库做语义搜索,图数据库做关系遍历。KuzuDB 原生支持 HNSW 向量索引,可以在一条 Cypher 查询里同时做语义检索和图遍历:

预计算 vs 实时探索

这是 GitNexus 和传统 Graph RAG 最本质的区别:

索引时预计算的内容包括:

  • CALLS 边置信度:0.7–0.95,直接调用置信高,动态调用置信低
  • IMPORTS 边置信度:0.85–0.95
  • 影响深度分层:Depth 1(必然 break)/ Depth 2(可能受影响)
  • 功能聚类:Leiden 算法自动发现模块边界

混合检索(BM25 + 向量 + RRF)

查询时结合三种策略:关键词匹配(BM25)、语义相似度(向量)、图关系扩展(1-hop Cypher),用 Reciprocal Rank Fusion 融合排序,确保不遗漏上下文。

4.4 MCP 工具集

GitNexus 通过 MCP 协议向 AI 编辑器暴露这些工具:

  • overview — 获取仓库整体架构摘要
  • explore — 360° 查看任意符号(调用者、被调用者、所在模块)
  • impact — 计算修改某符号的”爆炸半径”(blast radius)
  • search — 混合语义搜索
  • cypher — 直接执行 Cypher 图查询
  • rename — 协调多文件重命名

5 和同类工具的对比

GitNexus DeepWiki Cursor/Cline
核心能力 代码分析(关系图) 代码理解(文档化) 代码编辑
数据隐私 本地/浏览器,零上传 云端处理 云端处理
调用图 ✅ 完整追踪
影响分析 ✅ 带置信度
MCP 集成 ✅ 原生支持 N/A
成本 免费开源 免费 订阅制

6 适合哪些场景

接手陌生大型项目:拖入 ZIP,立刻可视化架构,找到核心模块和高耦合节点。

大规模重构前的风险评估:修改某个核心函数前,先跑一下 impact 工具,知道会影响哪些模块、哪些是高风险路径。

让 AI 编辑器更靠谱:接入 MCP 后,即使是较小的模型也能获得完整的架构上下文,减少幻觉和 breaking change。

代码安全审计:通过 Cypher 查询找到死代码、循环依赖、违规调用链。

7 总结

GitNexus 做了一件朴实但很有价值的事:它不是又一个 AI 聊天工具,而是在 AI 和代码库之间建了一个高质量的”中间层”。通过把代码结构预计算成图,它让 AI 从”文本搜索”升级到了”关系推理”。

对于任何在生产环境使用 AI 编程工具的团队来说,这个工具值得认真试一试。

项目地址:https://github.com/abhigyanpatwari/GitNexus
在线体验:https://gitnexus.vercel.app

 

分类&标签