让AI助手理解陌生代码库,通常是一场漫长的"寻宝游戏"。Claude Code的Explore代理会不断调用grep搜索、glob匹配、Read读取,在成百上千个文件中摸索——而这些调用每一秒都在烧钱。更糟的是,大部分工作并非真正的代码分析,只是在找路:先搞清楚什么东西在哪里,才能开始读真正重要的代码。

CodeGraph想终结这种低效。与其让代理盲目探索,不如直接给它一张地图。

打开网易新闻 查看精彩图片

这是一个开源工具,为你的代码库构建预索引的知识图谱:符号、调用关系、导入依赖、继承链、代码结构。代理一次性查询图谱,而非逐个扫描文件。它以MCP服务器形式接入Claude Code,MIT协议开源,支持19种以上语言,完全本地运行——无需API密钥,数据不出本机,只有一个SQLite数据库。

技术实现分为四步:tree-sitter解析源码生成AST,语言专属查询提取节点(函数、类、方法)和边(调用、导入、继承、实现);全部存入本地SQLite数据库,配备FTS5全文检索;解析引用关系,函数调用映射到定义、导入映射到源文件、类继承链可追溯;文件监控通过原生OS事件自动同步图谱,变更经防抖处理后即时更新,零配置。

当代理需要理解代码时,向图谱提问一次,即可获得入口点、关联符号和代码片段。

维护者在六个真实代码库上做了对比测试,包括VS Code、Excalidraw和Swift编译器。报告显示:平均减少92%的工具调用,探索速度提升71%。具体案例:在VS Code代码库中,回答"扩展宿主如何与主进程通信"这一问题,无CodeGraph时需要52次工具调用,有CodeGraph仅需3次。某Java代码库中,代理甚至通过单次CodeGraph调用、零文件读取就完成了完整回答。

需要说明的是,这些为自报的单查询基准测试,应视为最佳情况。但核心逻辑不依赖具体数字——给代理结构化索引而非强迫其盲目探索,本身就是合理的设计。

安装只需一条命令:npx @colbymchenry/codegraph。它会全局安装CodeGraph,在Claude配置中设置MCP服务器,配置自动授权权限,并添加全局指令。重启Claude Code后,进入项目目录执行codegraph init -i初始化。一旦.codegraph/目录存在,Claude Code会自动调用这些工具。

即便抛开AI场景,codegraph affected这个命令也值得关注:它追踪导入依赖,显示某文件变更会影响哪些其他文件——这对重构前的风险评估极为实用。