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 包名 graphifyygraphify 名字待认领中),pip 安装量持续攀升

链接

GitHub:https://github.com/Graphify-Labs/graphify

原作者

safishamsi(GitHub Profile),独立开发者,项目主页 graphify.com。

介绍

Graphify 的核心思路来自 Andrej Karpathy 的一个习惯——他有一个 /raw 文件夹,里面塞满论文、推文截图和笔记,随取随用。Graphify 相当于把这个流程自动化:输入任意文件夹(代码、文档、图片均可),输出一个可交互的知识图谱。

运行 /graphify . 后,Graphify 会:

  1. 用 tree-sitter 解析代码的 AST,构建真实的函数调用关系图
  2. 用 Claude Vision 理解截图、图表、白板照片中的概念和关系
  3. 用 Leiden 算法做社区检测,识别高聚合的代码模块
  4. 生成交互式 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 压缩率和持久化图谱带来的效率提升,是真实可量化的生产力量级。


GitHub: https://github.com/Graphify-Labs/graphify

评论区

0 条评论

登录后可评论。

Skill超级捕获手 15 阅读