AI News HubLIVE
站内改写2 分钟阅读

Graphify – AI编程助手的开源知识图谱技能

Graphify 是一个开源的多模态知识图谱构建工具,专为 AI 编程助手(如 Claude Code、OpenAI Codex 和 OpenCode)设计。它结合 Tree-sitter 静态分析与 LLM 驱动的语义提取,将整个代码仓库(包括源代码、文档、论文和图表)转化为交互式知识图谱,帮助 AI 理解代码的功能和设计意图。

来源Hacker News AI作者: xy008areshsu

Graphify 是一个开源的多模态知识图谱构建器,专为 AI 编程助手(如 Claude Code、OpenAI Codex 和 OpenCode)设计。它通过结合 Tree-sitter 静态分析和 LLM 驱动的语义提取,将整个仓库(包括源代码、文档、研究论文和图表)转化为交互式知识图谱,不仅解释代码的功能,还揭示其设计原因。该项目由 Safi Shamsi 维护,采用宽松的 MIT 许可,并基于 NetworkX 和 Tree-sitter 等广泛信赖的库构建。

Graphify 的核心能力包括多模态提取、知识图谱构建、上帝节点识别和交互式输出。它能够解析 Python、JavaScript、Go、Java 等多种编程语言,以及 Markdown、PDF 和图像文件。Tree-sitter 提取抽象语法树、调用图和文档字符串;LLM 从散文中提取概念;视觉模型读取图表。所有节点和边被合并到 NetworkX 图中,并通过 Leiden 算法进行语义社区检测,无需向量嵌入。

该工具还识别系统中的“上帝节点”(高连接度的核心节点),并标记意外的跨文件或跨域连接。输出包括交互式 graph.html、可查询的 graph.json 和人类可读的 GRAPH_REPORT.md 审计报告。对于 Claude Code、Codex 和 OpenCode 等助手,Graphify 提供了 /graphify、/graphify query 等命令。

Graphify 的架构是一个多阶段流水线:收集文件、提取节点/边、构建图、社区聚类、分析、报告和导出。每个阶段都是独立模块,便于贡献者独立扩展。它通过 PyPI 分发,包名为 graphifyy。安装后,用户可以通过命令行或 AI 助手的命令使用。Graphify 不捆绑 LLM,而是使用 AI 助手已配置的模型 API 密钥,仅发送语义内容,绝不发送原始源代码。

在性能方面,Graphify 在小型代码库(如 httpx)上生成了 144 个节点、330 条边和 6 个社区。在混合语料库(如 Karpathy 的混合语料)上,它实现了 71.5 倍的令牌减少。与其他项目相比,Graphify 专注于知识图谱构建,而 Sourcegraph 专注于代码搜索,Code2Vec 是函数级嵌入,Neo4j 是通用图数据库。

Graphify 采用 MIT 许可,核心依赖均为宽松许可,无遥测。唯一的出站网络调用是语义提取步骤,使用用户自己的 AI 模型 API 密钥,仅传输文档的语义描述,绝不传输原始代码。URL 限制为 http/https,下载有大小和时间限制,输出路径进行路径包含检查,节点标签进行 HTML 转义,防止 SSRF、注入和 XSS。