## 项目概述

GitNexus 是一个零服务器代码智能引擎，完全在浏览器中运行。它可以将 Git 仓库（支持 GitHub、Gitlab、Azure、本地仓库）或 ZIP 文件转换为交互式知识图谱，并内置 Graph RAG 智能体，用于代码探索。项目由 abhigyanpatwari 开发，使用 TypeScript 编写，采用 PolyForm 非商业许可证。GitNexus 的核心创新在于“预计算关系智能”，在索引时预先计算结构（聚类、追踪、评分），使 AI 工具在一次调用中获得完整上下文，避免多次查询。

## 核心功能

- **知识图谱构建**：索引代码库，生成包含依赖、调用链、聚类和执行流的知识图谱。
- **MCP 集成**：提供 17 个 MCP 工具（如 `impact`、`trace`、`query` 等），供 AI 智能体使用。
- **多编辑器支持**：支持 Claude Code、Cursor、Codex、Antigravity 等，自动配置 MCP、技能和钩子。
- **Web UI**：浏览器中的可视化图谱浏览器和 AI 聊天，支持本地后端模式。
- **多语言支持**：支持 TypeScript、JavaScript、Python、Java、Kotlin、C#、Go、Rust、PHP、Ruby、Swift、C、C++、Dart 等 14 种语言。
- **混合搜索**：结合 BM25、语义搜索和 RRF 排序。
- **Wiki 生成**：从知识图谱生成 LLM 驱动的文档。
- **仓库组**：支持多仓库/单体仓库服务跟踪，跨仓库影响分析。

## 适用与不适用场景

**适用场景：**
- 日常开发中，使用 AI 编程助手（如 Cursor、Claude Code）时，需要深度理解代码库结构。
- 快速探索不熟悉的代码库，进行一次性分析。
- 需要评估代码变更的影响范围（blast radius）。
- 生成架构文档或代码 Wiki。
- 多仓库或单体仓库服务间的依赖追踪。

**不适用场景：**
- 需要商业使用（许可证限制）。
- 浏览器内存有限，处理超过约 5000 文件的大型仓库（Web UI 模式）。
- 需要实时索引更新（目前索引是静态的，需手动重新分析）。
- 对隐私要求极高，且不能接受任何网络请求（CLI 模式完全本地，但 Web UI 可能涉及 CDN）。

## 技术架构与依赖

- **运行时**：Node.js（CLI）、浏览器 WASM（Web UI）。
- **解析**：Tree-sitter（原生绑定 / WASM）。
- **数据库**：LadybugDB（原生 / WASM），嵌入式图数据库，支持向量。
- **嵌入**：HuggingFace transformers.js（GPU/CPU / WebGPU/WASM）。
- **搜索**：BM25 + 语义 + RRF。
- **智能体接口**：MCP（stdio）、LangChain ReAct agent（Web）。
- **可视化**：Sigma.js + Graphology（WebGL）。
- **前端**：React 18、TypeScript、Vite、Tailwind v4。
- **聚类**：Graphology。
- **并发**：Worker threads + async（CLI）、Web Workers + Comlink（Web）。

## 安装与快速开始

**安装 CLI：**
```bash
npm install -g gitnexus
```

**快速开始：**
```bash
# 1. 索引你的仓库（在仓库根目录运行）
npx gitnexus analyze

# 2. 连接你的编辑器（一次性，自动检测 Claude Code、Cursor、Codex 等）
npx gitnexus setup
```

**Web UI：** 无需安装，访问 [gitnexus.vercel.app](https://gitnexus.vercel.app)。

**Docker 部署：**
```bash
docker compose up -d
```

## 典型使用方法

**影响分析：**
```
impact({target: "UserService", direction: "upstream", minConfidence: 0.8})
```

**搜索：**
```
query({search_query: "authentication middleware"})
```

**上下文查看：**
```
context({name: "validateUser"})
```

**变更检测：**
```
detect_changes({scope: "all"})
```

**重命名：**
```
rename({symbol_name: "validateUser", new_name: "verifyUser", dry_run: true})
```

**Cypher 查询：**
```cypher
MATCH (c:Community {heuristicLabel: 'Authentication'})<-[:CodeRelation {type: 'MEMBER_OF'}]-(fn)
MATCH (caller)-[r:CodeRelation {type: 'CALLS'}]->(fn)
WHERE r.confidence > 0.8
RETURN caller.name, fn.name, r.confidence
ORDER BY r.confidence DESC
```

## 配置与部署要点

- **环境变量**：大量 `GITNEXUS_*` 环境变量可调优，如 `GITNEXUS_WORKER_POOL_SIZE`、`GITNEXUS_MAX_FILE_SIZE`、`GITNEXUS_MCP_READ_ONLY` 等。
- **项目配置**：可在仓库根目录提交 `.gitnexusrc` JSON 文件预配置 analyze 选项。
- **Docker 部署**：使用 `docker compose up -d`，可设置 `WORKSPACE_DIR` 挂载主机目录。
- **Render 部署**：一键部署，需配置 `GITNEXUS_SERVE_AUTH_TOKEN`。
- **安全**：CLI 完全本地，Web UI 数据在浏览器内处理。MCP 支持只读模式、仓库白名单、响应预算。
- **许可证**：PolyForm 非商业许可证，商业使用需联系。

## 限制、风险与许可证

- **许可证**：PolyForm 非商业许可证 1.0.0，商业使用需获得授权。
- **风险**：
  - 索引是内存密集型，大型仓库可能内存不足。
  - Web UI 受浏览器内存限制（约 5000 文件）。
  - 存在已知问题，如 npm 11 安装崩溃、代理环境下的嵌入下载问题。
  - 官方声明无任何加密货币代币，谨防诈骗。
- **限制**：
  - 不支持增量索引（计划中）。
  - 控制流图（CFG）仅支持 TypeScript/JavaScript（可选）。
  - 部分语言（如 Swift、C/C++）的导入解析支持有限。

## 官方链接

- **GitHub 仓库**：https://github.com/abhigyanpatwari/GitNexus
- **Web UI**：https://gitnexus.vercel.app
- **Discord**：https://discord.gg/MgJrmsqr62
- **企业版**：https://akonlabs.com
- **npm 包**：https://www.npmjs.com/package/gitnexus
- **最新发布**：v1.6.9（2026-07-04）

## 信息来源和分析时间

- **信息来源**：GitHub 仓库 README、CHANGELOG、CONTRIBUTING、工程计划文档。
- **分析时间**：2026-07-04（基于最新发布版本）。
- **注意**：仓库资料未提供部分细节，如具体版本历史、完整依赖列表等，请参考官方文档。