在使用 Claude Code、Cursor 等 AI 编程助手时,你是否也遇到过这样的困境:AI 读取了十几个文件,消耗大量 Token,却依然在你庞大的代码库中"迷路"?Graphify 正是为此而生——它将代码仓库一键转成知识图谱,让 AI 真正"看懂"代码架构,Token 消耗直降 71.5 倍

项目地址:github.com/safishamsi/graphify

Graphify 是什么

Graphify 是一款 Claude Code Skill,在 Claude Code 中输入 /graphify 即可运行。它会读取你的文件,构建知识图谱,并返回你之前未曾察觉的结构化关系。

它的核心理念是:用图结构替代线性文件读取。与其让 AI 逐个读取几十个文件,不如先建立一张语义关系图,让 AI 直接"看到"全局架构,再精准定位到需要的部分。

核心特性

全模态输入

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 提取截图、图表、甚至其他语言的图片内容

Token 暴力压缩

在混合语料测试中(代码仓库 + 论文 + 图片),Graphify 实现了 71.5 倍的 Token 压缩率。这意味着每次查询 AI 时,你只需要花费原来 1/71 的 Token 成本。

官方实测数据:

测试语料文件数压缩倍数
Karpathy 仓库 + 5篇论文 + 4张图片5271.5x
Graphify 源码 + Transformer 论文45.4x

智能洞察输出

Graphify 不仅生成图谱,还会输出结构化的分析报告:

  • God Nodes(核心节点):度数最高的概念——即一切关系交汇的枢纽
  • Surprising Connections(意外关联):按综合评分排名的跨域关联,代码-论文边比代码-代码边权重更高
  • Suggested Questions(推荐问题):图谱 uniquely 能回答的 4-5 个问题

边的可信度标签

图谱中的每条边都带有标签:EXTRACTED(从文件中直接提取)、INFERRED(推理得出)、AMBIGUOUS(不确定),让你始终清楚哪些是事实、哪些是猜测。

输出格式

运行 /graphify . 后,在 graphify-out/ 目录下生成:

graphify-out/
├── graph.html       # 交互式图谱 - 点击节点、搜索、按社区过滤
├── obsidian/        # 可直接作为 Obsidian vault 打开
├── wiki/            # Wikipedia 风格的文章,供 Agent 导航(--wiki)
├── GRAPH_REPORT.md  # 核心节点、意外关联、推荐问题
├── graph.json       # 持久化图谱 - 数周后可直接查询,无需重新读取
└── cache/           # SHA256 缓存 - 仅重新处理变更的文件

安装与使用

环境要求:Claude Code + Python 3.10+

# 安装(PyPI 暂时命名为 graphifyy)
pip install graphifyy && graphify install

# 在任意目录中使用
/graphify .                        # 对当前目录生成知识图谱
/graphify ./raw                    # 对指定文件夹生成
/graphify ./raw --mode deep        # 更激进的推理边提取
/graphify ./raw --update           # 增量更新,仅处理变更文件
/graphify query "what connects attention to the optimizer?"
/graphify path "DigestAuth" "Response"
/graphify explain "SwinTransformer"
/graphify ./raw --wiki             # 生成 Agent 可导航的 Wiki
/graphify ./raw --watch            # 文件变更时自动同步图谱
/graphify ./raw --svg              # 导出 graph.svg
/graphify ./raw --neo4j            # 生成 Neo4j 的 cypher.txt
graphify hook install              # 安装 Git post-commit 钩子

自动化集成

  • --watch 模式:在后台终端运行,代码文件保存时即时重建(仅 AST,不需要 LLM),文档/图片变更时通知你运行 --update
  • Git Hookgraphify hook install 安装 post-commit 钩子,每次提交后自动重建图谱
  • MCP Server--mcp 启动标准 MCP stdio 服务,可接入任何支持 MCP 的客户端

技术栈

NetworkX + Leiden (graspologic) + tree-sitter + Claude + vis.js。无需 Neo4j,无需服务器,完全本地运行。

适用场景

  • 大型代码库导航:让 AI 快速理解项目架构,不再逐文件盲目搜索
  • 知识管理:像 Andrej Karpathy 的 /raw 文件夹一样,将论文、笔记、截图统一图谱化
  • 跨域研究:发现代码与论文、概念与实现之间的隐藏关联
  • 团队协作:生成的 Obsidian vault 和 Wiki 可作为团队共享的知识库

总结

Graphify 将知识图谱技术巧妙地应用于代码理解场景,解决了 AI 编程助手在面对大型项目时的核心痛点——Token 浪费和上下文迷失。71.5 倍的 Token 压缩率意味着更低的成本和更精准的 AI 理解,值得每一位使用 Claude Code 或 Cursor 的开发者尝试。

来源:GitHub - safishamsi/graphify