什么是 Graphify
Graphify(safishamsi/graphify)是一个 AI 编码助手 Skill,基于 Karpathy 的 LLM Wiki 思路开发。它能将任意文件夹中的代码、文档、论文、图片转化为可查询的知识图谱,帮助 AI 理解代码库的结构和关系。
GitHub:https://github.com/safishamsi/graphify
“Type /graphify — it reads your files, builds a knowledge graph, and gives you back structure you didn’t know was there.”
核心特点
支持多种文件类型
- 代码:19 种编程语言(Python, JS, TS, Go, Rust, Java, C, C++, Ruby, C#, Kotlin, Scala, PHP, Swift, Lua, Zig, PowerShell, Elixir, Objective-C)
- 文档:PDF、Markdown
- 图片:截图、架构图、白板照片(Claude Vision 提取)
- 其他语言:19 种语言代码均支持 tree-sitter AST 解析
支持多种 AI 工具
- Claude Code
- Codex
- OpenCode
- OpenClaw
- Factory Droid
智能预热机制
Graphify 不是每次提问都重跑分析,而是:
- 构建一次知识图谱,写入
graphify-out/GRAPH_REPORT.md - 在
CLAUDE.md中注册规则,让 AI 每次回答架构问题前先读图谱 - Claude Code 用户还会在每次 Glob/Grep 调用前触发 PreToolUse hook,自动检查图谱
安装方法
方式一:直接通过 npm 运行
|
|
方式二:克隆到本地
|
|
OpenClaw 中使用
对于 OpenClaw,Graphify 使用 sequential extraction(顺序提取)模式,不需要额外的 hook 配置,直接调用 Skill 即可。
使用流程
第一步:在目标项目目录运行
|
|
Graphify 会:
- 递归扫描目录下所有支持的文件
- 对代码文件使用 tree-sitter 提取 AST 结构和语义关系
- 对文档/图片使用 Claude Vision 提取概念和关系
- 生成
graphify-out/目录,包含知识图谱数据
第二步:查询知识图谱
构建完成后,可以用自然语言提问:
- “这个项目的主要模块有哪些?”
- “函数 A 被哪些地方调用?”
- “这个类的继承关系是什么?”
- “哪些文件负责数据库操作?”
OpenClaw 中查询示例
|
|
工作原理
Graphify 的核心思想来自 Karpathy 的 LLM Wiki 模式:不依赖 RAG 的向量检索,而是让 LLM 直接构建结构化的知识表示。
|
|
节点(Node)
代表代码中的实体:函数、类、模块、变量、文件
边(Edge)
代表关系:调用关系、继承关系、导入关系、引用关系
元数据
每个节点和边都包含置信度分数、来源信息、最后确认时间
与传统 RAG 的区别
| 维度 | 传统 RAG | Graphify 知识图谱 |
|---|---|---|
| 检索方式 | 向量相似度(关键词匹配) | 语义关系(图结构) |
| 理解深度 | 片段级 | 概念级 |
| 跨文件关联 | 弱 | 强 |
| 查询"设计模式" | 难 | 可回答 |
| 需要向量数据库 | 是 | 否 |
应用场景
1. 新项目接手
接手陌生代码库时,用 Graphify 快速了解架构和模块关系
2. 代码审查
审查 PR 时,图谱能告诉你改动影响的完整链路
3. 技术债务梳理
找出重复代码、未使用的导出、循环依赖等问题
4. 文档自动生成
基于代码结构自动生成架构文档
5. 论文笔记整理
将学术论文截图/ PDF 转化为知识网络
参考资源
本文首发于 2026-04-08,基于 Graphify v3 版本