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