接手一个陌生仓库,最费劲的往往不是找某个函数,而是弄清楚它和别的模块怎么连在一起。让 AI 帮忙读代码,也常会绕回反复搜索、打开文件这套流程。
Graphify 做的是给项目建一张可查询的知识图谱:代码里的调用、导入、继承关系能串起来,文档和 PDF 也可以放进同一张图。它提供命令行工具和编程助手 Skill,支持 Claude Code、Cursor 等工具,适合拿来梳理陌生代码库。
关系能查,也能追来源
代码部分用 tree-sitter 解析语法树,在本机完成,不需要调用大模型,也不需要先搭向量数据库。
图中的关系会标注 EXTRACTED 或 INFERRED:前者是源文件中明确提取出的关系,后者是经过解析、关联推导出来的关系。看到一条连接时,可以分清它是直接读到的,还是工具推出来的。这比只得到一段解释更方便核查,但推导标记本身不代表结果一定正确。
建好图以后,可以解释一个符号、查两个对象之间的路径,或者用自然语言取回相关的子图。对需要追模块依赖、梳理调用关系的人来说,这比单纯把代码画成一张漂亮大图更实用。
项目提供了 FastAPI 代码库的图谱示例。生成的 graph.html 可以在浏览器中打开,点击节点、搜索和筛选;同时还会得到 GRAPH_REPORT.md 和完整的 graph.json,后续查询可以继续使用这份图。
怎么开始
需要 Python 3.10 或更新版本,以及 uv;也可以用 pipx 安装。以 uv 为例:
uv tool install graphifyy
graphify install
注意包名是 graphifyy,末尾有两个 y;装好之后的命令仍然是 graphify。
进入要分析的项目,在支持的编程助手中执行:
/graphify .
图生成后,可以在命令行查询。下面两个是项目给出的 FastAPI 示例,换成自己的仓库时要替换符号名称:
graphify explain "APIRouter"
graphify path "FastAPI" "ModelField"
前一条看某个符号的来源和连接,后一条查两个对象之间的路径。输出目录默认为 graphify-out/。
适合用在哪里
接手老项目、准备重构一个不熟的模块,或者让编程助手先理解仓库结构,都可以考虑这种方式。它的价值在于把关系保存下来,后面能接着查,而不是每次从搜索文件重新开始。
有一个边界要分清:代码的 AST 解析在本地完成,不等于所有输入都完全离线。文档、PDF、图片和音视频的语义处理会使用编程助手的模型或配置的模型后端。涉及私有资料时,要先确认使用哪条处理路径。
开源 CLI 和 Graphify Cloud 也不是一回事。想先研究本地代码图谱,可以从 CLI 入手,不必把云服务的功能和效果算到本地工具头上。
项目信息
- 主要语言:Python
- License:Apache-2.0
- Star:截至 2026-10-22 约 13.2 万
- GitHub:GitHub - Graphify-Labs/graphify: Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store. · GitHub
- 官网:https://www.graphify.com
- 使用指南:https://docs.graphify.com
