跳转到内容

GitNexus - 零服务器代码智能引擎

GitNexus 是一个零服务器代码智能引擎,它能够将任何代码库索引为知识图谱 —— 包含每个依赖关系、调用链、集群和执行流程,然后通过智能工具暴露这些信息,让 AI 代理永远不会错过关键代码。

简单来说:它像给 AI 装了一个”神经系统”,让 AI 能够真正”理解”你的代码库结构。

GitNexus

  • DeepWiki:帮助你理解代码
  • GitNexus:让你分析代码 —— 因为知识图谱追踪的是每个关系,而不仅仅是描述
特性Claude CodeCursorWindsurfOpenCode
MCP 支持
Agent Skills--
Hooks✅ (PreToolUse + PostToolUse)---

无需安装,直接访问 gitnexus.vercel.app,拖放 ZIP 文件即可开始探索代码。支持本地后端模式,连接 CLI 索引的仓库。

GitNexus 通过多阶段索引管道构建完整的代码库知识图谱:

flowchart TD
    A[结构分析] --> B[解析]
    B --> C[解析]
    C --> D[聚类]
    D --> E[流程追踪]
    E --> F[搜索索引]
  1. 结构分析:遍历文件树,映射文件夹/文件关系
  2. 解析:使用 Tree-sitter AST 提取函数、类、方法、接口
  3. 解析:跨文件解析导入和函数调用
  4. 聚类:将相关符号分组为功能社区
  5. 流程追踪:从入口点追踪执行流
  6. 搜索索引:构建混合搜索索引

GitNexus 通过 MCP 暴露 7 个智能工具:

工具功能
list_repos发现所有已索引的仓库
query混合搜索 (BM25 + 语义 + RRF)
context360度符号视图
impact爆炸半径分析
detect_changesGit diff 影响分析
rename多文件协调重命名
cypher原始 Cypher 图查询
flowchart TB
    subgraph 传统图 RAG
        U1[用户: 什么依赖 UserService?] --> LLM1[LLM 接收原始图]
        LLM1 --> Q1[查询1: 找调用者]
        Q1 --> Q2[查询2: 什么文件?]
        Q2 --> Q3[查询3: 过滤测试?]
        Q3 --> Q4[查询4: 高风险?]
        Q4 --> OUT1[4+ 查询后得到答案]
    end

    subgraph GitNexus 智能工具
        U2[用户: 什么依赖 UserService?] --> TOOL[impact UserService upstream]
        TOOL --> PRECOMP[预结构化响应:<br/>8 个调用者, 3 个集群, 全部 90%+ 置信度]
        PRECOMP --> OUT2[1 次查询得到完整答案]
    end

优势

  • 可靠性 —— LLM 不会错过上下文,工具响应中已包含
  • Token 效率 —— 无需 4 次查询链来理解一个函数
  • 模型民主化 —— 更小的模型也能工作,因为工具做了重活
Terminal window
npm install -g gitnexus
Terminal window
# 在仓库根目录运行
npx gitnexus analyze

这将:

  1. 索引代码库
  2. 安装 agent skills
  3. 注册 Claude Code hooks
  4. 创建 AGENTS.md / CLAUDE.md 上下文文件
Terminal window
gitnexus setup

自动检测编辑器并写入正确的全局 MCP 配置。

Claude Code:

Terminal window
claude mcp add gitnexus -- npx -y gitnexus@latest mcp

Cursor (~/.cursor/mcp.json):

{
"mcpServers": {
"gitnexus": {
"command": "npx",
"args": ["-y", "gitnexus@latest", "mcp"]
}
}
}
Terminal window
# 启动本地服务器
gitnexus serve

然后访问 gitnexus.vercel.app,它会自动检测本地服务器。

当你准备修改一个函数时,Claude 会自动调用 impact 工具了解所有依赖方:

用户:我想修改 UserService.validate() 方法

Claude Code 内部调用 MCP 工具:

{
"tool": "gitnexus_impact",
"input": {
"symbol": "UserService.validate",
"direction": "both"
}
}

返回预计算的完整调用链:

  • 8 个直接调用者
  • 3 个聚类模块
  • 影响置信度 90%+

Claude 然后会告诉你:

“这个方法被 8 个函数调用,分布在 3 个模块中。建议先查看 AuthService.check()PaymentService.verify() 的实现,它们有最高的风险评分。“

进入一个陌生项目时,Claude 快速建立全局视图:

用户:帮我理解这个项目的结构

Claude 调用多个工具建立上下文:

// 第一步:查看项目结构
{ "tool": "gitnexus_query", "input": { "query": "main entry point" } }
// 第二步:了解核心模块
{ "tool": "gitnexus_query", "input": { "query": "core modules architecture" } }
// 第三步:深入了解关键组件
{ "tool": "gitnexus_context", "input": { "symbol": "MainRouter", "include_related": true } }

Claude 会综合这些信息,给你一个完整的产品级视图:

“这是一个典型的前后端分离项目。核心模块包括 AuthService(认证)、OrderService(订单)、PaymentService(支付)。主入口是 MainRouter,所有请求都经过它。“

跨文件重命名时,Claude 使用 rename 工具协调所有引用:

用户:把 updateUserPassword 重命名为 changeUserPassword

Claude 调用:

{
"tool": "gitnexus_rename",
"input": {
"old_name": "updateUserPassword",
"new_name": "changeUserPassword",
"scope": "full"
}
}

返回:

  • 5 个文件需要修改
  • 12 处引用
  • 类型签名更新确认

Claude 然后在每个文件中精确修改,告诉你:

“已重命名。更新了 5 个文件中的 12 处引用,包括函数定义、调用点和测试文件。“

代码审查时,Claude 评估变更的爆炸半径:

用户:审查这个 PR 的影响

Claude 调用:

{
"tool": "gitnexus_detect_changes",
"input": {
"diff": "abc123..def456",
"include_tests": true
}
}

返回:

  • 8 个文件受影响
  • 3 个函数需要关注
  • 2 个测试文件可能需要更新
  • 潜在风险:中

Claude 会输出详细的审查报告:

“这个 PR 修改了 UserService.validate() 的返回值类型。这会影响 5 个下游函数,其中 AuthService.check() 有高风险。建议在合并前确认这些调用者都已测试。“

调试问题时,Claude 快速定位问题根源:

用户:为什么这个 API 调用失败了?

Claude 调用:

{ "tool": "gitnexus_context", "input": { "symbol": "createOrder", "depth": 3 } }

返回完整的调用栈和依赖关系,帮助 Claude 快速定位问题。

  • TypeScript / JavaScript
  • Python
  • Java / Kotlin
  • C / C++ / C#
  • Go
  • Rust
  • PHP
  • Swift

现在的 AI 编程工具(Cursor、Claude Code、Cline 等)很强大 —— 但它们并不真正了解你的代码库结构。

常见问题

  • AI 修改了 UserService.validate()
  • 不知道有 47 个函数依赖它的返回类型
  • 破坏性更改被提交

GitNexus 解决了这个问题,让 AI 能够:

  • 准确知道一个函数被谁调用
  • 了解代码的集群和模块结构
  • 在修改前评估影响范围
  • 进行安全的多文件重命名