GitHub:abhigyanpatwari/GitNexus · ⭐ 32K+ · TypeScript · PolyForm协议
GitNexus是一款零服务器代码智能引擎,核心思路是:把代码仓库解析为知识图谱,全部在浏览器端运行,无需部署后端服务。它通过Tree-sitter解析代码AST,提取函数调用关系、类继承层次、模块依赖网络,然后在浏览器中用WebGL渲染交互式知识图谱。
传统代码智能工具(Sourcegraph、GitHub Code Search)需要搭建服务器索引代码,GitNexus直接在用户浏览器中完成解析和可视化,零部署成本、零数据泄露风险。
# npm全局安装
npm install -g gitnexus
# 或npx直接运行(无需安装)
npx gitnexus analyze /path/to/your/repo
# 启动可视化界面
npx gitnexus viz --port 3000
| 功能 | 说明 |
|---|---|
| 代码知识图谱 | 解析AST,提取函数/类/模块节点和调用/继承/依赖边,构建图结构 |
| 交互式可视化 | WebGL渲染力导向图,支持缩放/拖拽/过滤/搜索节点 |
| 调用链分析 | 点击任意函数,高亮显示所有调用者和被调用者 |
| 影响面评估 | 修改某函数时,自动标记所有受影响的下游代码路径 |
| 多语言支持 | 通过Tree-sitter支持JS/TS/Python/Go/Rust/Java/C++等40+语言 |
| 导出与集成 | 支持导出JSON图谱,可集成到VS Code扩展或CI流程 |
# 分析当前项目
npx gitnexus analyze .
# 输出示例:
# ✓ 解析完成:1,247个文件
# ✓ 提取节点:8,392个函数 / 456个类 / 89个模块
# ✓ 提取边:12,847条调用关系
# ✓ 构建知识图谱完成(耗时3.2s)
# 📊 启动可视化: http://localhost:3000
# 导出图谱为JSON
npx gitnexus analyze . --export graph.json
# 在代码中使用API
import { GitNexus } from 'gitnexus';
const nexus = new GitNexus('./my-project');
const graph = await nexus.buildGraph();
// 查询:谁调用了myFunction?
const callers = graph.getCallers('myFunction');
// 查询:修改UserService影响哪些文件?
const impacts = graph.getImpactFiles('UserService');
相比 CodeGraph代码知识图谱教程 的SQLite+MCP方式,GitNexus更轻量——无需数据库,浏览器端直接分析,适合快速理解陌生代码库。
| 场景 | 说明 |
|---|---|
| 接手新项目 | 5秒生成全库代码地图,快速理解架构 |
| 代码审查 | PR提交前评估修改影响面,避免遗漏 |
| 技术债分析 | 识别高扇入/高扇出节点,定位架构瓶颈 |
| AI编程辅助 | 将图谱喂给LLM,让AI更准确理解代码上下文 |
GitHub:abhigyanpatwari/GitNexus · ⭐ 32K+ · TypeScript · PolyForm协议
Understand-Anything代码知识图谱教程