safishamsi/graphify
⭐ 45,847 · Python · GitHub 仓库
AI编码助手技能(支持Claude Code、Codex、OpenCode、Cursor、Gemini CLI等工具)。将任意代码文件夹、SQL模式、R脚本、Shell脚本、文档、论文、图像或视频转化为可查询的知识图谱。应用代码、数据库模式及基础设施整合于同一图谱中。
antigravity claude-code codex gemini graphrag knowledge-graph leiden openclaw
一句话总结
将任意包含代码、文档和图片的文件夹,转化为一个可查询的知识图谱,并带有诚实的边标记系统。
🔥 核心能力与独特卖点
- 多模态知识图谱构建 – 将代码(通过 tree-sitter AST)、PDF、Markdown、图片、截图和图表,统一摄入到单一图谱中。解决了在大型、混合格式代码库中导航的痛点——代码、文档和设计工件之间的关系原本不可见。
- 诚实边标记系统 – 每条关系都被标记为
EXTRACTED(提取)、INFERRED(推断)或AMBIGUOUS(模糊),清晰区分已发现连接与推测连接。这是一个突出的差异化优势,让工程师对查询结果充满信心,避免盲目信任推测性链接。 - 持久化图谱与交互式输出 – 生成交互式 HTML 图谱(vis.js)、Obsidian 仓库、维基百科风格的 Wiki 文章,以及持久化的
graph.json。数周后仍可查询图谱,无需重新读取文件,每次查询相比原始文件读取可减少高达 71.5 倍的 Token 消耗。 - 智能增量更新 – SHA256 缓存确保重新运行时仅处理已变更文件;
--update将新提取内容合并到现有图谱中;--watch在文件变化时自动同步。彻底告别全量重建的痛点,零手动操作即可保持知识库最新。 - Git 集成 –
graphify hook install添加一个提交后钩子,每次提交后自动重建图谱。你的知识图谱与版本控制工作流保持同步,无需后台进程。
技术架构
| 组件 | 技术 | 作用 |
|---|---|---|
| 图谱引擎 | NetworkX + Leiden 聚类(graspologic) | 核心图谱构建与社区检测 |
| 代码解析 | tree-sitter | 代码文件的 AST 提取 |
| LLM 提取 | Claude | 从文档、图片和非代码工件中提取概念/关系 |
| 可视化 | vis.js | 交互式 HTML 图谱输出 |
| 缓存 | SHA256 哈希 | 增量更新检测与变更追踪 |
| 架构 | 完全本地化,无需服务器 | 零基础设施依赖;输出包括 graph.html、obsidian/ 仓库、wiki/ 文章、GRAPH_REPORT.md、graph.json 和 cache/ 目录 |
快速入门指南
bash
pip install graphifyy && graphify installbash
mkdir -p ~/.claude/skills/graphify
curl -fsSL https://raw.githubusercontent.com/safishamsi/graphify/v1/skills/graphify/skill.md \
> ~/.claude/skills/graphify/SKILL.mdbash
/graphify . # 对当前目录运行
/graphify ./raw # 对指定文件夹运行
/graphify ./raw --mode deep # 更激进的 INFERRED 边提取
/graphify ./raw --update # 仅重新提取变更文件,合并到现有图谱
/graphify add https://arxiv.org/abs/1706.03762 # 获取论文,保存,更新图谱
/graphify add https://x.com/karpathy/status/... # 获取推文
/graphify query "what connects attention to the optimizer?"
/graphify path "DigestAuth" "Response"
/graphify explain "SwinTransformer"
/graphify ./raw --watch # 文件变化时自动同步图谱
/graphify ./raw --wiki # 构建可被 Agent 爬取的 Wiki
/graphify ./raw --svg # 导出 graph.svg
/graphify ./raw --graphml # 导出 graph.graphml(Gephi、yEd)
/graphify ./raw --neo4j # 为 Neo4j 生成 cypher.txt
/graphify ./raw --mcp # 启动 MCP stdio 服务器
graphify hook install # 提交后 Git 钩子优点、缺点与使用场景
优点
- 大幅减少 Token 消耗 – 在 50+ 文件的混合语料上最高可达 71.5 倍,使 Agent 查询成本大幅降低、速度显著提升
- 完全多模态 – 代码、文档、图片、PDF、截图和白板照片,全部融入一个图谱
- 跨会话持久化 –
graph.json可在数周后直接查询,无需重新读取文件 - 诚实边标记 – 清晰区分
EXTRACTED(已发现)、INFERRED(已推断)和AMBIGUOUS(模糊)连接 - 多种导出格式 – HTML、Obsidian、Wiki、Neo4j、SVG、GraphML、MCP 服务器
缺点
- 需要 Claude Code 和 Python 3.10+ – 并非独立工具,依赖 Claude 生态系统
- 文档/图片变更需要 LLM 重新处理 – 仅代码 AST 重建是即时的;文档和图片变更需要完整的 LLM 提取流程
- 对于极小语料库,Token 减少效果有限(约 1 倍) – 对于少于约 10 个文件的项目,价值主张会减弱
- PyPI 包临时命名为
graphifyy– 由于命名冲突,安装命令使用了非直观的包名
谁不应该使用?
- 处理小型、单一语言项目的开发者(例如一个 6 文件的 Python 脚本)– 图谱构建的开销无法通过微小的 Token 节省来证明其合理性
- 无法访问 Claude 的团队 – 该工具与 Claude 紧密耦合用于 LLM 提取;未提及替代 LLM 后端
- 需要实时、流式更新的用户 – 虽然存在
--watch,但文档/图片变更需要非即时的 LLM 处理 - 零文档或非代码工件的项目 – 如果只有代码,多模态的价值将完全丧失
理想使用场景
- 大型、多语言单体仓库 – 发现前端代码、后端服务、数据库模式和基础设施配置之间的隐藏连接
- 研究仓库 – 将论文(PDF)、代码实现、实验笔记和白板照片整合到一个可查询的图谱中
- 新团队成员入职 – 让新员工查询“认证与支付管道之间有何关联”,并立即获得带标记的关系图谱
- 遗留代码库考古 – 对无文档的代码和文档文件夹运行,揭示隐式架构和依赖关系
- AI Agent 知识库 – 构建持久化、可被 Agent 爬取的 Wiki,每次查询减少 71 倍 Token 成本
社区与活跃度
拥有 45,847 颗星,最后更新于 2026 年 5 月 10 日,Graphify 显然在开发者社区中引起了强烈共鸣。这并非一个沉寂的项目——它正在积极维护并迅速获得关注。其主题标签(antigravity、claude-code、codex、gemini、graphrag、knowledge-graph、leiden、openclaw、rag、skills、tree-sitter)表明,该项目正将自己定位在知识图谱、RAG 和 AI 编码助手的交汇点上。这种势头表明,该工具正在解决开发者处理异构代码库时一个真实而痛苦的痛点。如果你正在为团队评估这个工具,那么你看到的正是一个拥有强大社区验证和积极开发状态的项目。