🕸 AI 编码助手技能

把任何代码库变成
可查询知识图谱

一个 /graphify 命令,读取代码、文档、论文和图片,构建结构化知识图谱,查询 Token 消耗减少 71.5 倍。支持 Claude Code、Cursor 等 10+ AI 编码平台。

18K+ Stars
1.8K+ Forks
20 语言
MIT License
GOD NODE .py .md .ts PDF IMG .rs .go .txt

两轮提取,一张完整图谱

graphify 将确定性的代码解析与 AI 语义理解相结合,不需要向量数据库,图拓扑本身就是相似性信号。

📂
detect()
🔬
extract()
🕸
build_graph()
🏘
cluster()
🔍
analyze()
📄
report()
📤
export()
第一轮 — 确定性

🌳 AST 结构提取

基于 tree-sitter 对代码文件进行 AST 解析,提取类、函数、导入关系、调用图、docstring 和解释性注释。完全本地运行,不需要 LLM,不消耗任何 Token。

tree-sitter call-graph AST walk 本地处理
第二轮 — 语义

🤖 Claude 并行提取

并行调用 Claude 子代理处理文档、PDF 和图片,从中提取概念、关系和设计动机,结果合并进同一张 NetworkX 图,再用 Leiden 算法做社区聚类。

Claude vision 并行子代理 Leiden NetworkX

不只是代码搜索

graphify 提供了一系列强大能力,让你真正理解代码库的结构与意图。

God Nodes 识别

自动找出度数最高的核心概念节点——整个系统里所有流程最终汇聚的地方,一眼看出架构中心。

🔗

意外连接发现

按综合得分排序,主动找出你想不到的跨模块关联。代码-论文之间的边权重更高,每条结果附带人话解释。

💡

为什么这么写

提取 docstring、注释(# NOTE: # HACK: # WHY:)和文档里的设计动机,生成 rationale_for 节点,不只知道代码做了什么,还知道为什么。

🏘

拓扑聚类,无需 Embeddings

Leiden 算法按边密度发现社区,语义相似边已在图中,图结构本身就是相似性信号,不需要向量数据库

🌐

完全多模态

代码、PDF、Markdown、截图、白板照片、流程图,甚至其他语言的图片——全部能丢进去,Claude vision 统一提取。

💾

SHA256 增量缓存

文件内容哈希缓存,重复运行只处理变更过的文件。构建一次,持久保存,数周后仍可直接查询。

👁

超边(Hyperedges)

表达 3 个以上节点的群组关系,普通两两边表达不了的模式:共同实现一个协议的所有类、认证链路里的所有函数。

🔄

自动同步 & Git Hooks

--watch 模式下代码变更即时触发重建;graphify hook install 在每次 commit 和切分支后自动重建图谱。

🌍

多格式导出

可交互 HTML、持久化 JSON、Obsidian Vault、Wiki、SVG、GraphML,还能直接推送 Neo4j,或启动 MCP stdio 服务器。

运行一次,得到四类输出

所有输出均保存在 graphify-out/ 目录,结构清晰,开箱即用。

📊 graph.html

可交互图谱

基于 vis.js 的交互式可视化,可点击节点、搜索、按社区过滤,直接在浏览器打开。

📋 GRAPH_REPORT.md

智能审计报告

列出 God nodes、意外连接(附原因说明)和 4-5 个图谱特别擅长回答的建议问题。

💾 graph.json

持久化图谱

包含所有节点、边、置信度、源位置,可用于后续精确查询,或通过 MCP 暴露给 AI 助手。

🗄 cache/

SHA256 缓存

按文件哈希存储提取结果,重复运行只重处理变更文件,极大降低 Token 消耗。

你始终知道哪些是发现的,哪些是猜的

每条关系边都有明确的置信标签,绝不混淆事实与推断。

EXTRACTED

直接提取

关系在源材料中明确存在——如 import 语句、直接函数调用。置信度恒为 1.0,无歧义。

INFERRED

合理推断

模型认为合理但无直接证据的关联,附带 confidence_score(0.0–1.0),你知道猜测的把握有多大。

AMBIGUOUS

有歧义

不确定是否成立,已在 GRAPH_REPORT.md 中标记为需要人工复核的关系,不会静默地误导你。

两行命令,立即开始

需要 Python 3.10+,以及至少一个 AI 编码助手平台。

bash
# 安装
pip install graphifyy

# 注册为 Claude Code 技能(会自动检测平台)
graphify install

# 在项目中构建知识图谱
/graphify .

# 让 Claude 始终优先读图谱(推荐)
graphify claude install
graphify-out/
graphify-out/
├── graph.html       # 可交互图谱
├── GRAPH_REPORT.md  # 审计报告
├── graph.json       # 持久化图谱
└── cache/           # SHA256 缓存
1

安装 Python 包

PyPI 包名为 graphifyy(因 graphify 名称仍在回收中),CLI 命令仍是 graphify

2

注册为 AI 助手技能

运行 graphify install,自动检测当前平台并写入对应配置(Claude Code / Cursor / Codex 等)。

3

构建知识图谱

在你的 AI 助手中输入 /graphify .,它会读取当前目录所有文件并生成图谱。

4

启用常驻模式(推荐)

运行 graphify claude install,安装 PreToolUse hook,助手在每次 Glob/Grep 前自动读取图谱。

支持 10+ AI 编码平台

一次安装,适配所有主流 AI 编码助手,切换平台只需一行命令。

🤖
Claude Code
graphify install
🖱
Cursor
graphify cursor install
💻
Codex
--platform codex
🌐
OpenCode
--platform opencode
🌟
Gemini CLI
graphify gemini install
🐙
GitHub Copilot CLI
graphify copilot install
Aider
graphify aider install
🔧
Trae / Trae CN
graphify trae install

从构建到精确查询

graphify 支持从基础图谱构建到深度语义查询的完整工作流。

# 构建与更新
# 对当前目录构建图谱
/graphify .

# 增量更新(只处理变更文件)
/graphify . --update

# 深度模式(更激进提取 INFERRED 边)
/graphify . --mode deep

# 拉取论文/推文并加入图谱
/graphify add https://arxiv.org/abs/1706.03762
# 语义查询
# 自然语言查询
/graphify query "auth flow"

# 追踪两个节点间的路径
/graphify path DigestAuth Response

# 解释一个节点
/graphify explain SwinTransformer

# 终端直接查询(不需要 AI 助手)
graphify query "optimizer" --budget 500
# 导出与集成
# 生成 Obsidian 知识库
/graphify . --obsidian

# 生成 Wiki(agent 可爬取)
/graphify . --wiki

# 推送到 Neo4j
/graphify . --neo4j-push bolt://localhost:7687

# 启动 MCP stdio 服务器
/graphify . --mcp
# 自动化
# 文件变更时自动同步
/graphify . --watch

# 安装 Git hooks
graphify hook install

# 只重新聚类,不重新提取
/graphify . --cluster-only

# 创建有向图
/graphify . --directed

71.5 倍的 Token 效率提升

第一次运行花费 Token 构建图谱,此后每次查询读取压缩后的图谱,效率随语料规模增大而显著提升。

71.5x
Token 压缩倍数
Karpathy 仓库 + 5 论文 + 4 图片(52 文件)
5.4x
中等语料压缩
graphify 源码 + Transformer 论文(4 文件)
20
支持的编程语言
Python/TS/Go/Rust/Java/C/C++/Ruby 等
不同语料规模的 Token 压缩比
语料越大,收益越显著
6 文件(小型库)
~1x
4 文件(源码+论文)
5.4x
52 文件(大型混合)
71.5x
支持 20 种编程语言(tree-sitter AST 本地提取)
Python TypeScript JavaScript Go Rust Java C C++ Ruby C# Kotlin Scala PHP Swift Lua Zig PowerShell Elixir Objective-C Julia

代码不离本地

graphify 对代码和非代码内容采用不同的处理策略,在保证功能的同时最大化保护你的隐私。

🔒

代码文件 — 纯本地处理

所有代码文件(.py、.ts、.go、.rs 等)通过 tree-sitter AST 完全在本地处理提取。文件内容不会发送到任何外部 API,不会离开你的机器。

🌐

文档/图片 — 发送至模型 API

文档、PDF 和图片的语义提取需要发送给 AI 平台的模型 API(Anthropic / OpenAI 等),使用的是你自己的 API Key。graphify 本身无任何遥测、使用跟踪或分析。

精选技术,各司其职

无需 Neo4j,无需服务器,整体纯本地运行。

NetworkX

图数据结构与算法

Leiden / graspologic

社区发现与聚类

tree-sitter

确定性 AST 解析(20 语言)

vis.js

交互式图谱可视化

Claude / GPT-4

语义提取与 vision 理解

MCP Protocol

结构化图谱访问接口