跳转到内容
全部开发指南

graphify:把代码库、PDF 和笔记变成可提问的知识图谱,给 Claude Code 等 AI 编程工具用

AIGoCode发布于 更新于

graphify:把代码库、PDF 和笔记变成可提问的知识图谱,给 Claude Code 等 AI 编程工具用 封面

手里有个塞得很满的文件夹:几十个代码文件,几篇 PDF 论文,一堆 Markdown 笔记,还有随手截的架构图和白板照片。你知道这些东西之间有联系,但具体谁连着谁,早就理不清了。

想让 AI 帮忙梳理,把这一堆全喂进去,上下文窗口很快就满,token 消耗也大,答得还未必准。graphify 要解决的就是这个问题。它是一个装进 AI 编程助手里的 Skill,在助手里输入 /graphify,就会把当前文件夹里的代码、文档、PDF、图片甚至视频读一遍,建成一张知识图谱,之后你可以直接对图谱提问,而不是每次都让助手重新翻文件。

截至 2026 年 11 月,graphify 的 GitHub 仓库 star 数超过 14 万,协议是 Apache-2.0。这篇文章讲它能处理什么、怎么安装、建图之后怎么查,以及它的数据会去哪里。

graphify 是什么

graphify 的定位是:把一堆资料变成一张可以查询的知识图谱。图谱里每个节点是一个概念、函数或文档片段,每条边是它们之间的关系,例如调用、引用、继承或语义相似。

和常见的向量检索不同,官方 README 写明它不使用 embedding,也没有向量库,存下来的是一张可以遍历的图。你可以问一个问题,可以查两个概念之间的路径,也可以让它解释某一个节点。

graphify 原文配图 2

支持的助手也不止一个。README 写的是 Claude Code、Cursor、Codex、Gemini CLI、GitHub Copilot 等 20 多种工具,在 macOS、Linux 和 Windows 上都能用。

它能处理哪些资料

  • 代码:用 tree-sitter 做 AST 解析,README 写的是覆盖约 40 种语言,把函数、调用、导入、继承等关系解析出来。这一步是确定性的,不调用大模型,代码也不会离开本机。
  • 文档和 Markdown:提取里面的概念和概念之间的关系。
  • PDF 和图片:通过助手的模型做语义提取,把截图、架构图里的内容接进同一张图。
  • 音频和视频:用 faster-whisper 在本地转写后再并入图谱。

不管原来是代码还是图片,最后都落成同一张图上的节点和边。

安装与第一次建图

graphify 需要 Python 3.10 或更高版本,官方推荐用 uv 或 pipx 安装。注意 PyPI 上的官方包名是 graphifyy(两个 y),其他名字里带 graphify 的包与项目无关。

uv tool install graphifyy
graphify install

如果你习惯用 pipx,把第一行换成 pipx install graphifyy 即可。graphify install 会检测你在用哪个助手,并把 Skill 注册进去。

装好后,在助手里打开要分析的目录,输入:

/graphify .

跑完之后,当前目录下会多出一个 graphify-out 文件夹,里面有三个主要文件:

  1. graph.html:可以在浏览器里打开的交互图,能点节点、搜索、按社区筛选。
  2. GRAPH_REPORT.md:摘要报告,列出连接最多的核心节点、意外的连接,以及这张图适合回答的问题。
  3. graph.json:完整的图数据,之后随时可以查询,不必重新读文件。

不同助手的安装方式略有区别。例如 Codex 用 graphify install --platform codex,在 Codex 里调用时写 $graphify,不是斜杠;Cursor 用 graphify cursor install。Codex 用户还需要在 ~/.codex/config.toml 的 [features] 下设置 multi_agent = true,才能并行提取。其余平台的命令见 README 里的平台表。

建完图之后怎么查

图建好之后,常用的是三个查询命令:

/graphify query "认证模块和数据库之间是怎么连起来的?"
/graphify path "UserService" "DatabasePool"
/graphify explain "RateLimiter"
  • query 针对一个自然语言问题,返回相关的子图;
  • path 追踪两个事物之间的最短路径,并给出整条路径的置信度,也就是最弱一跳的置信度;
  • explain 解释一个节点,列出它的来源位置和所有连接。

如果一个名字对应多个节点,graphify 会拒绝猜测,把候选项列出来让你选。脚本里调用时,退出码 0 表示有答案,3 表示名字有歧义,4 表示没有匹配的节点。

往图里追加资料也很直接。例如把一篇论文链接加进去:

/graphify add https://arxiv.org/abs/1706.03762

目录内容有变化时,用 /graphify ./docs --update 只重新提取改动过的文件。想生成一份 Markdown 知识库,可以加 --wiki。

它能省多少 token,要看语料

graphify 的价值有两层。一层是结构:文件不多的时候,它的作用主要是把关系理清楚,省 token 的效果并不明显。另一层是文件多而杂的时候,助手不用把所有原文塞进上下文,而是针对问题取一个子图,读的内容就少得多。具体能省多少取决于语料,所以没有一个固定倍数。

官方 README 给的基准可以作为参考。在 ERPNext 的跨工具测试里(n=6),graphify 的关键事实覆盖率是 82.0%,用 grep 加读文件的基线是 70.8%。同一张表里还写明,“图谱构建的 LLM 额度”一项写的是 0。需要注意,文档、PDF 和图片的语义提取仍然要用到助手的模型,见下文的数据说明。完整的对比表和复现命令都在仓库的 BENCHMARKS.md 里,建议自己跑一遍再决定要不要用在大项目上。

如果你的需求只是让 Claude Code 读代码少花一点 token,也可以对比另一个更轻量的思路:Claude Code 读代码太费 token 怎么办?用 CodeGraph 给项目建一张本地代码图谱。

每条边的可信度,和让图保持最新

每条边都带标签。 图谱里的每条连接都会标记置信度:EXTRACTED 表示直接从源文件里读到的,INFERRED 表示由 graphify 推断出来的,AMBIGUOUS 表示不确定、会在报告里提示你人工复核。这样你一眼就能分清哪些是硬证据,哪些是推断。

图可以跟着代码更新。 官方提供两种做法:

  • 运行 graphify hook install,在每次 commit 和切换分支后自动重建。README 提醒,执行 git pull 之后要手动运行一次 graphify update .。
  • 安装 watch 可选依赖后运行 graphify watch,文件变化时自动重建。代码部分走 AST,不调用大模型,所以速度快。

想让助手默认先查图,可以在项目里运行一次 graphify claude install 或 graphify codex install。它会写入一小段配置,让助手遇到代码库问题时优先用 graphify query,而不是直接翻全部文件。

你的数据会去哪里

这是用之前最值得弄清楚的一点,官方 README 的隐私部分写得比较细:

  • 代码文件:只在本地用 tree-sitter 处理,不会发出去。只有代码的语料,graphify extract 可以完全离线运行,不需要 API Key。
  • 文档、PDF、图片:会发给你的 AI 助手做语义提取,用的是当前会话里的模型。在命令行里单独跑 graphify extract 时,需要配置某一家模型服务的 API Key,或使用本地的 Ollama。
  • 音频和视频:在本机用 faster-whisper 转写。
  • 遥测:README 写的是没有遥测、没有使用追踪。
  • 查询日志:每次 query、path、explain 都会记到 ~/.cache/graphify-queries.log,包含时间、问题和返回的节点数,不保存完整结果。可以设置 GRAPHIFY_QUERY_LOG_DISABLE=1 关闭。

对有数据驻留要求的代码库,官方建议用 --backend ollama 走本地模型。

另外要知道,项目作者还提供了一个托管版本 Graphify Cloud,官方页面写有 14 天免费试用。本文介绍的是开源的本地命令行和 Skill,两者是分开的。

适合谁用,有哪些限制

  • 适合:用 AI 编程助手啃大项目的人。助手最怕不了解全貌,改一个函数漏掉几个依赖,有一张关系图能帮它看清仓库的骨架。
  • 适合:做研究、整理资料的人。把论文、笔记、截图放进同一个文件夹,直接对着图提问,比在几十个文件之间来回翻要快。
  • 限制:文档、PDF 和图片的提取依赖助手的模型,这部分有 token 消耗,也不是完全离线。
  • 限制:同一个扩展名在不同项目里可能代表不同语言,比如 .inc 或 .h。README 建议在项目根目录的 .graphifyrc 里声明,否则可能被当成错误的语言解析,图看起来有内容,真正的符号却缺失。
  • 限制:生成 graph.html 时默认的节点上限是 5000,超过后会改成按社区聚合的视图。

整体来看,graphify 不用改你的工作流,装上之后就是多了一个让助手理解全貌的能力。手头有大项目,或者一堆杂乱资料想理清楚,可以先在一个小目录上跑一次,看 GRAPH_REPORT.md 里的结论是否有用,再决定要不要推广到整个仓库。

如果你在 AIGoCode 上接入了 Claude Code 或 Codex,按上面的两条命令就能装上 graphify,在自己的项目里试一试。另外,想比较不同的代码知识图谱方案,可以看 GitNexus 与 DeepWiki 怎么选,代码知识图谱与仓库文档的用途对比。

参考链接

graphify:把代码库、PDF 和笔记变成可提问的知识图谱,给 Claude Code 等 AI 编程工具用