codegraph

codegraph CodeGraph​ 这个词现在主要指向两类东西一类是给 AI 编程 Agent 用的本地代码知识图谱工具colbymchenry/codegraph最近很火另一类是更广义的“把代码建成图来做程序分析”的方法论Code Property Graph / 代码知识图谱。下面分开说。1. 作为工具的 CodeGraphcolbymchenry/codegraph定位本地优先的代码知识图谱引擎 MCP 服务器专门解决 AI Agent 在大型仓库里反复grep/Read找上下文的问题。核心思路用tree-sitter把源码解析成 AST抽出节点函数 / 类 / 方法 / 变量 / 路由 / 组件和边calls / imports / extends / implements / references。存进项目下的.codegraph/codegraph.dbSQLite FTS5 全文索引OS 文件监听增量同步。通过MCP 协议暴露给 Claude Code、Cursor、Codex CLI、Gemini CLI 等Agent 一次codegraph_explore就能拿到符号定义 调用路径 改动影响半径不再扫文件。能干啥符号搜索FTS5带类型/签名/位置callers/callees调用链追踪impact改一个函数会炸哪里框架路由识别Django/Express/Spring 等 URL→handlercodegraph affected配合 git diff 定位要跑的测试装和用npm i -g colbymchenry/codegraph # 或官网 install.sh 自带运行时版 cd your-project codegraph init # 建图 codegraph install # 写 MCP 配置到 Claude/Cursor重启 Agent 即可。官方 benchmark 说在 VS Code 这种 ~10k 文件仓库里Agent 回答架构问题的工具调用能降 ~58%、耗时降 ~22%。同名的还有 VS Marketplace 里另一个aStudioPlus.codegraph带 embedding 语义搜索、45 个 MCP 工具以及基于 NeuGzvec 的codegraph-ai——名字撞车但“本地代码图 Agent 查询”这个形态是一致的。2. 作为概念的 CodeGraph代码知识图谱 / CPG不绑定某个仓库时CodeGraph 把源代码建模成多语义图节点AST 节点、CFG 块、函数、类、变量、API边调用、继承、数据依赖、控制依赖、引用、导入常融合 AST CFG 数据流图即 Joern 提出的Code Property Graph用途落在程序分析侧漏洞传播追踪、跨文件影响分析、语义级代码搜索、GNN 代码表征、Copilot 类训练数据组织等。这块和上面那个工具的关系是——工具是这个概念在 AI Agent 场景下的轻量落地用 SQLite 代替图数据库用 MCP 代替 GNN 训练。3. 什么时候值得用仓库 1k 文件、跨模块依赖多、Agent 经常“找半天代码” → 收益明显几个文件的小脚本、纯配文件搜索、运行时动态行为分析 → 直接 grep / 跑测试更好建图反而是开销