CodeGraph:给 Claude Code 先铺一张代码地图
让 Claude Code 去读一个大项目,最烦人的地方不是它不聪明。
是它会先到处翻。
grep 一下,glob 一下,再 Read 几个文件。项目小的时候还好,代码库一大,前几分钟经常都在“找门”。token 也跟着往外流,像开着水龙头洗手,手还没碰到肥皂。
我刚看 CodeGraph 的 demo 时,停在了一个点上:它干脆提前把代码库扫一遍,建成一张语义图谱。
后面 Claude Code 再问“这个调用链怎么走”“这个类谁继承了”“这个路由最后落到哪个 handler”,就不用一层层读文件了,直接查图。
CodeGraph 是一个给 Claude Code 用的本地代码知识图谱工具,仓库描述里写得很直白:给 Explore agent 一份预索引的 knowledge graph,让它查符号关系、调用图和代码结构,而不是临时扫文件。
这个思路听起来不复杂,但放到 Claude Code 的工作流里,变化挺明显。
项目作者拿 6 个真实代码库做了对比,平均工具调用减少 92%,探索速度提升 71%。比如 VS Code 这个 TypeScript 项目,用 CodeGraph 是 3 次工具调用、17 秒;不用则是 52 次工具调用、1 分 37 秒。
我更在意的是另一个小数字:文件读取为 0。
这说明它不是把“读文件”换成“多读几个摘要”,而是让 Explore agent 在很多探索问题里先相信图谱返回的上下文。问 VS Code 的 extension host 怎么跟 main process 通信,问 Excalidraw 的协同编辑怎么同步,问 Swift Compiler 的错误诊断怎么走,都可以先从图里拉出路径。
这类工具平时最容易写成“提高效率”。
但真正用过 AI 写代码的人,大概知道痛点在哪。
你让模型改一个认证逻辑,它第一步往往不是改,而是确认入口、找到 controller、追 service、看数据库层、再回来看 middleware。中间任何一步找错了,后面就会开始一本正经地改偏。
CodeGraph 做的事,是把这段探索前置掉。
它会识别函数调用、调用方、被调用方、符号节点,也能在动手前查影响范围。比如准备改一个函数,可以先看哪些地方会被波及,再决定是不是该顺手补测试。仓库里给 Claude Code 配的轻量工具就包括 search、callers、callees、impact、node 这些。
还有一个挺实用的地方:它没有只盯着库内部符号。
很多后端项目真正麻烦的是路由。
函数明明在那里,但你不知道哪个 URL 会打到它。CodeGraph 会识别框架路由,把 URL pattern 和 handler 连起来。Django、Flask、FastAPI、Express、Laravel、Rails、Spring、Gin、ASP.NET、SvelteKit 这些都在它的支持范围里。
所以它适合的场景很明确。
不是那种十几个文件的小脚本。
是你经常打开一个陌生仓库,让 Claude Code 解释“这块到底怎么跑起来”的项目。或者项目已经写了很久,目录层级多,调用链散,团队里没人敢轻易碰某个老模块。
安装倒是没搞得很重。
npx @colbymchenry/codegraph 跑安装器,然后在项目里 codegraph init -i。它会配置 Claude Code 的 MCP server,项目里有 .codegraph/ 后,Claude Code 就能自动用 CodeGraph 工具。数据存在本地 SQLite,不需要 API key,也不依赖外部服务。
支持语言也覆盖得挺宽,TypeScript、JavaScript、Python、Go、Rust、Java、C#、PHP、Ruby、C、C++、Swift、Kotlin、Dart 等都在列表里。文件保存后还会通过系统文件事件自动同步图谱,不用每改一次代码就手动重建。
我不会说它能让 Claude Code 突然变成架构师。
但它确实把一件很耗 token 的事搬到了前面:先给项目画地图,再让模型走路。
如果你现在已经把 Claude Code 当成日常重构和读代码工具,CodeGraph 这种东西很容易变成装完就不太想卸的插件。
GitHub地址: colbymchenry/codegraph