Graphify 是 GitHub 上最火的「代码知识图谱」工具,干的事是 GraphRAG for coding agents:在你的 AI coding assistant 里敲 /graphify,它把整个项目(代码、文档、PDF、图片、视频)映射成一张知识图谱,让你查图谱而不是 grep 文件。截至 2026 年 7 月底,97,207 颗星、9,417 个 fork、Apache-2.0 协议、纯 Python,最新版 v0.9.28,项目 2026 年 4 月 3 日创建,三个月冲到近 10 万星,YC S26 批次。和传统 RAG 的根本分野:不做 embedding、不建向量库,而是用 tree-sitter 把代码 AST 解析成真实的图,节点是概念,边是 calls/imports/inherits 关系,你 traverse 它而不是算余弦相似度。
解决什么痛点
接手过陌生大型代码库的人都踩过这些:grep 找一个函数,几十个文件命中,不知道哪个是入口、谁调谁;IDE 的 find references 给你一张扁平列表,跨模块的调用链得自己手动拼;新人 onboarding 啃几万行代码,两周还没摸清架构边界;AI coding assistant 读项目靠塞 context,token 烧完了还没搞清模块怎么连的;想做架构审查,模块边界、耦合热点全靠拍脑袋。Graphify 把这些一次性解决:跑一次 /graphify,它用 tree-sitter 把全部代码解析成图,跑 Leiden 社区检测切出子系统,标出「上帝节点」(连接最多的概念),把 # NOTE:/# WHY: 注释和 ADR/RFC 文档提成一等节点挂到代码上。你不用再读文件,直接查图谱:问一句、追两个东西的路径、解释一个概念,都对着 graph.json 跑。
代码知识图谱:tree-sitter 解析 + Leiden 社区检测
这是它的核心架构。代码解析走 tree-sitter AST,覆盖 36 套语法、约 40 种语言(.py .ts .js .go .rs .java .c .cpp .rb .cs .kt .php .swift .lua .ex .vue .svelte .dart .v .sql .pas .sh .json 等),完全确定性、不调 LLM、数据不出本机——一个纯代码库不需要任何 API key,graphify extract 全程离线跑。跨文件关系靠 AST 解析出 calls/imports/inherits/mixes_in 四类边,跨 40 种语言打通。图谱建好后跑 Leiden 社区检测把节点切成子系统色块(--resolution 1.5 可调粒度,更细更碎),并自动给社区命名。每条边都带置信标签:EXTRACTED(源码里直接读到的)或 INFERRED(graphify 解析推断的),你能一眼分清哪些是确定的、哪些是推的。节点层面有「上帝节点」——连接数最高的概念,告诉你整个项目什么最关键。文档、PDF、图片、视频则走另一条路:交给你的 AI assistant 模型或配置的 API key 做语义提取,结果汇进同一张图。
查询、路径、解释 + MCP server
图谱建好不是用来看的,是用来查的。三个核心命令对着 graph.json 跑:graphify query "什么把 auth 连到数据库?" 返回一个 scope 好的子图答你的自然语言问题;graphify path "UserService" "DatabasePool" 追两个东西之间的最短路径,逐跳显示经过哪些节点;graphify explain "APIRouter" 给一个节点的全貌——来源文件、所属社区、度数、所有连接边及标签。每条边都标 EXTRACTED/INFERRED,路径输出也带标签,你能看到哪一跳是实打实的代码关系、哪一跳是推断的。要给 agent 重复调用,起 MCP server:python -m graphify.serve graphify-out/graph.json,暴露 query_graph、get_node、get_neighbors、shortest_path、list_prs、get_pr_impact、triage_prs 七个工具。默认 stdio 本地一个开发者用一个进程,加 --transport http --host 0.0.0.0 --api-key $SECRET 就能起共享 HTTP server,整个团队 IDE 都指同一个 URL,本地不用装 graphify。PR 场景还有 graphify prs 看图谱影响面、--triage 让 AI 排你的 review 队列、--conflicts 找共享社区的 PR(合并顺序风险)。
20+ AI 助手集成 + 多模型后端
集成面是它最厚的地方。graphify install 一步把 skill 注册进你的 AI assistant,支持 20+ 平台:Claude Code、Codex、OpenCode、Kilo Code、GitHub Copilot CLI、VS Code Copilot Chat、Aider、OpenClaw、Factory Droid、Trae、Trae CN、Gemini CLI、Hermes、Kimi Code、Amp、Agent Skills(跨框架)、Kiro、Pi、Cursor、Devin CLI、Google Antigravity。加 --project 装进当前仓库(写 .claude/skills/graphify/SKILL.md 之类),加 --strict(仅 Claude Code)让 assistant 真的用图:默认装法只是「提醒」先查图再读文件,strict 模式直接拦截会话里第一次裸读源码并重定向到图谱,然后回退到提醒,最多触发一次不会卡死。语义提取的后端随便换:--backend 接 gemini/kimi/claude/openai/deepseek/ollama/bedrock/azure/claude-cli,数据驻留敏感的走 --backend ollama 全本地,路由优先级是 Gemini→Kimi→Claude→OpenAI→DeepSeek→Azure→Bedrock→Ollama 自动按哪个 key 设了来选。基准跑得硬:LOCOMO(n=300)recall@10 拿 0.497(mem0 0.048、supermemory 0.149),LongMemEval-S(n=50)QA 准确率 76% 和 dense RAG 并列第一,建图 LLM credits 消耗 0(纯代码全程无 LLM 调用)——双 judge 盲评,一致率 90.6%,Cohen's kappa 0.81。
三分钟上手
# 1. 装(Python >= 3.10)
uv tool install graphifyy # 推荐(或 pipx install graphifyy)
# 2. 注册 skill 到你的 AI assistant
graphify install
# 3. 在 Claude Code / Cursor / Codex / Gemini 里
/graphify .产出三个文件:graph.html(浏览器打开点节点、筛选、搜索)、GRAPH_REPORT.md(摘要:上帝节点、意外连接、建议问题)、graph.json(完整图谱,随时查)。纯代码库无需 API key,全程本地;要纳入文档/PDF/图片/视频才配 key 跑语义提取。
适合谁 + 五个踩坑
适合:接手陌生大型代码库要快速摸清架构的人;跨语言、跨模块追调用链的人;做架构审查、要看模块边界和耦合热点的人;想让 AI coding assistant 先查图谱再读文件、省 token 又准的人。
踩坑记五条。一是包名带双 y:PyPI 上是 graphifyy 不是 graphify,uvx graphify 直接报 No solution found,要写 uvx --from graphifyy graphify install。二是装完 command not found:uv tool install/pipx install 把命令放进 ~/.local/bin,新 macOS/zsh 常没这路径,跑 uv tool update-shell 或 pipx ensurepath 再开新终端。三是 PowerShell 里别用 /graphify .:斜杠是路径分隔符,要写 graphify .(不带斜杠)。四是 Claude Code 的 prompt cache 被打爆:graphify 把 graph.json、graphify-out/ 写进工作区,没 ignore 的话每次写入都失效缓存、下一轮全量重传,加进 .claudeignore。五是重构后图谱节点变少:删了文件旧节点会残留,--update 后跑 --force(或 GRAPHIFY_FORCE=1)强制覆盖。
和竞品比
和 RAG/向量搜索比,本质是「找相关片段」对「理解结构」:RAG 算余弦相似度给你一堆片段,graphify 给你一张可遍历的图和节点间的路径,前者答「这段代码在哪写过」,后者答「这个概念和哪些模块相关、怎么连起来」,两者不冲突可叠加。和 mem0/supermemory 这类记忆层比,LOCOMO recall@10 它 0.497 对 mem0 的 0.048、supermemory 的 0.149,优势是数量级;但 QA 准确率它 45.3% 低于 supermemory 的 49.7%,长程记忆问答不是它强项。和 codebase-memory-mcp、cline memory 这类代码上下文工具比,它最大的差异是图谱可遍历(query/path/explain 三个命令)+ Leiden 社区检测给模块边界 + 20+ 助手原生集成 + 纯代码零 LLM 成本,而那些多是「存上下文给 agent 读」的扁平记忆。一句话:要让 agent 理解项目结构而不只是读片段、还要图谱可查可遍历、代码全程本地零成本,选 Graphify。
参考来源
- Graphify GitHub 仓库(97,207 star,Apache-2.0,Python):https://github.com/Graphify-Labs/graphify
- 官方文档与 README(tree-sitter AST + Leiden + MCP + 20+ 助手集成):https://github.com/Graphify-Labs/graphify#readme
- 基准测试 BENCHMARKS.md(LOCOMO recall@10 0.497,LongMemEval-S 76%,双 judge kappa 0.81):https://github.com/Graphify-Labs/graphify/blob/v8/BENCHMARKS.md
- PyPI 包 graphifyy(
uv tool install graphifyy):https://pypi.org/project/graphifyy/ - Trendshift 仓库徽章:https://trendshift.io/repositories/25296