Graphify — 面向 AI 编码助手的知识图谱
Graphify 是一项开源技能,通过把代码、文档、论文和图示构建为可查询知识图谱,帮助 AI 编码助手理解多模态代码库。
Click to Use Graphify MCP Free每日更新 · 所有 Graphify 用户共享
今日 GitHub Trending 知识图谱
直接查看 Graphify 为全球每日热门项目生成的架构图,也可以通过 Graphify MCP 调用同一批共享图谱。
什么是 Graphify?
Graphify 是为 AI 编码助手(如 Claude Code、OpenAI Codex、OpenCode)打造的多模态知识图谱构建器。它结合 Tree-sitter 静态分析与 LLM 语义抽取,将整个仓库(源代码、文档、研究论文、图示)转换为可交互图谱,同时解释代码“做什么”和“为什么这样设计”。项目由 Safi Shamsi 维护,采用 MIT 许可证,并建立在 NetworkX 与 Tree-sitter 等成熟库之上。
核心能力
Graphify 将静态分析、语义抽取和图聚类统一为一个可被 AI 编码助手直接调用的技能。
多模态抽取
解析代码(.py、.js、.go、.java 等)、Markdown、PDF 与图片。Tree-sitter 提取 AST、调用图和注释;LLM 从文本抽取概念;视觉模型读取图示。
知识图谱构建
将所有节点与边合并到 NetworkX 图中,并使用 Leiden 算法进行语义社区检测,无需向量嵌入。
核心节点与异常连接
识别系统中度数最高的“god nodes”,并标记跨文件、跨领域的意外关联,帮助深挖问题。
交互式输出
导出交互式 `graph.html`、可查询 `graph.json` 和可读的 `GRAPH_REPORT.md` 审计报告。
助手集成
内置 `/graphify`、`/graphify query`、`/graphify path`、`/graphify explain`,可用于 Claude Code、Codex、OpenCode 等。
安全默认
严格输入校验:仅允许 http/https,限制体积与超时,路径约束,节点标签 HTML 转义,防 SSRF/注入/XSS。
架构与流水线
Graphify 采用多阶段流水线。每个阶段都是独立模块,贡献者可以按需扩展。
配套模块包括用于 URL 抓取的 `ingest.py`、语义缓存 `cache.py`、输入校验 `security.py`、实时更新 `watch.py` 和 MCP 服务 `serve.py`。
本地安装与运行
使用 Python 3.12 和 uv 从仓库安装 Graphify AI。包名为 private-context-mcp,CLI 命令为 private-context。
# 需要 Python 3.12 和 uv;请在 Graphify AI 仓库根目录执行
uv sync --extra dev --extra cloud --no-editable \
--reinstall-package private-context-mcp
# 验证本地安装
uv run --no-sync private-context doctor
# 启动本地 stdio MCP 服务
uv run --no-sync private-context serve --transport stdio
这些命令使用 Graphify AI 锁定的依赖和本地运行时;如无需本地安装,可直接使用 app.graaph.org 托管控制台。
实践示例
仓库内置可复现语料,展示 Graphify 在小型库与大型代码+论文混合语料上的表现。
httpx(小规模)
6 个 Python 文件模拟 HTTP 传输层。结果:144 个节点、330 条边、6 个社区。核心节点:Client、AsyncClient、Response、Request。异常连接:DigestAuth → Response。
Karpathy 混合语料
3 个 GPT 框架仓库 + 5 篇 attention 论文 + 4 张图示(约 52 个文件、9.2 万词)。结果:285 个节点、340 条边、53 个社区。平均查询约 1.7k token,对比朴素方式约 123k,压缩约 71.5×。
对比
Graphify 与代码智能领域相邻开源项目的关系。
| 项目 | 聚焦点 | 优势 | 相对 Graphify 的局限 |
|---|---|---|---|
| Sourcegraph | 跨仓库代码搜索 | 企业级导航能力 | 不是知识图谱;设计语义能力有限 |
| Code2Vec | 函数级向量表示 | 向量检索与分类 | 无图结构,且不支持多模态输入 |
| Neo4j | 通用图数据库 | 强大的 Cypher 查询 | 不会自动从代码生成知识图谱 |
安全、许可与可信性
Graphify 采用 MIT 许可证。核心依赖 NetworkX(BSD)和 Tree-sitter(MIT)均为宽松开源协议。项目不做遥测。唯一外部网络调用是语义抽取步骤,使用你自己的模型 API Key;仅发送文档语义描述,不发送原始源码。URL 被限制为 http/https,下载有大小和超时限制,输出路径有包含校验,节点标签做 HTML 转义,以防 SSRF、Cypher 注入与 XSS。
深入了解 Graphify
查看更多指南,理解 Graphify 如何为 AI 编码助手构建、聚类并服务知识图谱。
常见问题
Graphify 会把我的代码发给第三方模型吗?
不会。Graphify 只发送文档与图示的语义描述给你已配置的模型,不会发送原始源码文件。
支持哪些 AI 编码助手?
已开箱支持 Claude Code、OpenAI Codex 与 OpenCode(通过 `skill-*.md` 清单)。任何可执行 shell 命令的助手都可调用 `graphify`。
Graphify 能处理多大规模的代码库?
Tree-sitter 解析与 NetworkX 构建基本随代码规模线性增长。在约 50 万词语料上,BFS 子图查询通常约 2k token,而朴素方式约 67 万 token。
Graphify 可用于商业场景吗?
可以。Graphify 采用 MIT 许可证,个人与商业用途均可免费使用。