graphify 知识图谱技能完全指南:三遍提取管线、Leiden 社区检测与 EXTRACTED/INFERRED 边置信体系
graphify 知识图谱技能完全指南三遍提取管线、Leiden 社区检测与 EXTRACTED/INFERRED 边置信体系【免费下载链接】graphifyTurn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store.项目地址: https://gitcode.com/GitHub_Trending/graph/graphifygraphify 是一个面向 Claude Code、Codex、OpenCode、Cursor、Gemini CLI、GitHub Copilot CLI、Aider、OpenClaw、Factory Droid、Trae、Kiro 和 Google Antigravity 等 20 多个 AI 编码助手的「技能」(skill)在任意仓库中敲下/graphify它读取代码、文档、PDF、图片甚至音视频构建出一张可查询的知识图谱并把你在 grep 中看不到的结构性关系显式呈现出来。读完全文你将掌握 graphify 的完整安装流程含各平台命令对照表、/graphify全部常用子命令与参数、.graphifyignore排除规则以及从源码层面印证其三遍提取管线、SHA256 增量缓存、Leiden 社区检测和EXTRACTED/INFERRED/AMBIGUOUS三级边置信体系的底层实现位置。一、图谱技能是什么一条命令三种产物graphify 的核心用法只需一条命令——在 AI 助手的对话框里输入/graphify . # 对任意目录运行代码、笔记、文章什么都行运行结束后当前目录会生成graphify-out/输出文件夹包含四类产物graphify-out/ ├── graph.html 交互式图谱 — 浏览器中打开可点击、搜索、过滤 ├── GRAPH_REPORT.md 报告 — 上帝节点、惊人连接、建议问题 ├── graph.json 持久化图谱 — 数周后无需重读文件即可查询 └── cache/ SHA256 缓存 — 重新运行只处理已修改的文件graphify 是完全多模态的你可以放入代码、PDF、Markdown、截图、图表、白板照片、其他语言的文字图片甚至音视频文件——graphify 从它们全部提取概念与关系并连接进同一张图。其中视频使用本地 faster-whisper 配合面向你领域定制的提示词完成转录25 种编程语言通过 tree-sitter AST 解析Python、JS、TS、Go、Rust、Java、C、C、Ruby、C#、Kotlin、Scala、PHP、Swift、Lua、Zig、PowerShell、Elixir、Objective-C、Julia、Verilog、SystemVerilog、Vue、Svelte、Dart。项目 README 中给出的一个典型场景是Andrej Karpathy 习惯维护一个/raw目录随手堆放文章、推文、截图和笔记——graphify 正是为这类问题而生相比直接读取原始文件每次查询节省约71.5 倍的 token图谱在会话之间持久存在并且诚实地区分「找到了什么」与「推断出了什么」。排除不需要索引的目录只需在仓库根目录放一个.graphifyignore文件# .graphifyignore vendor/ node_modules/ dist/ *.generated.py语法与.gitignore完全一致仓库根目录放一个即可生效。从源码看graphify/detect.pygraphify 会同时合并读取各目录下的.gitignore与.graphifyignore且.graphifyignore的模式最后求值、在冲突时获胜——因此添加.graphifyignore只会让排除更多永远不会把.gitignore已排除的文件重新纳入。解析器逐行遵循 gitignore 规范包括!取反语法见 graphify/detect.py 的单行解析函数。二、三遍提取管线从源码印证「无 LLM、无向量库」的设计这是 graphify 区别于向量检索方案的核心设计也是原文档「Comment ça fonctionne」一节的主体。graphify 按三遍pass处理文件第一遍代码结构免费零 API 调用。tree-sitter 对代码文件做确定性 AST 解析提取类、函数、import、调用图、docstring 与「为什么这样设计」的注释全程本地、不经过 LLM。代码文件不会进入语义提取器如果语料只含代码文件第三遍会被整体跳过语义提取只保留给文档、论文、图片和转录文本。这一设计在源码中可直接验证graphify/extract.py 中所有 AST 产出的边都被标注confidence: EXTRACTED即边是直接从源码中「读到」的。第二遍音视频本地无 API 调用。视频与音频用 faster-whisper 本地转录。为了让转录聚焦于你的领域转录提示词会以当前代码图中度数最高的「上帝节点」作为种子注入转录结果被缓存重跑时跳过已处理文件。第三遍文档、论文、图片Claude 子代理并行消耗 token。Claude 子代理并行处理 markdown、PDF、图片和转录文本每个子代理读取一批文件并输出 JSON 片段节点、边、组关系片段最终合并为一张 NetworkX 图。关于「聚类基于图谱拓扑、而非 embeddings」这一点docs/how-it-works.md 给出了权威解释源码则印证了具体实现与降级链Leiden 优先逐级降级。graphify/cluster.py 优先调用graspologic_native.leiden()失败再走graspologic.partition.leiden()两者都不可用时回退到 networkx 内置的 Louvain。模块文档字符串明确写着这一策略Uses Leiden (graspologic) if available, falls back to Louvain。社区内节点按边密度聚合连接越密集越容易被划入同一社区。Claude 提取的语义相似边semantically_similar_to标记为INFERRED已经存在于图中会直接参与塑造社区形状——因此图谱结构本身就是相似度信号无需单独的 embedding 步骤或向量数据库。graph.json采用 NetworkX 的 node-link 格式节点含id、label、file_typecode/document/paper/image/rationale、source_file边含source、target、relation动词短语如calls、imports、implements、semantically_similar_to、confidence、confidence_score、source_file连接 3 个以上节点的超边存放在G.graph[hyperedges]。三、边置信体系EXTRACTED / INFERRED / AMBIGUOUS 三级标注每一条关系都被打上三个标签之一让你始终能分清「读到的」和「猜的」标签含义EXTRACTED直接来源于源例如一次函数调用、一条 importINFERREDClaude 做出的合理推断附confidence_score0.0–1.0AMBIGUOUS不确定——在报告中标记出来供人工复核EXTRACTED边的置信恒为 1.0INFERRED边使用一套离散评分细则docs/how-it-works.md 定义并由 tests/test_inferred_confidence_rubric.py 中的RUBRIC {0.55, 0.65, 0.75, 0.85, 0.95}测试固化0.95— 近乎确定显式跨文件引用只有一个可能的目标0.85— 强证据命名与上下文都对齐0.75— 合理上下文推断但非显式0.65— 弱仅命名相似0.55— 猜测从源码结构看EXTRACTED与INFERRED的边界判据非常严格graphify/extract.py 中接收者类型在源码里被显式写出如Type.method()、Foo::bar()的调用判定为EXTRACTED而类型来自本地推断如obj.method()的调用则判为INFERRED——这与文档「EXTRACTED 源中明确写出」的定义一一对应。四、安装包名陷阱与各平台命令对照前置要求Python 3.10以及上述任一 AI 编码助手。# 推荐 — Mac 与 Linux 上无需配置 PATH uv tool install graphifyy graphify install # 或用 pipx pipx install graphifyy graphify install # 或普通 pip pip install graphifyy graphify install官方包名提醒PyPI 上的包叫graphifyy双 y安装命令是pip install graphifyy而 CLI 命令仍叫graphify。PyPI 上其他graphify*包均与本项目无关。用uvx运行时必须指明包名uvx --from graphifyy graphify install——因为uv tool run会把第一个词当作包名解析直接uvx graphify会报「No solution found」。平台安装命令对照平台安装命令Claude CodeLinux/Macgraphify installClaude CodeWindowsgraphify install自动检测或graphify install --platform windowsCodexgraphify install --platform codexOpenCodegraphify install --platform opencodeGitHub Copilot CLIgraphify install --platform copilotVS Code Copilot Chatgraphify vscode installAidergraphify install --platform aiderOpenClawgraphify install --platform clawFactory Droidgraphify install --platform droidTraegraphify install --platform traeTrae CNgraphify install --platform trae-cnGemini CLIgraphify install --platform geminiHermesgraphify install --platform hermesKiro IDE/CLIgraphify kiro installCursorgraphify cursor installGoogle Antigravitygraphify antigravity install各平台的 skill 文件并非手写而是由仓库内的生成器统一产出tools/skillgen/ 按平台配置生成skill-*.md与always_on/下的常驻指令文件如 graphify/always_on/claude-md.md并由 tools/expected/ 下的快照文件做一致性校验。安装完成后打开你的 AI 助手输入/graphify .注意Codex 用$而不是/来调用技能因此应输入$graphify .PowerShell 中开头的/会被当作路径分隔符应使用graphify .。让助手始终走图谱推荐图谱构建完成后在项目里执行一次对应平台的「常驻指令」安装助手遇到代码库问题时就会优先查图谱而不是逐个读文件平台命令Claude Codegraphify claude installCodexgraphify codex installOpenCodegraphify opencode installCursorgraphify cursor installGemini CLIgraphify gemini installKiro IDE/CLIgraphify kiro installGoogle Antigravitygraphify antigravity install从源码结构看这类安装会向平台写入一份「查询优先」的引导配置钩子型平台如 Claude Code还会注册PreToolUse钩子在搜索类工具调用前把助手引向graphify query而纯指令文件型平台Codex、OpenCode、Cursor 等则通过AGENTS.md、.cursor/rules/等持久化指令文件提供同样的引导。五、完整命令速查构建、更新、查询原文档列出的常用命令全量继承如下每条都可直接在助手对话或终端中使用/graphify # 当前目录 /graphify ./raw # 指定目录 /graphify ./raw --mode deep # 更激进地提取 INFERRED 边 /graphify ./raw --update # 只重新提取已修改的文件 /graphify ./raw --directed # 有向图 /graphify ./raw --cluster-only # 不重提取只重跑聚类 /graphify ./raw --no-viz # 不生成 HTML只出报告 JSON /graphify ./raw --obsidian # 生成 Obsidian 库opt-in /graphify add https://arxiv.org/abs/1706.03762 # 抓取一篇论文 /graphify add video-url # 下载音频、转录并加入图谱 /graphify query Attention 和优化器之间有什么关联 /graphify path DigestAuth Response /graphify explain SwinTransformer graphify hook install # 安装 Git 钩子 graphify update ./src # 只重提取代码文件不经过 LLM graphify watch ./src # 文件变化时自动更新图谱其中query/path/explain三个命令全部直接作用于graph.json无需重读原始文件。README 中给出的真实示例graphify 跑在 FastAPI 代码库上$ graphify explain APIRouter Node: APIRouter Source: routing.py L2210 Community: 2 Degree: 47 Connections (47): -- RequestValidationError [uses] [INFERRED] -- __init__.py [imports] [EXTRACTED] ... $ graphify path FastAPI ModelField Shortest path (3 hops): FastAPI --uses-- DefaultPlaceholder --references-- get_request_handler() --references-- ModelField六、每次运行你能得到什么上帝节点——度数最高的概念一切都经过它们惊人连接——按复合分数排序的跨模块关联代码-文章边获得更高评分每条结果附一段自然语言的「为什么」建议问题——4–5 个该图谱特别擅长回答的问题「为什么」——docstring、行内注释# NOTE:、# IMPORTANT:、# HACK:、# WHY:与设计理由被提取为rationale_for节点并链接到所解释的代码置信分数——每条INFERRED边都带confidence_score0.0–1.0token 基准——每次运行后自动打印。在混合语料上每次查询比直接读原始文件少71.5 倍token。docs/how-it-works.md 给出了基准明细52 文件混合语料Karpathy 仓库 5 篇论文 4 张图片为 71.5x4 文件语料约 5.4x6 文件的小库约 1x——token 节省随语料规模增长小语料的价值在于结构清晰度而非压缩。仓库中每个worked/目录都保留了原始输入与真实输出如 worked/httpx/graph.json、worked/karpathy-repos/GRAPH_REPORT.md可自行复现验证自动同步--watch——代码修改时自动更新图谱实现在 graphify/watch.pyGit 钩子graphify hook install——安装 post-commit 与 post-checkout 两个钩子。从源码看graphify/hooks.py安装时还会注册一个 merge driver让graph.json在两人同时提交时自动做并集合并不会出现冲突标记钩子在安装时把当前解释器路径直接嵌入脚本因此即使在~/.local/bin不在 PATH 的 GUI git 客户端或 CI 中也能触发且支持GRAPHIFY_SKIP_HOOK1跳过。七、增量缓存SHA256 指纹与「只重跑改过的文件」graphify-out/cache/目录的机制在 docs/how-it-works.md 中概括为每个已提取文件都按内容哈希做指纹重跑时完全跳过未变更文件。源码印证了实现细节graphify/cache.py、graphify/cache.py缓存键是文件内容 相对路径的 SHA256条目以graphify-out/cache/{kind}/{hash}.json形式落盘首次遇到文件时走完整 SHA256之后可用轻量指纹快速判定未变更。这也是--update增量模式与 Git 钩子后台重建之所以低成本的底层原因。八、隐私边界什么本地处理什么发往模型代码文件——tree-sitter 本地解析不出你的机器。纯代码语料无需任何 API key混合仓库可用--code-only只索引代码跳过需要 LLM 的文档/PDF/图片音视频——faster-whisper 本地转录不出机器文档、PDF、图片——会发送到你的 AI 助手的模型 API 做语义提取经由/graphify技能使用你 IDE 会话正在运行的模型无遥测、无使用追踪、无分析。九、技术栈与延伸阅读技术栈NetworkX Leidengraspologic tree-sitter vis.js。语义提取走 Claude、GPT-4 或你平台的模型视频转录走 faster-whisper yt-dlp可选。围绕本主题仓库中以下路径适合继续深入docs/how-it-works.md——三遍管线、Leiden 社区检测、置信度细则、token 基准的完整说明graphify/extract.py——确定性 AST 提取与EXTRACTED/INFERRED判定约 7300 行项目最大模块graphify/cluster.py——Leiden → graspologic → Louvain 的聚类降级链graphify/cache.py——SHA256 缓存与增量提取graphify/hooks.py、graphify/watch.py——Git 钩子与自动同步tests/test_inferred_confidence_rubric.py——置信评分细则的回归测试tests/test_hooks.py、tests/test_watch.py——钩子与监控机制的行为验证。适用前提与限制上述平台命令、包名graphifyy、Python 3.10 要求均基于当前仓库的 README 与pyproject.tomlLeiden 需安装 graspologic可选依赖否则自动降级到 Louvain社区划分结果可能略有差异71.5x 的 token 节省是仓库在 52 文件混合语料上测得并公开可复现的基准数据小语料下节省幅度会显著缩小。【免费下载链接】graphifyTurn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store.项目地址: https://gitcode.com/GitHub_Trending/graph/graphify创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →