Graphify

Graphify-Labs/graphify 访问 GitHub ↗
🔤 Python ★ 132934 ⑂ 0 daily #5 (+1408) 抓取 2026-10-23

一句话简介

基于Python的图数据结构与算法工具库,提供图构建、可视化及图神经网络支持,适用于复杂关系网络的建模与分析。

标签

  • 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…