Graphify 是 Claude Code 技能工具,将代码、文档、PDF、图片构建成知识图谱,查询 Token 消耗比读原始文件减少 71.5 倍。支持 AST 代码分析、Claude Vision 多模态提取、Obsidian 导出、Git 钩子自动同步,是知识管理和代码理解的高效助手。

🎤 引言

阅读一个陌生代码库的时候,你是不是经常这种感觉:文件很多、关系很乱、读了半天脑子里还是一盘散沙?

传统方式是装个 Sourcegraph 或者靠 IDE 的跳转功能——能搜索,但没法告诉你"这段代码和那篇论文之间有什么关系"。Andrej Karpathy 曾经提到他有一个 /raw 文件夹,把论文、推文截图、笔记都丢进去,但时间久了就成了一个黑箱,自己都忘了里面有什么。

Graphify 解决的是这个问题:把你指定的文件(代码、文档、PDF、图片)交给 Claude 分析,抽取出概念和关系,构建成一个可交互的知识图谱。以后想问"这个项目里 attention 机制和优化器之间有什么关系",直接 query 图谱,Token 消耗比重新读原始文件少 71.5 倍。

87 Stars,这个工具的思路很有意思。


⭐ 核心功能

多模态知识图谱构建

Graphify 能处理多种类型的输入:

类型格式提取方式
代码.py .ts .js .go .rs .java 等AST 解析 + 调用图分析
文档.md .txt .rstClaude 提取概念和关系
论文.pdf引用挖掘 + 概念提取
图片.png .jpg .webp .gifClaude Vision(截图、图表、任意语言)

输入一个文件夹,Graphify 会遍历所有文件,提取概念节点和关系边,构建成完整的知识网络。每条边都标注了来源(EXTRACTED 明确提取 / INFERRED 推测 / AMBIGUOUS 模糊),你知道哪些是确定的、哪些是猜的。

超低 Token 查询

这是 Graphify 最核心的价值主张。原始文件直接丢给 LLM 上下文消耗巨大,而图谱查询只需要访问结构化的节点和边。实测在 Karpathy 的 repo + 5 篇论文 + 4 张图片的混合语料上,71.5 倍 Token 压缩——从几万 tokens 降到几百 tokens。

这意味着你可以用更少的上下文窗口做更深的分析,而且结果可以跨 session 持久化,不需要每次重新读文件。

交互式图谱可视化

输出的 graph.html 是一个可交互的 Web 图谱页面——点击节点、搜索、按社区过滤。适合在浏览器里直观探索概念之间的关联。

Obsidian 导出

图谱可以直接导出为 Obsidian 笔记库格式,每个节点对应一个 markdown 文件,关系通过 wikilink 连接。如果你本身就是 Obsidian 用户,这个功能让 Graphify 成为你的第二大脑。

Git 钩子自动同步

运行 graphify hook install 会在你的 Git 仓库里安装 post-commit 钩子,每次 git commit 后自动重建图谱。不需要后台进程,不依赖编辑器,commit 记录就成为图谱的更新触发器。

实时监控模式

--watch 模式下,Graphify 会在后台监控文件变化:代码文件保存后立即增量重建(纯 AST,不需要 LLM);文档/图片变化后通知你手动跑 --update 做 LLM 重新分析。适合多 agent 并行开发的场景——图谱在各轮次之间自动保持最新。

多格式导出

除了 HTML 和 Obsidian,还支持:

  • --svg:矢量图导出
  • --graphml:Gephi、yEd 兼容格式
  • --neo4j:生成 Neo4j 的 Cypher 语句,导入图数据库
  • --wiki:Wikipedia 风格的 markdown 百科(index.md + 每篇社区文章),方便其他 AI agent 导航阅读

📥 安装与使用

环境要求

  • Claude Code(必须)
  • Python 3.10+

安装

pip install graphifyy && graphify install
PyPI 临时命名为 graphifyy,CLI 命令仍是 graphify

Windows 用户如果安装后找不到命令,把 Python Scripts 文件夹加入 PATH:

%APPDATA%\Python\Python3xx\Scripts

或者直接用 pipx install graphifyy,pipx 会自动处理 PATH。

基本使用

在任意目录下打开 Claude Code,输入:

/graphify .

Graphify 会分析当前目录,输出:

graphify-out/
├── graph.html       可交互图谱
├── obsidian/        Obsidian 格式笔记
├── wiki/            AI 可读的维基百科
├── GRAPH_REPORT.md  核心概念、意外连接、建议问题
├── graph.json       持久化图谱(跨 session 查询)
└── cache/           SHA256 缓存(只重处理变更文件)

常用命令

# 分析指定文件夹
/graphify ./raw

# 深度模式(更激进的推测关系提取)
/graphify ./raw --mode deep

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

# 添加外部资料(论文/推文)
/graphify add https://arxiv.org/abs/1706.03762

# 查询图谱
/graphify query "attention 机制和优化器有什么关系?"

/graphify path "DigestAuth" "Response"

/graphify explain "SwinTransformer"

# 自动同步(后台监控文件变化)
/graphify ./raw --watch

# 构建 AI 可读百科
/graphify ./raw --wiki

# 导出为 Neo4j
/graphify ./raw --neo4j

# 安装 Git 钩子
graphify hook install

🎯 适用场景

代码库理解与 onboarding

接手一个陌生的代码库时,传统的代码审查效率低、耗时长。用 Graphify 把代码库构建成图谱,可以快速了解模块之间的依赖关系和设计模式,比逐文件阅读节省大量时间。

论文与笔记管理

把论文 PDF、读书笔记、零散的推文截图都丢进 Graphify,它会帮你建立概念之间的联系。Karpathy 风格的"个人知识库",但有结构化的图谱而不是一盘散沙。

多语言/多模态资料整合

Graphify 的 Claude Vision 支持任意语言的截图和图表。适合跨国团队或者研究多语言文档的场景,不需要分别处理,直接丢图就行。

AI Agent 知识共享

导出的 wiki 格式(--wiki)可以被其他 AI agent 读取,agent 不需要解析 JSON,直接读 markdown 文件就能理解知识库结构。适合构建多 agent 协作系统中的共享知识层。


🔍 对比/替代方案

Sourcegraph

Sourcegraph 是代码搜索和导航的老牌工具,功能成熟,但更偏向"搜索"而不是"理解"。Graphify 的价值在于关系发现,而不是关键词定位。两者定位不同,可以互补。

Obsidian + local REST API

很多人在 Obsidian 里管理知识笔记,但 Obsidian 本身没有从文档中自动提取关系的能力。Graphify 的 Obsidian 导出正是解决这个问题的——自动建立连接,而不是手动打 wikilink。

Mem 和 Notion AI

Mem 和 Notion 的 AI 功能更多是"总结"和"搜索",不是主动建立概念关系。Graphify 做的是结构化的图谱,而不是简单的语义相似度检索。

自定义知识图谱 pipeline

用 Neo4j + LLM 也可以搭一套类似的系统,但需要自己处理 AST 解析、文件遍历、缓存管理、导出格式等细节。Graphify 把这些都封装好了,一行命令搞定。


⚠️ 注意事项

需要 Claude Code

Graphify 本质上是一个 Claude Code 的 skill(/graphify 命令),必须配合 Claude Code 使用。没有 Claude Code 的话这个工具无法运行——它是 Claude Code 的插件,不是独立产品。

Python 3.10+ 环境

如果你的系统 Python 版本低于 3.10,需要先升级。或者使用 pipx 隔离安装,避免污染系统环境。

Token 压缩效果取决于语料规模

官方说的 71.5 倍压缩是在混合语料(Karpathy repos + 5 篇论文 + 4 张图片,共 52 个文件)上测得的。小规模语料(6 个文件)压缩比接近 1x,因为图谱本身也有结构开销。只有在较大规模的语料上,图谱的价值才明显。

关系推测有不确定性

INFERREDAMBIGUOUS 边是 Claude 推测出来的关系,可能存在幻觉。尤其是 --mode deep 下,推测会更激进但也更不可靠。使用时要注意边的来源标签,对推测关系保持审慎。

中文截图支持有限

Claude Vision 对中文的支持在进步,但多语言场景下仍可能遗漏关键概念。如果你的资料大量是中文技术文档,建议先测试一下提取效果。


✅ 总结

Graphify 是个很有意思的思路:用知识图谱做"结构性记忆",解决 LLM 直接读文件的 Token 开销和一次性消耗问题。71.5 倍压缩听起来很夸张,但在合适的场景(大规模代码库 + 论文 + 笔记混合)下确实是真实收益。

它的设计很克制:不需要数据库、不需要服务器,输出就是 HTML/JSON/markdown 文件,Obsidian 直接能用,Neo4j 也能接。这种"工具箱"思路比"平台"思路更实用。

限制也很明显:必须用 Claude Code,不是通用工具。但如果你已经是 Claude Code 用户,这个 skill 几乎是必装的——它让 Claude 对你的代码库有了"记忆",而不只是每次对话开一个新 context。

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