Graphify 评测:把任何代码库变成可查询的知识图谱

一句话介绍

Graphify 是一个将代码库、文档、PDF 和配置自动转化为可查询知识图谱的开源 AI 工具,支持 Claude Code、Cursor、Codex 和 Gemini CLI,Star 数已突破 10.8 万。


工具简介

现代软件开发中,代码库规模不断增长,开发者越来越依赖 AI 编程助手来理解代码结构、追踪依赖关系、回答”这个函数被哪里调用”这类问题。然而,大多数 AI 工具的处理方式是直接把文件内容塞进上下文窗口, token 消耗巨大,且难以把握整体架构。

Graphify 的思路完全不同:它用树-sitter 进行确定性 AST 解析,结合 Claude 的多模态理解能力,把代码库、文档、论文、截图等一切内容提取为节点和边的知识图谱,再提供高效的查询能力。整个过程本地运行,不需要 Neo4j 等外部数据库,也不需要向量存储。


核心功能

1. 多模态知识图谱构建

Graphify 支持多种输入类型,每种都有针对性的提取策略:

  • 代码文件:.py .ts .js .go .rs .java .c .cpp .rb .cs .kt .scala .php,通过 tree-sitter 做 AST 解析 + 调用图构建
  • 文档:.md .txt .rst,用 Claude 提取概念和关系
  • 论文:.pdf,做引用挖掘 + 概念抽取
  • 图片:.png .jpg .webp .gif,用 Claude Vision 识别截图、图表、白板照片等

2. 智能查询能力

构建图谱后,Graphify 提供多种查询方式:

  • /graphify query "attention 和 optimizer 之间有什么联系?" — 自然语言问答
  • /graphify path "DigestAuth" "Response" — 寻找两个概念之间的路径
  • /graphify explain "SwinTransformer" — 对特定节点进行解释

3. 节点质量标注

每条边都会被标记为三种状态之一:

  • EXTRACTED(提取到的)— 从代码或文档中直接找到
  • INFERRED(推断的)— 基于上下文合理推断
  • AMBIGUOUS(模糊的)— 关系不确定

开发者可以清楚地区分”确实存在”和”可能相关”的连接。

4. 自动同步与增量更新

使用 --watch 模式可以在后台持续监控文件变化:代码文件的保存会触发即时 AST 重建(无需 LLM),文档或图片变化则提示运行 --update 进行 LLM 重分析。另外还提供了一个 git post-commit hook,每次提交后自动重建图谱。

5. 丰富的输出格式

格式用途
graph.html交互式可视化图谱,可点击节点、搜索、按社区过滤
obsidian/导出为 Obsidian vault,方便知识管理
wiki/生成 Wikipedia 风格的文章,便于 AI Agent 导航
graph.json持久化图谱数据,后续查询无需重新解析
graph.svg静态图片导出
graph.graphml兼容 Gephi、yEd 等专业图谱工具
cypher.txt生成 Neo4j 查询语句,导入企业级图数据库

6. Token 大幅压缩

官方 benchmark 显示,在包含 Karpathy 仓库 + 5 篇论文 + 4 张图的混合语料(52 个文件)上,Graphify 的查询 token 消耗比直接读取原始文件少了 71.5 倍。对于大规模代码库,这一压缩比例会进一步提升。


适用人群

  • AI 编程助手用户:使用 Claude Code、Cursor、Codex 或 Gemini CLI 的开发者,可以用 /graphify 快速理解任意代码库
  • 技术文档维护者:需要整理项目架构、生成文档索引的工程师
  • 学术研究工作者:将论文、笔记、截图整合为知识图谱的研究者
  • 知识管理爱好者:希望用 Obsidian 等工具管理个人知识库的用户

与同类工具对比

工具类型本地运行无需向量库多模态价格
Graphify知识图谱生成器✅✅✅免费(需 Claude API)
LangChain + Chroma向量数据库框架✅❌有限免费
Dria去中心化向量存储❌❌❌付费
Supermemory开发者记忆系统✅❌❌免费
Mem0AI 记忆层✅❌❌免费/付费

Graphify 的独特之处在于:它不是向量检索,而是图结构查询,通过 AST 解析保证准确性,通过图算法(Leiden 社区检测)发现隐藏的结构关系。对于代码理解任务,确定性 AST 解析远比语义向量检索可靠。


如何使用

安装

# 通过 pip 安装(PyPI 包名暂为 graphifyy)
pip install graphifyy

# 或者使用 pipx(推荐,自动处理 PATH)
pipx install graphifyy

Windows 用户如果安装后 graphify 命令找不到,需要把 Python Scripts 文件夹加到 PATH:%APPDATA%\Python\Python3xx\Scripts

在 Claude Code 中使用

# 打开任意目录
claude

# 在对话中输入
/graphify .

常用命令

# 分析当前目录
/graphify .

# 分析指定目录
/graphify ./src --mode deep

# 增量更新(只处理变化的文件)
/graphify ./src --update

# 添加网页内容
/graphify add https://arxiv.org/abs/1706.03762

# 交互式查询
/graphify query "如何处理认证流程?"
/graphify path "AuthService" "UserController"

# 自动同步模式
/graphify ./src --watch

# 生成 Wiki 风格文档
/graphify ./src --wiki

# 安装 git hook(每次提交自动重建)
graphify hook install

# 导出 Neo4j 兼容格式
/graphify ./src --neo4j

输出结构

运行完成后,你会得到一个 graphify-out/ 目录:

graphify-out/
├── graph.html          # 交互式图谱可视化
├── obsidian/           # Obsidian vault 格式
├── wiki/               # Wikipedia 风格文档
├── GRAPH_REPORT.md     # 核心节点、隐藏关联、推荐问题
├── graph.json          # 持久化图谱数据
└── cache/              # SHA256 缓存,增量更新用

总结

Graphify 是一个设计精良的 AI 代码分析工具,它的核心创新在于用知识图谱替代向量检索来处理代码理解任务。确定性 AST 解析保证结果可追溯,图算法发现人眼难以察觉的架构关联,而 71.5 倍的 token 压缩让大模型查询效率大幅提升。

优点: - 多模态输入支持(代码、文档、PDF、图片) - 本地运行,无需外部数据库 - 丰富的输出格式(HTML 图谱、Obsidian、Wiki、Neo4j 等) - 增量更新和自动同步机制 - 每条边都有明确的置信度标注 - 10.8 万+ Star,社区活跃

缺点: - 需要 Claude API(有使用成本) - 初次分析大型代码库可能较慢 - 依赖 tree-sitter 的语言支持仍在扩展中

推荐指数:★★★★☆(4.5/5)

对于使用 AI 编程助手的开发者来说,Graphify 是目前最成熟的代码知识库构建工具之一。它填补了”代码理解”和”知识管理”之间的空白,让 AI 助手真正理解你的代码库而不仅仅是读取文件内容。如果你日常用 Claude Code 或 Cursor 写代码,强烈建议试一下。

GitHub: https://github.com/Graphify-Labs/graphify 官网: https://www.graphify.com

图谱导出为 JSON 后,可用本站的 JSON 格式化工具 查看结构,或用 URL 编码解码工具 处理链接。