Graphify:3.2万星开源工具,一键把代码变成可查询的知识图谱
痛点:代码越写越多,关系越来越乱 如果你是一个有几年开发经验的人,一定遇到过这种场景: 接手一个新项目,打开文件夹,几十个模块、上百个文件,调用关系、依赖关系、业务逻辑全混在一起。想改一个功能,不知道牵一发会动全身,改完一个地方,另一个地方就崩了。 文档?有的项目连README都没有,有
痛点:代码越写越多,关系越来越乱
如果你是一个有几年开发经验的人,一定遇到过这种场景:
接手一个新项目,打开文件夹,几十个模块、上百个文件,调用关系、依赖关系、业务逻辑全混在一起。想改一个功能,不知道牵一发会动全身,改完一个地方,另一个地方就崩了。
文档?有的项目连README都没有,有README的也就是一句"npm run dev"。等你问同事,同事也在翻代码找答案。
这不是你的问题,是绝大多数中小型团队的常态。代码在膨胀,知识在流失。
今天要介绍的这个工具,就是专门解决这个问题的——Graphify,3.2万Star的开源神器,能一键把任意文件夹转化成一个可查询的知识图谱。
Graphify是什么
Graphify是一个面向AI编程助手的"技能插件"(Skill),它能把任意文件夹中的代码、文档、论文甚至图片,全部转化为一个可查询、可视化的知识图谱。
它最大的特点不是"画出一张好看的图",而是让你能用自然语言直接问问题,比如:
- "这个功能改动了哪些模块?"
- "这两个函数之间有什么关联?"
- "实现某个接口的所有类是哪些?"
一句话总结:你给它一个文件夹,它给你一副"项目全景地图"。
核心功能
1. 双通道智能提取
Graphify不只是一个静态分析工具。它有两条提取通道:
| 通道 | 方式 | 适用内容 | 开销 |
|---|---|---|---|
| AST分析 | tree-sitter解析代码结构 | 代码文件 | 零LLM开销 |
| 语义提取 | LLM理解文档含义 | 注释、文档、论文、图片 | 按token计费 |
这意味着,代码的结构关系(类继承、函数调用)通过静态分析直接提取,不花钱。只有文档、图片这种需要"理解含义"的内容才走LLM,大大降低了分析成本。
2. 三级关系可信度
Graphify提取的关系不是简单的"A调用B",而是分三个等级:
- EXTRACTED(1.0):代码里实打实的显式关系,比如import、调用
- INFERRED(0.6-0.9):算法推断的语义关联,比如两个函数用了相同的模式
- AMBIGUOUS(不确定):系统觉得有可能是关系,但不确定,标出来让你决定
这种分级设计非常实用:你不会被虚假的"关联"误导,但也不会遗漏"看起来不相关但逻辑上有联系"的代码。
3. 查询模式
建好图谱后,Graphify支持多种查询模式:
| 模式 | 作用 | 示例查询 |
|---|---|---|
| BFS(广度优先) | 找"一层层的邻居" | "用户注册模块直接影响了哪些API?" |
| DFS(深度追踪) | 追一条调用链到底 | "这个bug是从哪条调用链传下来的?" |
| 最短路径 | 找两个组件的最简关系 | "前端登录框和后端鉴权中间经过了几层?" |
| 节点解释 | 让AI解释某个模块的作用 | "这个service层到底是干什么用的?" |
4. 自动增量更新
代码修改了,图谱怎么办?Graphify用SHA256缓存,只处理变更的文件。代码层级的变更不需要重新走LLM,零开销更新。
你还可以设置Git Hooks,每次commit/checkout后自动重建图谱,永远保持最新。
5. 多平台输出
Graphify的输出不只是静态图片:
| 格式 | 用途 |
|---|---|
graph.html | 浏览器交互可视化,可缩放可点击 |
graph.json | 数据持久化,可对接其他系统 |
--obsidian | 直接生成Obsidian笔记 |
--svg | 矢量图,可嵌入文档 |
--neo4j | 导入Neo4j数据库 |
--mcp | 对接MCP协议 |
安装步骤
Graphify支持多种安装方式。推荐新手用pip安装,最快上手。
方法一:pip安装(推荐)
pip install graphifyy
graphify --help装完就能用。注意包名是 graphifyy(两个y),不要写错。
方法二:安装为Claude Code技能
如果你用Claude Code编程,可以把它安装为内置技能:
graphify install --platform claw安装后,Claude Code会自动读取你项目的图谱,在对话中能直接引用项目结构。
方法三:安装为OpenCode/Codex技能
graphify install --platform opencode
# 或
graphify install --platform codex方法四:Docker安装
docker pull graphify/graphify:latest
docker run -v $(pwd):/project graphify/graphify analyze /project使用方法
第一步:分析一个项目
找一个你想分析的代码文件夹,执行:
cd /path/to/your/project
graphify analyze默认会生成 graph.html、GRAPH_REPORT.md、graph.json。
第二步:打开图谱浏览
open graph.html # Mac
# 或
code graph.html # VS Code预览你会看到一个交互式图谱——节点是代码模块,边是它们之间的关系。可以缩放、拖拽、点击查看详情。
第三步:查询问题
# BFS查询:用户注册模块的影响范围
graphify query "what depends on UserAuth?" --mode bfs
# 最短路径:两个模块的关系
graphify query "path from API layer to Database layer"
# 解释节点
graphify query "explain PaymentService"第四步:自动同步(进阶)
在项目根目录添加Git Hooks,每次提交自动更新图谱:
cd .git/hooks
cat > post-commit << 'EOF'
#!/bin/bash
graphify analyze --update
EOF
chmod +x post-commit或者直接用文件监听:
graphify --watch # 文件变化后3秒自动重建实际场景举例
| 场景 | 以前怎么做 | 用Graphify怎么做 |
|---|---|---|
| 接手新项目 | 花3天翻代码、问人、画图 | 跑一条命令,10分钟看懂全局 |
| 代码审查 | 逐文件看,容易漏关联问题 | 直接看图谱里的影响范围 |
| 重构评估 | 凭经验猜风险 | 查询"改了A会影响谁",一目了然 |
| 知识沉淀 | 写文档,过三个月就过时 | 图谱自动更新,永远最新 |
| 新人培训 | 老员工花两周带人翻代码 | 看图谱+问自然语言,3天上手 |
跟同类工具对比
| 工具 | 核心能力 | 成本 | 适合场景 |
|---|---|---|---|
| Graphify | 代码结构+语义融合,可查询 | 分析一次,查询几乎零成本 | 中大型代码库日常维护 |
| Sourcegraph | 企业级代码搜索 | 按用户付费,贵 | 大型团队/企业 |
| Sourcetrail | 代码可视化 | 已停止维护 | 历史项目 |
| Glean | 结构化代码索引 | 企业级定价 | 大规模代码库 |
| 手画架构图 | 灵活 | 费时费力,易过时 | 小型项目/文档补充 |
小结
Graphify最大的价值,不是"画一张漂亮的架构图",而是把"翻代码找关系"这个低效活,变成"问问题秒出答案"。
对于中国的开发者来说,它特别实用:
- 不用翻墙买API:本地分析代码结构是免费的,只有语义提取需要LLM
- 不用写复杂配置:pip install + 一条命令就能跑
- 不用学习新语法:直接用英语或中文自然语言问问题
如果你是Claude Code、OpenCode、Codex的用户,把它装成技能后,AI助手会自动理解你的项目结构,编程效率直接翻倍。
项目地址:https://github.com/safishamsi/graphify 安装命令:pip install graphifyy 一句话记住它:给它一个文件夹,给你一张项目全景地图。
读者评论
0 条暂无评论,来分享你的看法吧
相关推荐
结合当前内容、你的浏览习惯和搜索偏好推荐。

