--- title: "Incremental Graph Update" type: concept tags: [graph, real-time, file-watching] sources: [lsp-index-engineer] last_updated: 2026-04-25 --- ## Definition 增量图谱更新(Incremental Graph Update)是 LSP/Index Engineer 维护代码语义图谱的核心策略——通过文件监视器(File Watchers)和 Git hooks 检测变更,仅更新受影响的图谱子图,而非全量重建,从而实现亚秒级增量同步。 ## Trigger Mechanisms - **文件监视器**:监听文件系统变更,触发相关符号的重新索引 - **Git hooks**:在提交前后执行图谱增量更新,确保版本控制集成 - **WebSocket 推送**:将图谱差异实时推送至连接的客户端 ## Consistency Guarantees LSP/Index Engineer 的原子性保证:图谱更新必须是原子性的——从不将图谱置于不一致状态。具体约束: - 每个符号有且仅有一个定义节点 - 所有边必须引用有效节点 ID - 文件节点必须在符号节点之前创建 - 导入边必须解析到实际文件/模块节点 ## Performance Impact 增量更新使得图谱在 100k+ 符号规模下依然保持亚秒级响应: - 文件保存后 → 图谱更新传播至客户端 <500ms - 单个文件变更 → 仅更新受影响子图,而非全量重建 - WebSocket 推送延迟 <50ms