正在打开工具详情…
正在打开工具详情…
把代码库解析成可查询的知识图谱,让代理用 query / path / explain 代替 grep。代码部分走 tree-sitter 纯本地、不出机器;代价是文档与 PDF 那一路仍要调模型,且图要自己定期重建。
仓库大到代理每次都要花大量 token 重新定位代码的人;以及需要回答「A 和 B 之间怎么串起来的」这类跨文件问题的人。
小仓库或单文件项目——建图的开销大于 grep;也不适合指望它实时反映代码变化的人,图是快照,要自己重建。
Graphify 的思路是:别让代理一遍遍 grep 文件,把仓库先解析成一张图,之后查询都在这张图上做。代码部分用 tree-sitter 做 AST 解析——确定性、不用 LLM、数据不出本机,覆盖约 40 种语言的调用、导入、继承、mixin 关系。
它刻意不做向量索引:没有 embedding、没有向量库,是一张真的图,可以遍历。graphify query"..." 返回针对问题的子图,graphify path A B 追两个东西之间怎么连上,graphify explain X 解释一个概念。它还算 God nodes(最连接的概念)、用 Leiden 做社区划分,并把 # NOTE: / # WHY: 注释和 ADR / RFC 引用也做成节点挂到代码上。
最值得称道的一点:每条边都带 `EXTRACTED` 或 `INFERRED` 标签,你能分清哪些是源码里明写的、哪些是它推出来的。这比 RAG 那种「相似度命中一段代码」可信得多。
代价也要说:语义那一层(文档、PDF、图片、视频音频)仍然要调模型,只有你配了后端才跑;图是快照,代码改了就得重建,不是实时同步;项目在推付费的 Graphify Cloud 做常驻与跨仓库,开源 CLI 没有这部分。另外包名是 graphifyy(两个 y),装错会拿到别人的包。
上手步骤之外的具体做法:常见场景怎么配、命令怎么写、报错怎么处理。
按第一次用会卡在哪讲:包名为什么是两个 y、装技能与建图是两步、三个产物分别怎么用、以及 EXTRACTED 与 INFERRED 该怎么看。
这是第一个坑,也是最浪费时间的一个:
bashuv tool install graphifyy # 包名:graphifyy
graphify install # 命令:graphifyPyPI 上其他 graphify* 包都与本项目无关。装完如果 graphify 找不到,跑 uv tool update-shell 刷新 PATH。
需要 Python 3.10+。装 uv(推荐)或 pipx:
bash# macOS
brew install python@3.12 uv
# Windows
winget install astral-sh.uvgraphify install 只是把技能注册给你的 agent(Claude Code、Cursor、Codex、Gemini CLI、Copilot 等 20+ 个平台),这一步不建图。
建图是在 agent 里说的:
text/graphify .产出一个目录、三个文件:
textgraphify-out/
├── graph.html 浏览器打开,点节点、过滤、搜索
├── GRAPH_REPORT.md 要点:关键概念、意外连接、建议提问
└── graph.json 完整图,之后查询不必再读文件先看 GRAPH_REPORT.md,它是给人看的部分;graph.html 适合自己顺着边走一遍。
graph.json 里带 graph.schema_version 和 graph.graphify_version,集成时先检查 schema 版本,格式变了要重建。
bashgraphify explain "APIRouter"
graphify path "FastAPI" "ModelField"
graphify query "认证是怎么串起来的"explain 的输出长这样:
textNode: APIRouter
Source: routing.py L2210
Community: 2
Degree: 47
Connections (47):
--> RequestValidationError [uses] [INFERRED]
--> .get() [method] [EXTRACTED]
<-- __init__.py [imports] [EXTRACTED]看标签。 EXTRACTED 是源码里明写的,INFERRED 是 Graphify 解析推出来的。看到一条关键结论主要靠 INFERRED 支撑时,自己回去核对一遍源码,不要直接写进代码。
默认 graphify install 装到用户级。要装进仓库:
bashgraphify install --project
graphify install --project --platform codex文件会落在 .claude/skills/graphify/SKILL.md 或 .agents/skills/graphify/SKILL.md,可以 git 提交,团队共用同一份配置。
三件事别指望:
跨仓库、常驻更新、形式化验证这些属于付费的 Graphify Cloud,开源 CLI 没有。