GitNexus 核心引擎深度解析
索引流水线、社区检测与流程追踪、混合搜索与嵌入生成
一、入口类与架构关系
GitNexus 的核心引擎由三个相互协作的子系统构成:索引流水线(Ingestion Pipeline)、社区与流程检测(Community & Process Detection)、混合搜索与嵌入(Hybrid Search & Embeddings)。这三个子系统共同将原始代码库转换为可查询的知识图谱。
1.1 核心类关系图

1.2 关键数据结构
KnowledgeGraph:知识图谱的核心数据结构,包含节点(Node)和关系(Relationship)集合。节点类型包括 File、Folder、Function、Class、Method、Interface、Community、Process;关系类型包括 CALLS、IMPORTS、EXTENDS、IMPLEMENTS、MEMBER_OF、STEP_IN_PROCESS。
SymbolTable:符号表,用于快速查找符号定义。键为 filePath:name,值为 {nodeId, type}。
ASTCache:AST 缓存,避免重复解析。使用 LRU 策略,默认缓存所有文件。
二、关键流程描述
2.1 索引流水线完整流程
索引流水线是 GitNexus 的核心,将代码库转换为知识图谱。整个流程分为 9 个阶段,每个阶段都有明确的职责和进度反馈。

关键阶段说明:
- 文件扫描(0-15%):
walkRepository遍历文件系统,收集所有可解析文件,建立 File/Folder 节点。 - AST 解析(30-70%):使用 Tree-sitter 并行解析,提取符号定义。支持 Worker 池并行处理,失败时自动降级为顺序处理。
- 导入解析(70-75%):语言感知的导入路径解析。TypeScript/JavaScript 支持相对路径和 node_modules;Go 支持包路径解析;Python 支持相对导入和 sys.path。
- 调用解析(75-80%):通过 Tree-sitter 查询匹配函数调用点,建立 CALLS 关系。置信度计算基于:
- 精确匹配(名称 + 参数数量):90%+
- 模糊匹配(仅名称):50-70%





