Graphify Skill:一键把代码库变知识图谱,71.5x token 压缩率
Graphify Skill:一键把代码库变知识图谱,71.5x token 压缩率
把整个代码库扔给 AI 助手,最怕的不是它看不懂,而是每次都要重复塞上下文。Graphify 解决的就是这个问题——它用 AST 解析把代码库转化成一个可查询的知识图谱,让 AI “记住”代码结构,下次直接问、不用重新读。截至 2026-07-30,Graphify 在 GitHub 已有 98,448 颗星,妥妥的 trending 级爆款。
功能与原则
Graphify 本质是一个 Claude Code Skill(/graphify),运行后自动解析当前目录,输出结构化知识图谱。其设计原则:
- 确定性优先:不用向量相似度,用 AST 解析 + tree-sitter 提取真实的代码调用关系
- 全模态支持:代码、PDF、Markdown、截图、图表、白板照片,Claude Vision 全部吞得下
- 持久化图谱:生成
graph.json保存图结构,数周后还能直接查询,无需重新跑整个解析流程 - 透明度:每条边都打标签
EXTRACTED(从代码实际提取)/INFERRED(AI 推断)/AMBIGUOUS(存疑),绝不糊弄用户
认可度
- GitHub Star:98,448(截至 2026-07-30),Fork 9,552
- 2026-04-03 创建,两个多月从 0 飙到近 10 万星,GitHub Trending 常驻项目
- 曾入选 GitHub Trending 日榜,社交媒体(X/Hacker News)讨论度高
- PyPI 包名
graphifyy(graphify名字待认领中),pip 安装量持续攀升
链接
GitHub:https://github.com/Graphify-Labs/graphify
原作者
safishamsi(GitHub Profile),独立开发者,项目主页 graphify.com。
介绍
Graphify 的核心思路来自 Andrej Karpathy 的一个习惯——他有一个 /raw 文件夹,里面塞满论文、推文截图和笔记,随取随用。Graphify 相当于把这个流程自动化:输入任意文件夹(代码、文档、图片均可),输出一个可交互的知识图谱。
运行 /graphify . 后,Graphify 会:
- 用 tree-sitter 解析代码的 AST,构建真实的函数调用关系图
- 用 Claude Vision 理解截图、图表、白板照片中的概念和关系
- 用 Leiden 算法做社区检测,识别高聚合的代码模块
- 生成交互式 HTML 图谱 + Obsidian 知识库格式 + Wiki 风格的 agent 可读文档
图谱的输出结构如下:
graphify-out/
├── graph.html # 可交互图谱——点击节点、搜索、按社区过滤
├── obsidian/ # 可直接当 Obsidian 知识库打开
├── wiki/ # Wikipedia 风格文章,适合 AI agent 导航
├── GRAPH_REPORT.md # 神级节点(god nodes)、意外连接、推荐问题
├── graph.json # 持久化图谱——数周后直接 query,不用重跑
└── cache/ # SHA256 缓存——只重跑变更文件
特点
- AST + tree-sitter 解析:不依赖向量搜索,用真实的代码结构建图,每条边都有迹可循
- 71.5x token 压缩率:在 Karpathy repos + 论文 + 图片的混合语料上,单次查询 token 消耗是直接读原文件的 1/71.5
- 多格式导出:SVG、GraphML(支持 Gephi/yEd)、Neo4j Cypher,甚至可以导出成 Obsidian vault
- 自动追踪:自带
--watch模式,代码文件保存即时重建图谱,文档变更主动通知用户运行--update - Git Hook 集成:
graphify hook install装一个 post-commit hook,每次 git commit 自动重建图谱,无需后台常驻进程 - Wiki 导出:
--wiki模式生成 Wikipedia 风格的文章目录,agent 可以通过读文件而非解析 JSON 来导航知识库 - 增量更新:
--update只处理变更文件,merge 进已有图谱,避免全量重跑
使用方法
安装(一行命令):
pip install graphifyy && graphify install
基本调用:
# 在任意目录下运行
/graphify .
# 指定文件夹
/graphify ./raw
# 深度模式——更激进的推断边提取
/graphify ./raw --mode deep
# 增量更新——只处理变更文件
/graphify ./raw --update
# 自动同步——代码变更即时重建
/graphify ./raw --watch
# 导出为 agent 可读的 Wiki 格式
/graphify ./raw --wiki
# 导出 SVG 图谱
/graphify ./raw --svg
查询已建立的图谱:
graphify query "what connects attention to the optimizer?"
graphify path "DigestAuth" "Response"
graphify explain "SwinTransformer"
添加外部资料(论文、推文):
/graphify add https://arxiv.org/abs/1706.03762
/graphify add https://x.com/karpathy/status/...
使用场景与人群
适用场景:
- 大型代码库(>50 文件)的长期上下文管理——不需要每次都把整个仓库塞给 AI
- 论文 + 代码混合阅读——把 Transformer 论文和配套代码库一起建图,AI 可以直接回答”这篇论文的哪个部分对应代码的哪块实现”
- 技术债务分析——用
graphify path A B追踪两个模块之间的调用路径 - AI Agent 记忆层——Wiki 导出模式让 agent 可以通过读文件导航知识库,而不是直接解析 JSON
目标用户:
- 长期使用 Claude Code / Cursor / Codex 的开发者
- 需要处理大量遗留代码的工程师(不愿每次从头解释项目结构)
- 研究人员(论文 + 代码联合阅读场景)
- AI Agent 框架开发者(把 Graphify 作为持久记忆层集成进自己的 agent 系统)
输入与输出案例
案例 1:Karpathy repos 混合语料
输入:Karpathy 的 5 个 repos(minGPT、makemore、cs231n 等)+ 5 篇论文 + 4 张截图,共 52 个文件
输出:生成了包含 71.5x token 压缩率的图谱,单次查询 token 消耗从 142K 降到约 2K。Graph Report 识别出 god nodes(高度中心化的核心概念)和 surprising connections(代码-论文之间的意外关联)。
案例 2:查询图谱而非重读代码
输入:graphify query "what modules handle attention mechanism?"
输出:Graphify 在已有图谱中检索,返回相关节点列表及连接路径,包括代码函数、论文引用和截图注释中提到 “attention” 的位置——无需重新解析 52 个文件。
Graphify 的本质是把”重新塞上下文”这件事从每次对话中彻底消除。对于高频使用 AI 编码助手的开发者来说,71.5x 的 token 压缩率和持久化图谱带来的效率提升,是真实可量化的生产力量级。
评论区
登录后可评论。