把整个项目映射成可查询的知识图谱,而不是 grep
Graphify-Labs/graphify
YC S26,Apache-2.0,12 万 star,主语言 Python 3.10+。/graphify . 把代码、文档、PDF、图片、视频映射成一张图,产出可点击的 graph.html、人类可读的 GRAPH_REPORT.md 与机器可读的 graph.json;代码走 tree-sitter AST 解析(约 40 种语言),确定性、不调 LLM、不出机器。
我们的判断最有价值的设计是每条边都标 EXTRACTED 或 INFERRED——你能分清哪些是源码里显式存在的、哪些是它推断出来的,agent 的结论因此可以被审计,这在生产环境是硬需求。它不是向量索引:没有 embedding、没有向量库,是一张真图,可以 explain、path、query。自测 benchmark 里建图零 LLM 花费、ingest 便宜一个量级,那是本地解析带来的结构性优势。
uv tool install graphifyy && graphify install一句话:把项目变成可以查询的图,而不是 grep
在 AI 编码助手里输入 /graphify .,它把整个项目——代码、文档、PDF、图片、视频——映射成一张知识图谱,之后你可以查它,而不是在文件里 grep。119,837 stars / 11,587 forks,Apache-2.0,YC S26,主语言 Python(3.10+)。
三条设计决策把它和「又一个 RAG」区分开,README 自己写得很硬:
- 代码映射免费且完全本地:代码走 tree-sitter AST 解析,确定性、不调 LLM、不出机器(约 40 种语言)。文档 / PDF / 图片 / 视频才用助手的模型或配置的 API key 做语义处理。
- 每条边都可解释:连接被标为
EXTRACTED(源码里显式存在)或INFERRED(graphify 推断出来的),你能分清哪些是读到的、哪些是猜的。 - 不是向量索引:没有 embedding,没有向量库,是一张真的可遍历的图。可以提问、可以追两个东西之间的路径、可以解释单个概念。
第二条是我们最看重的。多数知识索引给你的是相似度分数,你无法追问「凭什么」;EXTRACTED/INFERRED 的二分让 agent 的结论可以被审计——这在生产环境里是硬需求。
产出物与 CLI
graphify-out/
├── graph.html # 力导向图,可点击,带社区图例
├── GRAPH_REPORT.md # 人类可读的项目结构报告
└── graph.json # 机器可读,给下游工具用
CLI 三个主要动词:explain(解释一个概念)、path(追两个节点之间的路径)、query(提问)。图分析侧它会找 god nodes(超高入度的枢纽,通常就是架构风险点),用 Leiden 做社区发现并给出不依赖 LLM 的社区标签。一个细节我很喜欢:源码里的 # NOTE:、# WHY: 注释和 ADR 引用会被提升成图节点——也就是把设计意图纳入可检索结构,而不只是把符号表建出来。
它自己公布的 benchmark(含口径)
| 指标 | graphify | 对照 |
|---|---|---|
| LOCOMO recall@10 | 0.497 | mem0 0.048 · BM25 0.362 |
| LOCOMO QA | 45.3% | — |
| LongMemEval-S | 76% | 与最优并列 |
| 建图 LLM 花费 | $0 | — |
| ingest 成本 | $1.40 | supermemory $15.67 |
口径也写了(BENCHMARKS.md):同一套 harness、Kimi K2.6、盲评、评审一致性 κ=0.81。这是厂商自测,我们照实转述不当独立验证,但它至少把评测条件公开了——比只贴一张柱状图的强得多。真正有意思的数字是最后两行:建图零 LLM 花费、ingest 便宜一个量级,这是 tree-sitter 本地解析带来的结构性优势,不是调参调出来的。
安装
uv tool install graphifyy && graphify install
注意 PyPI 包名是 graphifyy(两个 y)。graphify install 会把 /graphify 注册进你各个 AI 编码助手;支持 Claude Code、Codex、Cursor、Gemini CLI。
商业模式要说清楚:仓库本身 Apache-2.0 可用,同时它在推 app.graphify.com 的托管平台(early access),卖点是「常驻后台、跨代码/文档/会议持续更新」,而 CLI 是按需触发。想要 always-on 就得用平台,想要本地免费就用 CLI。