恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
graphify 技术解析:把任意代码库与文档变成可查询的知识图谱
首页
资讯中心
/
graphify 技术解析:把任意代码库与文档变成可查询的知识图谱
graphify 技术解析:把任意代码库与文档变成可查询的知识图谱
发布时间:2026/9/6 21:33:23
graphify 技术解析把任意代码库与文档变成可查询的知识图谱【免费下载链接】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 是一个 AI 编码助手技能Skill在 Claude Code、Codex、OpenCode、Cursor、Gemini CLI、GitHub Copilot CLI、VS Code Copilot Chat、Aider、OpenClaw、Factory Droid、Trae、Hermes、Kiro、Google Antigravity 等助手中输入/graphify它会读取你的文件、构建一张知识图谱并把代码库中你自己都未必察觉的结构关系交还给你。本篇基于仓库中的 印地语版 README与 英文 README 同源展开并结合 docs/how-it-works.md 与核心源码讲清 graphify 的三阶段流水线、置信度标记体系、输出产物、安装与全部常用命令读完即可在自己的仓库上完整落地并验证每一步行为。为什么需要知识图谱而不是向量检索graphify 的定位可以用三句话概括完全多模态。代码、PDF、Markdown、截图、图表、白板照片、其他语言中的图片乃至音视频文件graphify 都能从中抽取概念与关系并统一接入同一张图。视频通过 faster-whisper 在本地转写。代码侧通过 tree-sitter AST 支持 25 种编程语言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。图拓扑驱动聚类而非向量嵌入。Claude 抽取的语义相似边semantically_similar_to本来就在图里因此社区发现算法Leiden直接被图结构影响不需要单独的 embedding 步骤或向量数据库。每条边都可解释。每个关系都带有EXTRACTED、INFERRED或AMBIGUOUS标签你能始终分清直接读到的和推断出来的。仓库中 worked/ 目录保留了真实语料的输入与完整输出GRAPH_REPORT.md、graph.json、review.md例如 worked/httpx/GRAPH_REPORT.md可用于对照本文描述自行复现验证。三阶段流水线从文件到可查询图graphify 按三个阶段处理文件这与 docs/how-it-works.md 中的描述一一对应也是 docs/translations/README.hi-IN.md 中यह कैसे काम करता है一节的主体Pass 1 — 代码结构本地、确定性、不调用任何 LLM。tree-sitter 解析代码文件抽取类、函数、导入、调用图与行内注释全程本地完成。纯代码语料会完全跳过 Pass 3语义抽取只保留给文档、论文、图片与转写文本。这一阶段由 graphify/extractors/ 下的各语言抽取器实现engine.py、go.py、rust.py、sql.py等SQL 文件还得到特殊处理表、视图、外键与 JOIN 关系被确定性地抽取出来。Pass 2 — 音视频本地、不调用 API。视频与音频由 faster-whisper 本地转写。转写提示词会用你代码图中度最高的god nodes做领域种子使转写文本聚焦于你的项目语境转写结果带缓存重跑时跳过已处理文件。Pass 3 — 文档、论文、图片LLM 子代理并行、消耗 tokens。Claude 子代理在 Markdown、PDF、图片与转写文本上并行运行每个子代理读取一批文件并输出 JSON 片段节点、边、组关系片段被合并进一张 NetworkX 图。合并后执行 Leiden 社区发现做聚类最终导出为交互式 HTML、可查询 JSON 与审计报告。聚类这一步在 graphify/cluster.py 中实现优先调用 graspologic 的 Leiden其中 graphify/cluster.py 的_native_leiden还会绕过 graspologic 包导入直连其 Rust 原生扩展以避免约 7–19 秒的一次性导入开销未安装时回退到 networkx 内置的 Louvainresolution 1.0得到更多更小的社区 1.0则得到更少更大的社区——这正是/graphify --cluster-only --resolution 1.5这类命令的底层机制。增量处理由 SHA256 内容哈希缓存支撑每个被抽取的文件都按内容指纹记录重跑时完全跳过未变更文件只有新增或修改的文件重新走抽取。实现见 graphify/cache.py缓存落在graphify-out/cache/。从源码结构看AST 缓存条目还会按包版本与缓存键 schema 做命名空间隔离cache/ast/v{version}-s{schema}/而语义缓存刻意不做版本化以避免每次发版重复计费——这是文档SHA256 कैश一节的源码级解释。输出产物 graphify-out/执行/graphify .后得到如下目录与原文档一致graphify-out/ ├── graph.html # 交互式图谱 —— 在任意浏览器打开点击节点、搜索 ├── GRAPH_REPORT.md # god nodes、意外连接、建议问题 ├── graph.json # 持久化图谱 —— 数周后仍可直接查询 └── cache/ # SHA256 缓存 —— 重跑时只处理变更过的文件graph.html可在任意浏览器中打开支持点击节点、过滤与搜索GRAPH_REPORT.md是高亮点报告见下文报告里有什么graph.json采用 NetworkX node-link 格式每个节点含id、label、file_typecode/document/paper/image/rationale、source_file每条边含source、target、relationcalls、imports、implements、semantically_similar_to等动词短语、confidence标签与confidence_score仅 INFERRED 边3 个及以上节点的组关系超边存放在G.graph[hyperedges]中。报告生成逻辑可见 graphify/report.pygod nodes 即按边数degree排序输出。忽略规则.graphifyignore用.graphifyignore文件排除不需要的目录语法与.gitignore相同含!取反# .graphifyignore vendor/ node_modules/ dist/ *.generated.py从源码结构看该文件的匹配逻辑分布在 graphify/detect.py 与 graphify/extract.py 中英文 README 进一步说明.gitignore会被自动读取两者同时存在时合并生效且.graphifyignore后评估冲突时胜出子目录作用域与 git 一致。安装前提Python 3.10见 pyproject.toml 中requires-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与 pyproject.toml 中name graphifyy一致PyPI 上其他graphify*命名的包与本项目无关。CLI 命令始终叫graphify入口定义见 pyproject.toml 的[project.scripts]graphify graphify.__main__:main另有一个graphify-mcp入口指向 graphify/serve.py。平台支持原文档给出完整的平台安装命令表完整继承如下平台安装命令Claude Code (Linux/Mac)graphify installClaude Code (Windows)graphify 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 traeGemini CLIgraphify install --platform geminiHermesgraphify install --platform hermesKiro IDE/CLIgraphify kiro installCursorgraphify cursor installGoogle Antigravitygraphify antigravity install安装完成后打开你的 AI 编码助手并输入/graphify .各平台安装行为的差异写哪些指令文件、装哪些 hook在 graphify/install.py 与各skill-*.md文件如 graphify/skill.md中定义安装逻辑可用 tests/test_install.py 与 tests/test_install_roundtrip.py 对照验证。使用构建、查询与维护原文档的完整命令清单直接可用/graphify # 当前目录 /graphify ./raw # 指定文件夹 /graphify ./raw --update # 只重新抽取变更过的文件 /graphify ./raw --directed # 有向图 /graphify ./raw --no-viz # 仅报告 JSON /graphify ./raw --obsidian # 生成 Obsidian vault /graphify add https://arxiv.org/abs/1706.03762 # 抓取论文 /graphify add video-url # 转写视频 /graphify query attention 和 optimizer 之间有什么联系? /graphify path DigestAuth Response /graphify explain SwinTransformer graphify hook install # 安装 Git hooks graphify update ./src # 重新抽取代码文件无需 LLM graphify watch ./src # 自动同步图谱更新这些命令背后分别对应 CLI 子命令实现graphify/cli.py、graphify/main.pyquery对graph.json做一次范围化子图检索适合X 和 Y 之间如何连接这类问题path计算两节点间最短路径逐步列出每一跳explain输出节点的来源位置、所属社区、度数与完整连接列表hook install注册 post-commit / post-checkout hooks使提交与切分支时自动重建图谱纯 AST无 API 成本update只走确定性 AST 路径不调用 LLMwatch基于文件变更监听自动同步。query/path/explain的行为分别由 tests/test_query_cli.py、tests/test_path_cli.py、tests/test_explain_cli.py 覆盖可作为行为契约参考。报告里有什么原文档आपको क्या मिलता है一节列出的六项能力逐条对应源码可查证God nodes枢纽节点——连接度最高的概念一切数据都流经它们。意外连接surprising connections——按组合评分排序代码-论文边会获得更高排名。建议问题suggested questions——4–5 个该图特别擅长回答的问题。为什么rationale——docstring、行内注释与设计动机被抽取为rationale_for节点链接到所解释的代码。置信度分数——每条INFERRED边都带confidence_score0.0–1.0。按 docs/how-it-works.md 的离散标准EXTRACTED 边恒为 1.0INFERRED 边取 0.95几乎确定显式跨文件引用且只有一个合理目标、0.85强证据命名与上下文吻合、0.75合理上下文相关但不显式、0.65弱仅命名相似、0.55推测AMBIGUOUS边则被标记供人工复核。Token 基准——每次运行后自动打印。混合语料上相比直接读原始文件每次查询减少 71.5 倍 tokens。该数据在 docs/how-it-works.md 中有完整基准表52 文件混合语料 71.5x、4 文件 5.4x、6 文件约 1x并说明 token 节省随语料规模增长——小语料已在上下文窗口内时图的价值在于结构清晰度而非压缩。隐私与数据边界原文档的隐私一节给出了明确的数据流边界这也是 graphify 的架构设计原则代码文件通过 tree-sitter 在本地处理不出机器纯代码语料可完全离线运行音视频文件通过 faster-whisper 在本地转写不出机器文档、论文、图片其内容会发往你 AI 助手的模型 API 做语义抽取经由/graphify技能使用你 IDE 会话中的模型无遥测、无跟踪、无分析统计。小结graphify 的核心工程取舍在 docs/translations/README.hi-IN.md 中已经说得很清楚代码侧走确定性 AST 抽取零成本、可复现、可增量语义侧才动用 LLM而聚类完全由图拓扑驱动、不引入向量库。结合 graphify/cluster.py、graphify/cache.py 与 docs/how-it-works.md 可以看到Leiden/Louvain 回退链、SHA256 内容缓存与 EXTRACTED/INFERRED/AMBIGUOUS 三级置信度标签是这套可查询、可审计、可增量图谱的三个支柱。安装graphifyy包、graphify install注册技能后对任意文件夹执行/graphify .即可得到graph.html、GRAPH_REPORT.md与graph.json三个产物并在此之上用query、path、explain持续查询。【免费下载链接】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),仅供参考