GitNexus:为零服务器代码智能分析而生的知识图谱引擎
posts posts 2026-04-29T20:10:00+08:00GitNexus 是一款零服务器的代码智能分析引擎,把代码库索引成知识图谱,通过 MCP 协议为 Claude Code、Cursor、Codex 等 AI 编程工具提供依赖、调用链和影响范围的图结构上下文,让 AI 不再错过依赖关系、不再打断调用链、不再盲目编辑。基于 Tree-sitter 本地解析,图存储与 embedding 全部在本地完成。技术笔记知识图谱, MCP, RAG, AI 编程GitNexus:为零服务器代码智能分析而生的知识图谱引擎
GitNexus 做什么
GitNexus(Akon Labs)把代码仓库索引成交互式知识图谱,再通过 MCP 协议把图结构暴露给 AI 编程工具,让它们能查到调用关系、依赖结构和影响范围。
一句话定位:比其他代码理解工具更"深"。DeepWiki 帮你理解代码,GitNexus 让你分析代码——因为知识图谱记录的是真实关系,而不只是描述。
- 🌐 Web UI:https://gitnexus.vercel.app
- 📦 NPM 包:
gitnexus - 🏢 企业版:https://akonlabs.com(SaaS + 自托管)
- 📜 License:PolyForm Noncommercial(非商业开源)
⚠️ 防骗提示:GitNexus 没有任何官方加密货币、代币或币。任何打着 GitNexus 旗号、声称关联本项目的代币都不是本项目及其维护者官方发布的,请勿购买。
为什么需要知识图谱:AI 编程工具的上下文盲区
Cursor、Claude Code、Codex 这类工具很强大,但它们并没有真正理解你的代码库结构。由此常引发事故:
- AI 改了
UserService.validate() - 它不知道有 47 个函数依赖这个方法的返回值
- 破坏性变更上线了
传统做法是给 LLM 一堆图的原始边,希望它自己探索到位。GitNexus 换了个思路——在索引阶段就把结构预计算好(聚类、追踪、打分),工具一次调用就能返回完整上下文:
传统 Graph RAG:用户 -> LLM 收到原始图 -> 查询1"找调用者" -> 查询2"找文件"
-> 查询3"过滤测试" -> 查询4"找高风险" -> 4+ 次查询后才有答案
GitNexus 智能工具:用户 -> impact UserService upstream
-> 预结构化响应:8 个调用者、3 个聚类、全部 90%+ 置信度 -> 1 次查询搞定核心创新:预计算的关系智能(Precomputed Relational Intelligence)
- 可靠性——上下文已经放进工具返回里,LLM 不可能漏掉
- Token 效率——理解一个函数不用再跑 10 次查询链
- 模型平民化——小模型也能用,因为重活由工具干完了
两种使用模式
| CLI + MCP(推荐) | Web UI | |
|---|---|---|
| 做什么 | 本地索引仓库,通过 MCP 连接 AI 智能体 | 浏览器内可视化图谱探索 + AI 对话 |
| 适用场景 | 日常开发(Cursor、Claude Code、Antigravity、Codex、Windsurf、OpenCode) | 快速探索、演示、单次分析 |
| 规模 | 任意大小仓库 | 受浏览器内存限制(~5k 文件),或通过后端模式无限制 |
| 安装 | npm install -g gitnexus | 无需安装,访问 gitnexus.vercel.app |
| 存储 | LadybugDB 原生(快速、持久) | LadybugDB WASM(内存模式,按会话) |
| 解析器 | Tree-sitter 原生绑定 | Tree-sitter WASM |
| 隐私 | 完全本地,无网络传输 | 完全在浏览器内,无服务器 |
桥接模式(Bridge Mode):gitnexus serve 把两者连起来——Web UI 会自动检测本地服务器,无需重新上传或重新索引,即可浏览所有 CLI 索引过的仓库。
架构:索引 → 图谱 → MCP
Repository → 索引(Tree-sitter) → 知识图谱 → MCP Server → AI Agent1. 索引
用 Tree-sitter 解析代码,本地高速完成,无需网络。索引和分析是分阶段管道:
analyze
→ walkRepository 并发遍历文件(32 并行读)
→ processStructure 目录/文件图节点
→ processParsing Tree-sitter AST 解析(Worker 线程)
→ processImports 解析 import/require/use
→ processCalls 追踪函数调用(带置信度)
→ processHeritage 提取 extends/implements 继承关系
→ processCommunities Leiden 社区检测(功能聚类)
→ processProcesses 执行流追踪
→ 图谱入库 CSV 导出 → 图数据库批量导入
→ 生成 embedding 并存储符号向量
→ 生成 AI 上下文文件 CLAUDE.md / AGENTS.md / Skills关键命令:
gitnexus analyze [path] # 索引仓库(或更新过期索引)
gitnexus analyze --force # 强制全量重新索引
gitnexus analyze --branch <分支> # 为指定分支索引
gitnexus analyze --pdg # 生成语句级控制/数据依赖索引(供 explain/pdg_query 使用)
gitnexus analyze --skills # 从检测到的功能区域生成仓库专属 Skill 文件
gitnexus analyze --skip-embeddings # 跳过 Embedding 生成(更快)
gitnexus analyze --embeddings # 启用 Embedding 生成(更慢,搜索更准)
gitnexus analyze --verbose # 记录解析器不可用时跳过的文件2. 知识图谱
索引完成后生成有向图,包含以下信息:
| 元素 | 说明 |
|---|---|
| Clusters | 功能聚类——按代码耦合度划分的模块分组,带聚合度(cohesion)评分 |
| Processes | 执行流——从入口点开始的完整调用路径 |
| Symbols | 符号——函数、类、变量的定义与引用关系 |
| Schema | 图谱模式——可用于 Cypher 查询的图结构 |
3. MCP 服务
GitNexus 通过一个全局注册表,让一个 MCP 服务器同时服务多个已索引仓库——不需要为每个项目单独配 MCP,配置一次全局生效。
AI 智能体能拿到什么
17 个 MCP 工具(15 单仓库 + 2 组)
单仓库工具:
| 工具 | 功能 |
|---|---|
list_repos | 列出所有已索引仓库(分页,支持 limit/offset) |
query | 进程分组的混合搜索(BM25 + 语义 + RRF) |
context | 360° 符号视图——分类引用、进程参与度 |
impact | 爆炸半径分析(blast radius),带深度分组和置信度 |
trace | 两个符号之间的最短有向路径(调用 + 类成员边) |
detect_changes | Git diff 影响分析——把变更行映射到受影响的进程 |
check | 对已索引图谱的只读结构检查 |
rename | 多文件协调重命名(图谱 + 文本搜索) |
cypher | 原始 Cypher 图查询 |
route_map | API 路由图——哪些组件调用哪些端点及对应处理器 |
tool_map | MCP/RPC 工具定义——在哪里定义、在哪里处理 |
shape_check | 校验 API 响应形状与消费方的属性访问是否匹配 |
api_impact | 针对某个 API 路由处理器的变更前影响报告 |
explain | 解释持久化的污染(taint)发现(source→sink 流,需 --pdg 索引) |
pdg_query | 语句级控制/数据依赖查询(需 --pdg 索引) |
单仓库只读工具接受可选
repo参数。只索引一个仓库时可省略。变更类工具在索引了多个仓库且未设默认时,必须显式传repo。explain和pdg_query需要先用gitnexus analyze --pdg建索引。
组工具(多仓库协调):
| 工具 | 功能 |
|---|---|
group_list | 列出已配置的仓库组 |
group_sync | 重建一个组的 Contract Registry 和跨仓库链接 |
10 个 Resources(AI 可直接读取的上下文资源)
| Resource | 用途 |
|---|---|
gitnexus://repos | 列出所有已索引仓库(建议最先读取) |
gitnexus://setup | 给智能体的安装与使用指引 |
gitnexus://repo/{name}/context | 仓库统计、过期检查、可用工具 |
gitnexus://repo/{name}/clusters | 所有功能聚类及聚合度评分 |
gitnexus://repo/{name}/cluster/{name} | 某聚类的成员与详情 |
gitnexus://repo/{name}/processes | 所有执行流 |
gitnexus://repo/{name}/process/{name} | 某个执行流的完整追踪步骤 |
gitnexus://repo/{name}/schema | Cypher 查询用的图谱模式 |
gitnexus://group/{name}/contracts | 某组提取的契约与跨组链接 |
gitnexus://group/{name}/status | 组内仓库的过期状态 |
2 个 MCP Prompts(引导工作流)
| Prompt | 功能 |
|---|---|
detect_impact | 提交前变更分析——影响范围、受影响的进程、风险等级 |
generate_map | 从知识图谱生成带 Mermaid 图示的架构文档 |
自动安装的 Agent Skills
索引后自动安装到 .claude/skills/(如存在 .agents/ 也装到 .agents/skills/):
| Skill | 用途 |
|---|---|
| Exploring | 用知识图谱导航陌生代码 |
| Debugging | 沿调用链追踪 bug |
| Impact Analysis | 变更前分析爆炸半径 |
| Refactoring | 用依赖映射规划安全重构 |
| Guide | GitNexus 工具/资源/schema 参考 |
| CLI | 按需执行 analyze/status/clean/wiki 命令 |
| PDG Query | 语句级控制/数据依赖查询(--pdg 索引) |
| Taint Analysis | source→sink 数据流发现(--pdg 索引) |
Plan(/gitnexus-plan) | 基于图谱和 PDG 切片的可实现工程方案 |
Work(/gitnexus-work) | 以 impact 校验、detect_changes 把关的原子提交执行方案 |
编辑器支持
| 编辑器 | MCP | Skills | Hooks(自动增强) | 支持深度 |
|---|---|---|---|---|
| Claude Code | ✅ | ✅ | ✅(PreToolUse + PostToolUse) | 完整支持 |
| Cursor | ✅ | ✅ | — | MCP + Skills |
| Codex | ✅ | ✅ | — | MCP + Skills |
| Antigravity | ✅ | ✅ | — | MCP + Skills |
| Windsurf | ✅ | — | — | MCP |
| OpenCode | ✅ | ✅ | — | MCP + Skills |
Claude Code 获得最深集成:MCP 工具 + Agent Skills + PreToolUse Hook(用图谱上下文丰富搜索)+ PostToolUse Hook(检测提交后索引过期并提示重新索引)。
快速配置
Claude Code(完整支持):
# macOS / Linux
claude mcp add gitnexus -- npx -y gitnexus@latest mcp
# Windows
claude mcp add gitnexus -- cmd /c "npx -y gitnexus@latest mcp"Codex:
codex mcp add gitnexus -- npx -y gitnexus@latest mcpCursor(~/.cursor/mcp.json):
{
"mcpServers": {
"gitnexus": {
"command": "npx",
"args": ["-y", "gitnexus@latest", "mcp"]
}
}
}也可以用
npx gitnexus setup一步自动检测并配置编辑器,比手写配置更省事。
快速开始
安装与首次索引
# 安装 CLI
npm install -g gitnexus
# 索引你的仓库(从仓库根目录运行)
npx gitnexus analyze
# 配置 MCP(一次性配置编辑器)
npx gitnexus setup索引完成后,GitNexus 会自动:
- 安装 Agent Skills 到
.claude/skills/(Claude Code)和.agents/skills/ - 注册 Claude Code Hooks
- 创建
AGENTS.md/CLAUDE.md上下文文件
安装避坑
- npm 11 崩溃:
npx可能因 npm/arborist 的 bug 报Cannot destructure property 'package' of 'node.target'(在 GitNexus 运行前就崩)。改用 pnpm 显式构建原生依赖:或全局安装后直接pnpm --allow-build=@ladybugdb/core --allow-build=gitnexus --allow-build=tree-sitter dlx gitnexus@latest analyzegitnexus analyze。 - MCP 启动慢:建议先全局安装
npm i -g gitnexus再gitnexus setup,这样会写入绝对路径配置、绕过 npx;冷缓存下 npx 安装可能超过 Claude Code 默认MCP_TIMEOUT(约 30s)。 - 没有 C++ 工具链:设
GITNEXUS_SKIP_OPTIONAL_GRAMMARS=1后再npm install -g gitnexus,可跳过 dart/proto/swift/kotlin 四个 vendored 语法的构建(只影响这四种语言的解析,安装可秒级完成,无需 python3/make/g++)。 - 代理/防火墙环境:
onnxruntime-node的 postinstall 会从api.nuget.org下载可选 CUDA 二进制且忽略代理。embedding 栈是可选的,首次gitnexus analyze --embeddings时会通过 npm 源自行补齐到~/.gitnexus/embedding-runtime(可用GITNEXUS_EMBEDDING_RUNTIME_DIR覆盖)。
常用命令
gitnexus setup # 为编辑器配置 MCP(一次性)
gitnexus analyze # 索引仓库(或更新过期索引)
gitnexus analyze --force # 强制全量重新索引
gitnexus analyze --skills # 生成仓库专属 Skill 文件
gitnexus serve # 启动本地 HTTP 服务器,连接 Web UI
gitnexus list # 列出所有已索引仓库
gitnexus status # 显示当前仓库索引状态
gitnexus clean # 删除当前仓库索引
gitnexus clean --all --force # 删除所有索引
gitnexus wiki [path] # 从知识图谱生成仓库 Wiki
gitnexus embeddings install # 手动按需安装 embedding 运行时部署到 Render
GitNexus 支持一键部署到 Render。Blueprint 会创建两个服务:
gitnexus-server:跑gitnexus serve,私有服务,无公网 URL,走 Render 私有网络,带持久化磁盘存索引和克隆的仓库gitnexus-web:公开服务,提供 UI 并把/api/*反向代理到 server
默认配置约 $35/月(server standard $25 + web starter $7 + 10GB 磁盘 $2.5)。部署后会生成访问令牌,UI 首次使用时要求粘贴(从 Render dashboard 的 GITNEXUS_SERVE_AUTH_TOKEN 复制)。任何持有该令牌的人都能读取所有已索引仓库,请妥善保管。
企业版
GitNexus 提供商业化企业版本(SaaS 与自托管),含开源版没有的功能,例如团队协作、多仓库组织、服务端部署等方式。具体清单以 akonlabs.com 官方信息为准。
技术栈
| 组件 | 技术选型 |
|---|---|
| 代码解析 | Tree-sitter(原生绑定 + WASM) |
| 图数据库 | LadybugDB(原生 + WASM) |
| 向量检索 | ONNX 嵌入模型 + HNSW 向量索引 |
| 混合搜索 | BM25 + 语义向量 + RRF(倒数排名融合) |
| AI 协议 | MCP(Model Context Protocol) |
| 发布形式 | NPM(gitnexus),Web UI 由 Vercel 托管 |
适用场景
适合使用 GitNexus 的场景
- 大型代码库维护:超过 5k 文件的中型/大型项目,AI 需要架构级理解
- 重构高风险代码:修改调用链复杂或依赖关系不清晰的模块
- 代码审查:PR 提交前分析影响范围
- 新成员 onboarding:快速理解代码库的功能聚类和执行流
- 跨仓库服务治理:多仓库场景下的接口契约提取和执行流追踪(组功能)
不适合的场景
- 小型脚本项目:几十行代码的简单脚本,不需要知识图谱
- 完全不允许本地处理的环境:虽然完全本地无网络,但需要 npm/Node.js 环境
总结
GitNexus 把代码从文本变成结构化的图谱。区别在于:传统做法让 LLM 从原始图中自己探索,GitNexus 在索引时就把聚类、追踪、置信度预计算好,AI 工具一次调用即可拿到完整上下文,从而不再漏看依赖、不再打断调用链、不再盲目编辑。
适合使用 Claude Code、Cursor、Codex 等工具处理中大型代码库的开发者,其中 Claude Code 用户获得的集成最深(MCP + Skills + Hooks 全覆盖)。
📌 更多信息
- GitHub: abhigyanpatwari/GitNexus
- Web UI: gitnexus.vercel.app
- NPM: npmjs.com/package/gitnexus
- Discord: discord.gg/MgJrmsqr62
- Enterprise: akonlabs.com
参与讨论
使用 GitHub 登录。欢迎补充事实、异议与实践。
讨论暂时无法加载。