Graphify Skill:把代码库变成可查询知识图谱的代码智能神器

Graphify Skill:将代码库转化为可查询知识图谱的代码智能工具

功能与原则

Graphify 是一款将任意代码库(配套文档、SQL Schema、配置文件、PDF)实时转化为可查询知识图谱的 CLI 工具。核心原则是「用图查询代替文件搜索」——构建完成后,开发者可以用自然语言提问、查询两点间路径、或解释任意概念,一切基于 graph.json 而非逐文件 grep。代码解析完全基于 tree-sitter AST(本地执行、无 LLM 调用、零数据外传),文档和媒体文件才调用配置的模型 API。

认可度

  • GitHub Star:约 99.9k(截至 2026-08-01)
  • Fork:约 9.7k
  • 近期趋势:GitHub Trending 常驻,5 小时前刚有 commit,Search 结果 top 4
  • 版本:0.9.31(2026-07-31)
  • 许可:Apache-2.0
  • Y Combinator:S26 入选项目
  • Benchmark:LOCOMO recall@10 为 0.497(mem0 仅 0.048,supermemory 仅 0.149);LongMemEval QA 准确率 76%,与 dense RAG 持平;图构建 LLM 消耗为 0(代码部分)

链接

GitHub:https://github.com/Graphify-Labs/graphify

原作者

Graphify-Labs(主导贡献者 @safishamsi);Y Combinator S26 加速器支持项目,团队背景为代码智能方向。

介绍

Graphify 起源于一个朴素痛点:大型代码库里,一个概念散布在几十个文件中,传统 grep/Read 工具无法告诉你「A 和 B 之间是如何关联的」。Graphify 用知识图谱替代了这一流程——每个代码对象(类/函数/变量/接口)作为节点,边代表调用、导入、继承、引用等关系,全部由 tree-sitter AST 解析器自动抽取,完全本地执行。

安装后只需两条命令:uv tool install graphifyygraphify install,然后在 AI 助手中输入 /graphify . 即可生成三类产物:graph.html(可交互图)、GRAPH_REPORT.md(高层摘要)、graph.json(全量图供后续查询)。支持持续更新:配合 Git hook 可在每次 commit 后自动增量重建图谱,团队成员直接复用同一张图,无需各自重跑。

Graphify 还支持将 docs、PDF、图片、视频、YouTube 视频也映射进同一张图谱(调用 AI 模型做语义提取),真正实现「代码 + 文档 + 视频」统一的查询界面。

特点

  • tree-sitter AST 本地解析:代码部分完全不调用 LLM、不外传数据,覆盖 36 种 tree-sitter 语法、40+ 编程语言
  • 图查询替代文件搜索graphify query "<question>" 返回 scoped 子图;graphify path A B 追踪任意两点间路径;graphify explain "<node>" 输出节点详情和连接
  • 全链路置信标签:每条边标注 EXTRACTED(源码直接读取)或 INFERRED(由图推理),用户始终知道信息来源
  • Benchmark 领先:LOCOMO recall@10 = 0.497(竞品最高 0.149);QA 准确率 76% 对标 dense RAG;图构建零 LLM 成本
  • 多平台开箱即用Claude Code、Cursor、Codex、Copilot、Kimi Code、Gemini CLI、OpenClaw 等 20+ 平台均有官方集成,一条命令完成技能注册

使用方法

安装(推荐 uv):

uv tool install graphifyy
graphify install

构建图谱:

/graphify .   # 当前目录构建完整图谱

查询图谱(构建完成后):

graphify query "show the auth flow"
graphify path "UserService" "DatabasePool"
graphify explain "RateLimiter"

团队协作(commit 后自动重建):

graphify hook install   # 每次 git commit 自动增量更新

持续更新 docs:

/graphify ./docs --update

输出三个文件:

graphify-out/
  graph.html       # 浏览器打开,可视化交互图
  GRAPH_REPORT.md  # 高层摘要、God nodes、跨文件连接
  graph.json       # 全量图,随时 query

使用场景与人群

  • 大型代码库维护者:快速理解陌生项目结构、追踪跨文件依赖关系
  • AI 编程工具用户:让 Claude Code/Cursor 等在读代码前先查图谱,减少 token 消耗、提升回答准确率
  • 技术 lead / 架构师:快速摸清系统全貌,发现隐藏的循环依赖或不合理耦合
  • 多语言/混合项目:代码 + 文档 + PDF 统一映射,避免割裂

输入与输出案例

案例一:查询节点

Input: graphify explain "APIRouter"
Output:
  Node: APIRouter
  Source: routing.py L2210
  Community: 2
  Degree: 47
  Connections (47):
    --> RequestValidationError [uses] [INFERRED]
    --> Dependant [uses] [INFERRED]
    --> .get() [method] [EXTRACTED]
    <-- __init__.py [imports] [EXTRACTED]
    ...

案例二:路径追踪

Input: graphify path "FastAPI" "ModelField"
Output:
  Shortest path (3 hops):
  FastAPI --uses--> DefaultPlaceholder
  <--references-- get_request_handler()
  --references--> ModelField

GitHub: https://github.com/Graphify-Labs/graphify

评论区

0 条评论

登录后可评论。

Skill超级捕获手 12 阅读