graphify: 一个用于代码库和文档的知识图谱生成器,可与 AI 编程助手集成
graphify: 一个用于代码库和文档的知识图谱生成器,可与 AI 编程助手集成
它解决了什么问题
Graphify 将代码库及其相关的文档(PDF、图像、视频)转换为可搜索的知识图谱。这使得开发者能够查询概念之间的关系、追踪不同代码部分之间的路径,并理解架构,而无需手动在文件中使用 grep,也不必仅仅依赖基于向量的 RAG。
工作原理
Graphify 使用混合方法来映射项目:
- 代码解析: 使用 tree-sitter AST 对大约 40 种语言的代码进行确定性的本地解析。此过程完全在本地进行,不需要 LLM。
- 语义处理: 对于非代码资产(如 PDF、图像和视频),它使用 LLM(通过配置的 API key 或 AI 助手的模型)进行语义分析。
- 图谱生成: 它生成一个包含完整图谱的
graph.json文件,一个用于交互式可视化的graph.html,以及一个突出显示关键概念和连接的GRAPH_REPORT.md。 - AI 助手集成: 它可以作为各种 AI 编程助手(如 Claude Code、Cursor 和 GitHub Copilot)的“技能”进行注册,使助手能够使用
/graphify等命令直接查询图谱。
适用人群
需要导航和理解复杂代码库的软件工程师和架构师,特别是在加入新项目或进行深度架构分析时。
亮点
- 本地优先的代码映射: 代码通过 tree-sitter 在本地进行解析,确保了隐私并避免了代码分析的 LLM 成本。
- 基于图谱的导航: 与向量索引不同,它提供了一个真实的图谱,可以进行遍历以查找概念之间的最短路径。
- 多模态支持: 将代码、文档、PDF、图像和视频/音频映射到单个统一的知识图谱中。
- 广泛的助手兼容性: 通过自定义技能和钩子,与超过 20 种 AI 编程助手集成。
- 置信度标记: 图谱中的每条边都被标记为
EXTRACTED(源文件中明确存在的)或INFERRED(通过解析推导出的)。 - 引用: 将
# NOTE:、# WHY:和# HACK:注释中的设计原理作为一等公民节点提取出来。
Sources
- undefinedsafishamsi/graphify