Graphify 评测:把整个代码库变成可查询的知识图谱
Graphify 是 GitHub Trending 榜首的 AI 编程辅助工具,能将任意代码仓库自动构建为可查询的知识图谱,让 Claude Code、Cursor、Codex 等 AI 编程助手获得"全局代码理解"能力。目前星标已突破 86,000。
工具简介
Graphify 是一款革命性的 AI 编程辅助技能(Skill),由 Graphify-Labs 团队开发,目前已在 GitHub 上斩获 86,747 ⭐,稳居 Trending 榜单前列。它的核心能力是将任意文件夹中的代码、SQL 架构、R 脚本、Shell 脚本、文档、论文甚至图片和视频,自动转化为一个可查询的知识图谱(Knowledge Graph)。如果你需要处理 Graphify 导出的 JSON 或 Mermaid 格式的图谱数据,本站的 JSON 格式化工具 和 Markdown 在线预览工具 可以帮你快速查看和调试。
一句话总结:Graphify 让 AI 编程助手拥有了”全局视野”——不再只是逐文件阅读代码,而是理解整个项目的结构和关联。
与传统的代码索引方案不同,Graphify 利用 Tree-sitter 进行语法解析,结合 Leiden 图聚类算法和 GraphRAG 技术,自动提取代码实体(函数、类、模块、表结构)之间的关系,构建出一个语义丰富的项目知识图谱。这使得 Claude Code、OpenCode、Cursor、Gemini CLI 等 AI 编程助手能够以自然语言直接查询整个代码库。
核心功能
1. 多模态代码理解
Graphify 支持将多种类型的文件纳入知识图谱:
- 源代码: Python、JavaScript/TypeScript、Go、Rust、Java、C/C++ 等主流语言
- 数据库 Schema: SQL 迁移文件、ORM 模型定义
- 基础设施配置: Dockerfile、Terraform、Kubernetes YAML
- 文档与论文: Markdown、PDF、文本文件
- 媒体文件: 图片、视频的路径和元数据引用
它使用 Tree-sitter 对代码进行精确的语法树解析,而非简单的文本匹配,从而准确识别函数签名、类继承关系、导入依赖等结构化信息。
2. AI 编程助手集成
Graphify 设计为”技能”(Skill)形式,可直接接入主流 AI 编程工具:
| 编程助手 | 集成方式 |
|---|---|
| Claude Code | 内置 Skill 调用 |
| OpenAI Codex | Skill 插件 |
| Cursor | 通过 MCP 协议集成 |
| Gemini CLI | 原生支持 |
| OpenClaw | 兼容 |
集成后,你可以直接用自然语言提问,例如:
- “这个项目中所有的 API 路由在哪里定义的?”
- “找出所有处理用户认证的函数及其调用链”
- “数据库 schema 中哪些表有外键引用 users 表?”
- “帮我找到所有与支付相关的模块”
3. GraphRAG 语义搜索
传统代码搜索(如 grep、ripgrep)只能做字符串匹配,而 Graphify 的 GraphRAG 引擎支持语义级别的理解。它将代码图谱向量化,允许你提出概念性问题:
- “项目中哪个部分负责处理文件上传?”
- “有没有类似 React 的 useEffect 钩子的清理逻辑?”
- “这个微服务之间的通信协议是什么?”
回答不仅给出文件路径,还会展示相关实体之间的关系图,帮助你快速理解代码上下文。
4. 自动图构建与增量更新
Graphify 会自动扫描指定目录,构建完整的知识图谱。支持增量更新——当代码发生变化时,只需重新运行即可只更新变更的部分,避免全量重建的性能开销。
# 安装 Graphify
pip install graphify
# 为当前项目构建知识图谱
graphify build ./my-project
# 增量更新
graphify update ./my-project
# 查询
graphify query "find all authentication related code"
5. 可视化图谱探索
Graphify 提供交互式图谱浏览器,可以直观地查看代码实体之间的关系。节点代表函数、类、模块等实体,边表示调用关系、继承关系、导入关系等。这对于理解大型遗留代码库或接手新项目尤其有用。
适用人群
- AI 编程开发者: 使用 Claude Code、Cursor 等工具时,让 AI 获得全局代码理解能力,大幅提升代码生成和修改的准确性
- 新入职工程师: 接手陌生项目时,通过知识图谱快速理解项目架构和模块关系
- 技术负责人: 分析代码质量、识别重复代码、评估重构范围
- 安全审计人员: 追踪敏感操作的数据流,发现潜在的安全漏洞
- 开源贡献者: 快速理解大型开源项目的代码结构和贡献入口点
与同类工具对比
|| 特性 | Graphify | Sourcegraph | codelldb + GPT | Tree-sitter CLI | |——|———|———–|—————-|—————–| | 知识图谱构建 | ✅ 自动 | ❌ 仅索引 | ❌ 无 | ❌ 仅解析 | | AI 集成 | Claude/Codex/Gemini | 有限 | 仅限 ChatGPT | 无 | | 语义搜索 | ✅ GraphRAG | ⚠️ 关键词 | ⚠️ 需提示词工程 | ❌ | | 多语言支持 | 主流语言 | 全面 | 全面 | 全面 | | 可视化 | ✅ 交互式图谱 | ⚠️ 基础视图 | ❌ | ❌ | | 部署方式 | 本地 Skill | SaaS/自托管 | 本地 | 命令行 | | 许可证 | MIT | 商业 | MIT | MIT | | 星标数 | 86,747 | ~10,000 | N/A | ~9,000 |
Graphify 的核心优势在于它将知识图谱与 AI 编程助手深度整合,让”全局代码理解”不再是人工分析的任务,而是 AI 助手的原生能力。相比之下,Sourcegraph 虽然索引能力强但缺乏语义理解;codelldb + GPT 需要复杂的提示词工程;而 Tree-sitter 本身只是一个解析器,不提供上层语义功能。
如何使用
安装步骤
安装 Graphify
# 通过 pip 安装 pip install graphify # 或者从源码安装 git clone https://github.com/Graphify-Labs/graphify.git cd graphify pip install -e .为项目构建知识图谱
# 进入你的项目目录 cd my-awesome-project # 构建完整知识图谱 graphify build . # 输出示例: # Building knowledge graph for ./my-awesome-project... # Found 1,247 files, 8,532 entities, 23,104 relationships # Graph built in 12.3 seconds在 AI 编程助手中启用 Graphify
对于 Claude Code:
# 在项目根目录创建 skill 配置
mkdir -p .claude/skills
cp /path/to/graphify/skill.yaml .claude/skills/graphify.yaml
对于其他工具,参考 Graphify 文档 中的集成指南。
- 开始查询
现在你可以在 AI 编程助手中直接使用自然语言查询代码:
“列出所有处理用户注册的端点和它们的验证逻辑”
“这个项目中有哪些地方使用了 Redis 缓存?”
“帮我找到所有 TODO 注释及其对应的代码位置”
高级用法
自定义图谱范围:
# 只分析特定目录
graphify build ./src/api --recursive
# 排除测试文件和依赖
graphify build . --exclude "tests/,node_modules/,vendor/"
# 指定语言过滤
graphify build . --languages python,javascript
导出图谱数据:
# 导出为 JSON
graphify export ./my-project --format json -o graph.json
# 导出为 Neo4j Cypher 语句
graphify export ./my-project --format cypher -o import.cypher
# 导出为 Mermaid 图表(用于文档)
graphify export ./my-project --format mermaid -o architecture.mmd
增量监控模式:
# 持续监控文件变化并自动更新图谱
graphify watch ./my-project --interval 5
总结
Graphify 代表了 AI 编程工具的一个重要发展方向——从”逐文件编辑”走向”全局理解”。通过将代码库转化为知识图谱,它让 AI 助手获得了人类资深开发者才具备的”项目全景视角”。
对于已经在使用 Claude Code、Cursor 或 OpenAI Codex 的开发者来说,Graphify 是一个立竿见影的效率倍增器。它不仅提升了代码生成的质量,更重要的是减少了因 AI 不理解全局上下文而产生的错误修改。
当然,Graphify 也还有一些不足:对非常大型的代码库(超过 10 万行)构建图谱可能需要较长时间;目前对非主流编程语言的支持还不够完善;可视化功能还在早期阶段。但随着社区的快速发展和 86,000+ 星标的用户基础,这些问题正在被迅速解决。
推荐指数:⭐⭐⭐⭐⭐ (5⁄5)
- 优点:功能强大、集成广泛、MIT 开源免费、社区活跃、星标增长迅猛
- 缺点:大型项目构建耗时、非主流语言支持有限、可视化功能待完善
官网: https://www.graphify.com GitHub: https://github.com/Graphify-Labs/graphify 文档: https://www.graphify.com/docs