Graphify:开源本地多模态代码知识图谱工具,零LLM解析降低AI编码Token消耗
一、Graphify是什么
Graphify 是 Graphify-Labs 推出的开源本地优先多模态知识图谱工具,PyPI 包名为 graphifyy,主程序命令行调用为 graphify,基于 MIT 开源协议分发,核心语言为 Python,当前稳定版本 v8。
传统AI编程工具读取大型代码库时,会反复读取全部源码、消耗海量Token,且无法梳理跨文件依赖、模块架构逻辑;向量RAG仅能做模糊文本检索,缺失代码真实结构关联。Graphify 以此为核心痛点,通过 tree-sitter 对源码做原生AST解析,代码结构提取全程无需调用大模型、不产生Token消耗,同时兼容文档、图片、音视频、网页等多模态文件,统一构建结构化关联图谱,替代传统全文检索与向量知识库,适配各类AI编码助手做项目全局分析、代码架构查询。
所有代码解析流程完全在本地运行,源码数据不会上传第三方服务器,兼顾代码隐私与检索精准度,原生配套交互式可视化面板、架构报告、MCP服务,面向个人开发者、团队协作、企业代码治理三类人群提供完整图谱能力。

二、功能特色
1. 纯本地代码解析,零LLM开销
依托 tree-sitter 解析36+主流编程语言抽象语法树,自动提取类、函数、变量、导入引用、函数调用、类继承、接口依赖等实体与关系,全部逻辑离线完成,仅文档、多媒体语义提取环节按需调用LLM,大幅降低API调用成本。
2. 全品类多模态统一图谱构建
不局限于代码文件,支持 Markdown、PDF、Office文档、网页、本地图片、音视频、数据库Schema、工程配置文件等,音视频内置本地Whisper离线转录,图文文件可接入本地Ollama完成语义关联,所有资源整合至同一张知识图谱。
3. 智能图谱分析与自动架构拆解
采用Leiden拓扑聚类算法自动划分项目子模块,识别项目核心枢纽节点、跨模块隐性关联;每条关联边标注可信度等级:EXTRACTED(源码原生关系)、INFERRED(模型推导)、AMBIGUOUS(模糊关联),自动输出标准化架构分析文档。
4. 完整图谱交互查询体系
提供多组CLI查询指令,支持实体解释、路径溯源、自然语言图谱检索;可导出Mermaid、SVG、GraphML、Neo4j、FalkorDB图库格式,内置浏览器交互式可视化页面,支持节点筛选、关系检索、模块折叠。
5. 增量构建与Git团队协同
兼容 .gitignore 过滤规则,自定义 .graphifyignore 屏蔽无需扫描文件;增量更新模式仅重新解析修改文件,扫描速度大幅提升;支持Git钩子自动更新图谱,graphify-out 产物可提交代码仓库,团队成员拉取后直接复用图谱,无多人并发冲突。
6. MCP标准化服务部署
提供stdio本地服务、HTTP共享服务两种部署方案,支持Docker容器化;团队可部署统一图谱服务,Cursor、Claude Code、Aider等20余款AI编码IDE统一接入共享项目图谱。
7. 多端大模型兼容与离线优先
原生对接Ollama(全离线本地部署)、OpenAI、DeepSeek、Kimi、Claude、Azure OpenAI等主流大模型接口,支持自定义代理地址;可开启严格模式,强制AI优先读取图谱,禁止全量读取源码,极致压缩Token消耗。
8. 衍生工程辅助能力
支持PR变更影响分析、一键生成项目Markdown知识库、跨多仓库图谱合并、Obsidian双链笔记同步、企业级图谱导出等拓展功能。
三、技术细节
代码解析底层:tree-sitter 多语言AST解析引擎,无正则模糊匹配,精准识别编程语言语法实体,覆盖前端、后端、嵌入式、脚本、SQL等36种开发语言。
图谱存储结构:原生JSON持久化存储图谱数据,无需依赖向量数据库,轻量化无额外中间件部署;拓扑计算基于Leiden社区发现算法,实现无监督模块拆分。
多模态处理链路
代码:纯本地AST提取,无模型调用;
文档/PDF:本地文本提取,可选LLM做语义关联;
音视频:Whisper本地离线语音转文字;
图片:对接Ollama多模态模型提取文本与语义标签。
MCP通信层:遵循MCP标准协议,stdio管道本地IDE互通、HTTP服务支持局域网/公网团队共享,容器化镜像一键部署。
缓存与增量机制:基于文件哈希校验变更,未修改文件直接复用历史图谱节点与关系,大幅减少重复扫描耗时。
可视化前端:内置独立静态HTML可视化页面,纯前端渲染图谱,无需后端服务,本地浏览器直接打开使用。
依赖管理:项目开发环境基于uv管理Python依赖,支持pipx、uv tool隔离安装,避免全局Python环境冲突。
四、应用场景
个人大型项目开发
处理上万行单体项目、多模块仓库,借助图谱快速定位函数调用链路、类继承关系,替代反复全局搜索,降低AI编码工具上下文Token占用。AI编程助手增强
对接Cursor、Aider、Claude Code等工具,给AI提供完整项目架构上下文,解决大模型“看不懂大型仓库”的痛点,提升代码补全、重构、bug排查准确率。团队代码协作评审
统一提交图谱产物至Git,新人快速读懂项目架构;通过PR图谱分析功能,预判代码修改带来的跨模块影响,辅助代码评审。开源项目二次开发
对无完善文档的开源仓库自动生成架构报告,梳理核心流程与依赖枢纽,降低源码学习成本。多模态知识库统一管理
整合项目文档、设计图纸、需求录音、会议纪要,构建代码+文档一体化知识库,同步至Obsidian双链笔记。企业代码资产治理
企业版Graphify Enterprise可批量同步多仓库、会议记录、业务文档,构建企业全域代码知识图谱,用于技术资产沉淀、架构巡检。

五、使用方法
1. 环境前置要求
Python 3.10 及以上版本,推荐使用 uv / pipx 隔离安装,避免污染系统Python环境。
2. 安装命令
# uv工具隔离安装(推荐) uv tool install graphifyy # 绑定本地AI助手MCP能力 graphify install
Windows PowerShell环境执行指令无需前置斜杠,直接使用 graphify .。
3. 基础项目图谱构建
进入项目根目录,执行扫描生成完整图谱文件:
graphify .
执行完成后项目内自动生成 graphify-out 文件夹,包含三类核心产物:
graph.html:交互式可视化图谱网页;
GRAPH_REPORT.md:可读项目架构分析报告;
graph.json:完整结构化图谱原始数据。
4. 常用查询指令
# 查看指定函数/类的全部关联关系 graphify explain UserService # 查询两个实体之间最短调用链路 graphify path LoginController TokenUtil # 自然语言检索图谱信息 graphify query "项目支付模块包含哪些核心接口" # 仅更新修改文件,增量构建图谱 graphify --update .
5. MCP共享服务部署
# 本地stdio服务(IDE本地调用) graphify mcp stdio # 启动HTTP团队共享服务 graphify mcp http
6. 图谱导出
支持导出Neo4j图库、Mermaid流程图、SVG图片、Obsidian笔记等格式,示例:
graphify export mermaid ./arch.mmd
六、竞品对比
选取行业内两款主流代码知识库工具:Mem0、CodeRAG,从核心架构、代码解析、本地隐私、Token开销、多模态支持维度对比。
| 对比维度 | Graphify | Mem0 | CodeRAG |
|---|---|---|---|
| 底层存储架构 | 原生知识图谱,无向量库依赖 | 向量数据库存储记忆片段 | 向量嵌入检索,依赖Embedding |
| 代码解析方式 | tree-sitter AST原生解析,离线无LLM | 文本切片向量化,无法识别语法结构 | 文件文本分割+Embedding,无语法分析 |
| 代码处理Token消耗 | 代码提取零LLM调用,极低开销 | 每次检索重复向量化,Token消耗高 | 全文件嵌入生成,初始化消耗大 |
| 本地隐私策略 | 代码解析全本地,无遥测、不上传源码 | 云端同步记忆,部分数据上传服务端 | 本地向量存储可选,语义提取依赖API |
| 多模态文件支持 | 代码+文档+音视频+图片全兼容 | 仅文本类记忆,不支持音视频、图纸 | 仅代码与Markdown文档 |
| 团队协同方案 | Git增量图谱、HTTP MCP共享服务 | 单人独立记忆,无团队协作能力 | 仅本地单项目使用,无共享服务 |
七、常见问题解答
Q:执行graphify命令提示找不到指令怎么办?
A:使用uv tool安装后需确认uv环境变量已写入系统PATH;Windows系统重启终端刷新环境变量,Linux/macOS可执行 source ~/.bashrc 重载配置,也可改用pipx重新隔离安装。
Q:扫描大型项目速度很慢如何优化?
A:第一使用 --update 参数开启增量扫描,仅解析修改文件;第二新建 .graphifyignore 文件屏蔽node_modules、dist、build等编译产物目录;第三关闭多媒体自动语义提取,仅保留代码解析模块。
Q:Windows运行时出现路径报错、转义异常?
A:PowerShell终端直接执行 graphify .,不要添加前置斜杠;文件路径包含中文、空格时用双引号包裹项目目录路径。
Q:Ollama本地模型显存不足,多媒体解析失败?
A:在配置文件中关闭图片、视频自动语义解析,仅保留代码与纯文本文档处理;切换轻量化小参数多模态模型,降低显存占用。
Q:生成的graph.html打开后节点加载卡顿?
A:上万实体的大型仓库可在扫描时添加过滤参数,只解析业务源码,排除测试文件与第三方依赖;打开可视化页面时使用Chrome浏览器,关闭浏览器多余占用内存的插件。
Q:图谱多人协作提交Git后出现数据冲突?
A:Graphify内置JSON图谱合并逻辑,正常提交不会冲突;冲突出现时重新执行 graphify --update 自动合并本地变更与仓库图谱。
Q:如何切换DeepSeek、Kimi等第三方LLM接口?
A:修改项目根目录Graphify配置文件,填入对应服务商API Key、自定义代理地址,切换模型名称后重启扫描即可生效,同时支持多模型配置快速切换。
八、相关链接
GitHub仓库地址:https://github.com/Graphify-Labs/graphify
九、总结
Graphify 凭借纯本地AST代码解析、无向量库轻量化图谱架构、全品类多模态兼容与标准化MCP服务能力,解决了传统AI编码工具处理大型代码库Token消耗高、无法梳理真实代码依赖、隐私不安全等核心痛点,兼顾个人开发者离线使用需求与团队多人代码协同场景,轻量化部署无需额外数据库中间件,适配绝大多数主流编程语言与AI编程助手,是兼顾精准度、隐私性与易用性的开源代码知识图谱解决方案。
版权及免责申明:本文由@97ai原创发布。该文章观点仅代表作者本人,不代表本站立场。本站不承担任何相关法律责任。
如若转载,请注明出处:https://www.aipuzi.cn/ai-news/graphify.html

