技能介绍
在 AI 编程助手里输入 /graphify,它会把整个项目(代码、文档、SQL Schema、配置、PDF、图片、视频)映射成一张知识图谱,让你用查询代替翻文件。
- 代码建图免费、完全本地。 代码用 tree-sitter AST 解析:确定性、不用 LLM、数据不出你的机器。(文档、PDF、图片、视频使用你助手的模型,或配置的 API key,做一次语义抽取。)
- 每条边都有解释。 每个连接都标注
EXTRACTED(源码中显式存在)或INFERRED(由 graphify 解析推断),可以区分直接读到的与推断出来的。 - 不是向量索引。 没有 embedding、没有向量库:是一张真正可遍历的图。提问、追溯两个事物之间的路径、或解释某个概念都可以。
官方 PyPI 包名是 graphifyy(双 y),CLI 命令仍是 graphify;官方源仓库为 https://github.com/Graphify-Labs/graphify 。一次安装适配 Claude Code、Cursor、Codex、Gemini CLI、GitHub Copilot 等 20+ 助手平台,覆盖 macOS、Linux、Windows。
适用场景
- 不想 grep 或通读文件,想直接提问、追溯两个概念之间的连接路径、或解释某个概念。
- 快速了解一个陌生代码库:
GRAPH_REPORT.md给出关键概念、意外连接与建议问题。 - 团队把图谱提交共享,让所有人查询同一份上下文,并带图谱上下文做 PR 评审。
- 把论文、PDF、视频等资料加进同一张图一并查询(
/graphify add)。
核心能力
| 能力 | 说明 |
|---|---|
| 枢纽节点(God nodes) | 连接最多的关键概念,看清所有东西流经哪里 |
| 社区(Communities) | 图谱拆分成子系统(Leiden 算法),生成不依赖 LLM 的标签 |
| 跨文件连接 | calls / imports / inherits / mixes_in,经 tree-sitter AST 跨约 40 种语言解析 |
| 查询 / 路径 / 解释 | 提问、追溯两物之间的路径、解释单个概念,全部针对 graph.json |
| 理由与文档引用 | # NOTE: / # WHY: 注释与 ADR/RFC 引用成为一等节点并与代码相连 |
| 超越代码 | 文档、PDF、图片、音视频都映射进同一张图 |
| 本地优先 | 代码本地解析(无 LLM、不出本机);仅文档/媒体的语义抽取在配置后端后才调用 |
官方基准(所有系统同一测试框架、同一模型与预算,评分器经第二评分器盲验,一致率 90.6%):LOCOMO(n=300)recall@10 0.497、LongMemEval-S(n=50)QA 准确率 76%(与稠密 RAG 持平)、建图 LLM 额度消耗 0。
效果预览

graphify 为 FastAPI 代码库生成的图谱:每个节点是一个概念,颜色是检测出的社区,整张图可在 graph.html 里点击交互。

图谱建好后直接查询而不是读文件。以下是在上面这个 FastAPI 代码库上运行 graphify 的真实输出:
$ graphify explain "APIRouter"
Node: APIRouter
Source: routing.py L2210
Community: 2
Degree: 47
Connections (47):
--> RequestValidationError [uses] [INFERRED]
--> Dependant [uses] [INFERRED]
--> .get() [method] [EXTRACTED]
<-- __init__.py [imports] [EXTRACTED]
...
$ graphify path "FastAPI" "ModelField"
Shortest path (3 hops):
FastAPI --uses--> DefaultPlaceholder <--references-- get_request_handler() --references--> ModelField每条边都带置信标记(EXTRACTED = 源码显式存在,INFERRED = 解析推断得出)。graphify query "" 针对一个自然语言问题返回限定范围的子图,graphify path A B 追溯任意两个事物如何相连。
工作方式
一次运行产出三个文件:
graphify-out/
├── graph.html open in any browser: click nodes, filter, search
├── GRAPH_REPORT.md the highlights: key concepts, surprising connections, suggested questions
└── graph.json the full graph: query it anytime without re-reading your files- 持久化的图包含
graph.schema_version(供集成方检测不兼容的格式变更)与graph.graphify_version(产出该图的 Graphify 版本)。 - 代码经 tree-sitter AST 本地确定性抽取,社区划分用 Leiden 算法,每条边带
EXTRACTED/INFERRED置信标记。 - 隐私:代码文件全部本地处理,不出机器;纯代码语料无需 API key,
graphify extract完全离线;混合仓库可加--code-only只索引代码、跳过需要 LLM 的文档/PDF/图片。音视频用 faster-whisper 本地转写。无遥测、无使用追踪、无统计分析。 - 忽略规则遵循
.gitignore,并支持--exclude与项目级.graphifyignore;项目配置写.graphifyrc(一行一个key=value,#开头是注释,可声明.inc/.h/.m等模糊扩展名对应的语言)。 - 常驻使用:在项目里运行一次
graphify install(如graphify claude install),写入小配置让助手回答代码库问题时优先查图。Hook 平台(Claude Code、Gemini CLI)会在搜索类工具调用前自动引导查图;指令文件平台(Codex、OpenCode、Cursor 等)通过AGENTS.md、.cursor/rules/等持久指令实现同样的「先查图」策略。卸载用graphify uninstall(加--purge连graphify-out/一起删)。 - 查询日志:每次
graphify query/path/explain与 MCPquery_graph调用会以 JSON Lines 记到~/.cache/graphify-queries.log(时间戳、问题、语料、返回节点数、耗时),默认不存完整子图;设GRAPHIFY_QUERY_LOG_DISABLE=1可关闭。
你需要提供
- Python 3.10+,以及 uv(推荐)或 pipx。
- 一个要建图的项目目录。
- 只建代码图不需要任何 API key;若要对文档、PDF、图片做语义抽取,无头运行
graphify extract需要任一后端:GEMINI_API_KEY/MOONSHOT_API_KEY/ANTHROPIC_API_KEY/OPENAI_API_KEY/DEEPSEEK_API_KEY、Ollama(OLLAMA_BASE_URL)、AWS Bedrock(走 IAM,无需 key)或claudeCLI;也可以直接用/graphify技能走 IDE 会话里的助手模型。按设置的 key 自动选后端(优先级 Gemini → Kimi → Claude → OpenAI → DeepSeek → Azure → Bedrock → Ollama),并打印选中后端所依据的环境变量。
你会获得
- 三个文件:
graph.html(浏览器交互图谱:点击节点、过滤、搜索)、GRAPH_REPORT.md(重点摘要:关键概念、意外连接、建议问题)、graph.json(完整图谱,之后随时查询、不必重读文件)。 - 三个查询命令:
graphify query ""(自然语言问限定子图)、graphify path A B(追溯路径)、graphify explain(解释单个概念)。名称匹配到多个节点时列出候选而不是乱猜;退出码0有答案、3名称歧义、4无匹配节点。 - 额外产出:
graphify export callflow-html(Mermaid 架构/调用流 HTML,装了 hook 会在每次 git commit 后自动重新生成)、/graphify . --wiki(从图谱生成 Markdown wiki)、graphify merge-graphs a.json b.json(合并多张图)、graphify prs(PR 仪表盘:CI 状态、评审状态、worktree 映射)。
使用示例
安装(30 秒开始,需要 Python 3.10+ 与 uv 或 pipx):
uv tool install graphifyy # install the CLI (or: pipx install graphifyy)
graphify install # detects your assistant and registers the skill然后在 AI 助手里:
/graphify .常用命令(Codex 用户用 $graphify 代替 /graphify):
/graphify . # build graph for current folder
/graphify ./docs --update # re-extract only changed files
/graphify . --cluster-only # rerun clustering without re-extracting
/graphify . --cluster-only --resolution 1.5 # more granular communities
/graphify . --cluster-only --exclude-hubs 99 # suppress utility super-hubs from god-node rankings
/graphify . --no-viz # skip the HTML, just the report + JSON
/graphify . --wiki # build a markdown wiki from the graph
graphify export callflow-html # Mermaid architecture/call-flow HTML (auto-regenerates on every git commit if hook is installed)
/graphify query "what connects auth to the database?"
/graphify path "UserService" "DatabasePool"
/graphify explain "RateLimiter"
/graphify add https://arxiv.org/abs/1706.03762 # fetch a paper and add it
/graphify add <youtube-url> # transcribe and add a video
graphify hook install # auto-rebuild on commit + branch checkout (run `graphify update .` after `git pull`: see "Recommended workflow" below)
graphify merge-graphs a.json b.json # combine two graphs
graphify prs # PR dashboard: CI state, review status, worktree mapping
graphify prs 42 # deep dive on PR #42 with graph impact
graphify prs --triage # AI ranks your review queue (uses whatever backend is configured)
graphify prs --conflicts # PRs sharing graph communities: merge-order risk可选扩展按需安装(如 uv tool install "graphifyy[pdf]"):pdf(PDF 抽取)、office(.docx/.xlsx)、video(音视频转写)、mcp(MCP stdio server)、sql(SQL schema 抽取)、neo4j/falkordb(图数据库推送)、ollama/openai/anthropic 等(LLM 后端)、chinese(中文查询分词),全部装 graphifyy[all]。



