最近看 GitNexus,我差点被仓库首页那张关系图带偏,以为它只是一个代码可视化项目。
继续往下翻,发现它把调用关系接进了 MCP。用 Coding Agent 改接口时,可以先查调用方和影响范围,改完再对照当前 diff。代码分散在多个目录、多个仓库里,也不用每次从零拼调用链。
项目介绍
GitNexus 是一个基于 Node.js 的开源代码分析工具。它会在本地解析仓库,提取函数、类、导入、调用、继承和执行流程,再把这些关系存进知识图谱。Cursor、Claude Code、Codex 等编码 Agent 可以通过 MCP 查询这份索引。

目前,该项目在 GitHub 上有约 4.55 万 Star ,最新稳定版是 v1.6.9。
除了 CLI,它还提供可以浏览依赖关系的 Web UI。npm 包采用 PolyForm Noncommercial 1.0.0,公司项目接入前需要先确认许可证要求。
亮点
Agent 动手前,可以先查影响范围
仓库首页的关系图主要用于展示索引结果。写代码时,我更关心 GitNexus 提供的 17 个 MCP 工具。
假设要修改登录接口,Agent 可以先用 context 查看相关符号被谁调用,再用 api_impact 找到接口消费者。代码改完后,detect_changes 会把当前 Git diff 对应到受影响的符号和流程;怀疑两段代码存在间接调用时,还可以用 trace 查最短路径。

这些关系已经在建索引时算好,模型不用每次重新找文件、记住搜索结果,再试着把调用链拼起来。返回结果里已经带着调用方和受影响流程,可以继续用于改接口、重命名方法和排查回归范围。
微服务项目可以把几套仓库放在一起查
单仓库内的调用关系,IDE 和文本搜索还能应付。前端、网关、后端分散在几套仓库以后,接口路径、请求参数和返回结构就很难靠一次搜索串起来。
v1.6.9 增加了仓库分组和跨仓库 API 追踪。可以把相关仓库放进同一个 group:
sql
gitnexus group create my-system
gitnexus group add my-system frontend frontend-repo
gitnexus group add my-system backend backend-repo
gitnexus group sync my-system
同步时,GitNexus 会提取仓库之间的接口契约,把 HTTP 调用方和服务端路由连起来。需要继续追踪数据依赖,可以在分析阶段加上 --pdg,再查询跨仓库的最短调用路径。
以前端修改请求字段为例,Agent 可以沿着接口契约找到后端路由,再继续检查 Controller、Service 和返回结构,不用分别在几套仓库里搜索同一个字段名。
索引默认留在本机
CLI 会在本机解析源码,索引保存在仓库的 .gitnexus/ 目录中。官方隐私说明写明,CLI 建图和查询不会主动发起网络请求。

Web 版也在浏览器中解析和存图,代码不会上传到 GitNexus 的项目服务器。它比较适合临时查看中小型仓库,官方给出的参考量级约为 5000 个文件。仓库再大一些,可以先用 CLI 建索引,再交给本地 Web UI 浏览。

同一个 MCP Server 还能读取多个已经建好索引的仓库,记录保存在 ~/.gitnexus/registry.json,不需要为每个项目单独启动一套服务。
快速上手
GitNexus 需要 Node.js ^22.18.0 或 >=24.11.0。进入一个自己熟悉的 Git 仓库,运行:
arduino
npx gitnexus analyze
npx gitnexus setup
analyze 负责生成索引,setup 会识别本机的 Cursor、Claude Code、Codex 等工具,并配置 MCP、Skills 或 Hooks。

analyze 默认还可能生成或更新 AGENTS.md、CLAUDE.md。只想建索引,不希望它修改这些文件,可以加上:
css
gitnexus analyze --skip-agents-md --skip-skills
只给 Codex 配置,使用 gitnexus setup -c codex。npm 11 安装原生依赖时如果遇到 Arborist 报错,官方建议换用 pnpm,或者先全局安装:
css
npm install -g gitnexus@latest
索引完成后,先问一个自己知道答案的问题,例如"登录请求会经过哪些入口和 Service"。结果能和现有调用关系对上,再继续测试 impact 和 detect_changes。
当前存在的限制
控制流图目前主要覆盖 TypeScript 和 JavaScript,Java、Python 的分析深度更保守,部分框架的路由提取也还在补充。gitnexus wiki 会调用用户配置的 LLM,请求是否出网取决于模型服务商。MCP 默认带写操作,只查询时建议设置 GITNEXUS_MCP_READ_ONLY=1。商用前还要确认 PolyForm Noncommercial 许可。
总结
如果你经常让编码 Agent 修改中大型项目,尤其需要排查跨文件、跨仓库调用关系,GitNexus 值得拿一个熟悉的仓库试试。建完索引后,先问几个自己知道答案的问题;结果可靠,再接进日常编码流程。
项目地址:github.com/abhigyanpat...
最新 Release:github.com/abhigyanpat...