Graphify
一句话简介
基于Python的图数据结构与算法工具库,提供图构建、可视化及图神经网络支持,适用于复杂关系网络的建模与分析。
标签
适用应用场景
- 社交网络关系分析与可视化
- 知识图谱构建与查询
- 图神经网络模型训练
- 复杂网络路径规划与优化
README 中文摘要
项目概述
Graphify 将代码库、文档、PDF、图片及音视频映射为可查询的知识图谱,目标是减少 AI 编程助手的令牌消耗,并避免在大量文件中反复搜索。代码使用 tree-sitter AST 在本地解析,不依赖大语言模型,数据不会离开机器;文档与媒体可选调用已配置的模型或 API 执行语义提取。
每条关系都带有来源标记:EXTRACTED 表示源码中明确存在,INFERRED 表示由 Graphify 推断。它不同于向量索引,不生成嵌入,也不依赖向量数据库,而是提供可遍历的真实图结构,用于回答问题、追踪路径和解释概念。
核心能力
- God 节点:识别连接最多的关键概念,揭示系统的核心枢纽。
- 社区发现:使用 Leiden 算法将图划分为子系统。
- 跨文件关系:解析
calls、imports、inherits、mixes_in等关系,支持约 40 种语言。 - 图查询:支持自然语言查询、路径追踪和单节点解释。
- 注释与文档关联:将
# NOTE:、# WHY:注释及 ADR/RFC 引用作为一等节点连接到代码。 - 多媒体支持:代码、文档、PDF、图片、视频和音频可进入同一图谱。
- 本地优先:代码解析完全离线;仅在明确配置后,文档和媒体提取才会访问后端。
安装与使用
要求 Python 3.10 及以上,推荐使用 uv,也可使用 pipx:
uv tool install graphifyy # 安装 CLI,也可使用 pipx
graphify install # 检测 AI 助手并注册技能
随后在 AI 助手中执行:
/graphify .
生成目录通常包含:
graphify-out/
├── graph.html # 可交互图谱:点击节点、筛选和搜索
├── GRAPH_REPORT.md # 架构摘要、关键概念和建议问题
└── graph.json # 完整图谱,可持续查询
图谱会记录 graph.schema_version 和 graph.graphify_version,便于集成方识别格式及生成版本。
CLI 查询示例
graphify explain "APIRouter"
graphify path "FastAPI" "ModelField"
graphify query "what connects auth to the database?"
graphify export callflow-html
graphify add https://arxiv.org/abs/1706.03762
graphify merge-graphs a.json b.json
graphify prs --triage
explain 会显示节点的来源文件、所在社区、连接数量及关系来源;path 会输出两个概念之间的最短连接路径。若名称匹配多个节点,CLI 会列出候选项,而不会擅自猜测。脚本可根据退出码处理结果:0 表示成功,3 表示名称歧义,4 表示未找到节点。
配置与架构集成
可在扫描根目录创建 .graphifyrc,每行使用 key=value 格式:
language.inc=php
language.tpl=.ts
viz_node_limit=0
该文件同时用于文件分类、解析器选择、语法解析、导入解析、增量更新、Git 钩子、MCP 服务和 /graphify 技能。对于 .inc、.h、.m 等具有语言歧义的扩展名,应显式声明含义;声明错误会在标准错误中提示,但不会中止扫描。
Graphify 遵循 .gitignore,并支持 --exclude 模式及项目级 .graphifyignore。
执行 graphify <platform> install 可将查询优先规则写入对应 AI 助手。Claude Code、Gemini CLI 等平台可通过钩子拦截搜索操作;Codex、OpenCode、Cursor 等平台则使用持久化指令文件。GRAPH_REPORT.md 仍可用于整体架构审查。
可选组件包括 PDF、Office、Google Sheets、视频转录、MCP、Neo4j、FalkorDB、SVG、Ollama、OpenAI、Gemini、Anthropic、Azure、Bedrock、SQL、PostgreSQL、Terraform、Pascal、OCaml、Common Lisp、Robot Framework 和中文分词等。
uv tool install "graphifyy[pdf]"
uv tool install "graphifyy[mcp]"
uv tool install "graphifyy[openai]"
uv tool install "graphifyy[all]"
隐私与后端选择
代码文件完全在本地处理;音视频默认使用本地 faster-whisper 转录。文档、PDF 和图片的语义提取可能调用 Gemini、Kimi、Claude、OpenAI、DeepSeek、Azure、Bedrock 或 Ollama。GRAPHIFY_BACKEND=none 可禁用所有大语言模型后端,仅生成代码图;有数据驻留要求时,应使用 GRAPHIFY_BACKEND=ollama 或 --backend ollama。项目不提供遥测、使用跟踪或分析功能。
摘要更新于 2026-10-22 01:09:47
· 原文 34629 字符
· md5 bf52b0337aad…