AI 编程助手已经越来越常见。很多人会用 Claude Code、Cursor、Codex CLI 这类工具来读代码、改代码、解释架构、定位 bug。
但 AI 经常会遇到一个问题,尤其是项目比较大的时候:它并不是真的掌握了整个代码库的结构,而是在不断搜索文件、读取文件、猜测关系。
比如你问:这个请求最后是怎么走到数据库查询的?
如果没有更好的索引,AI 可能会从 route 开始搜索,打开几个 controller,再继续找 service、model、query builder。过程中它会消耗很多 token 和工具调用,而且一旦漏掉某个框架约定或隐式调用,结论就可能不完整。
而 CodeGraph 要解决的,就是这个问题。它为代码库建立一个本地的代码知识图谱,让 AI 编程助手可以直接查询代码结构,而不是每次都从零开始翻文件。
CodeGraph 是什么
CodeGraph 是一个面向 AI 编程助手的本地代码智能工具。
它会扫描项目,解析代码里的函数、类、方法、组件、路由、导入关系和调用关系,并把这些信息保存到本地 SQLite 数据库中。之后,AI agent 可以通过 MCP Server 查询这些结构化信息。
简单说:CodeGraph 把代码库从“一堆文件”,变成 AI 可以查询的“结构化知识图谱”。
它不是云服务,不需要上传代码,也不需要 API key。索引数据保存在项目本地的 .codegraph/ 目录里。
它解决了什么问题
AI 编程助手最耗时间的地方,往往不是「写代码」,而是「找上下文」。
没有 CodeGraph 时,AI 需要反复搜索和读取文件。有 CodeGraph 后,AI 可以直接查询:
- 某个符号在哪里定义
- 谁调用了这个函数
- 这个函数调用了什么
- 修改某个方法可能影响哪里
- 某个任务相关的入口和代码片段有哪些
- 项目的文件结构和符号结构是什么样的
这些问题本来可能需要多轮文件探索,现在可以通过结构化查询更快完成。
项目 README 中给出的 benchmark 显示,在 7 个真实开源项目上,CodeGraph 平均带来了:
- 35% 更低成本
- 57% 更少 token
- 46% 更快响应
- 71% 更少工具调用
这些收益的来源并不神秘:AI 少做了大量「找文件、读文件、再找文件」的工作,而是直接从预先建立好的代码图谱中拿上下文。
它和 LSP、普通搜索有什么不同
普通搜索解决的是「某个字符串在哪里出现」。
LSP 主要服务编辑器,擅长补全、诊断、hover、rename、跳转定义等实时开发体验。
CodeGraph 的定位不一样。它更关注 AI agent 如何理解整个代码库。
可以简单理解为:
- 普通搜索:找文本
- LSP:帮助人写代码
- CodeGraph:帮助 AI 理解代码库
CodeGraph 不替代 LSP。LSP 仍然是 IDE 体验的基础。CodeGraph 更像是补上了另一层能力:代码库级别的结构索引、调用关系、影响分析和 AI 上下文构建。
如何安装和初始化
CodeGraph 可以通过官方安装脚本安装,也可以直接用 npm。
如果你已经有 Node,可以直接运行:
1 | npx @colbymchenry/codegraph |
或者全局安装:
1 | npm i -g @colbymchenry/codegraph |
安装器会自动检测本机可用的 AI agent,并帮助写入 MCP 配置和对应的 instructions 文件。
在具体项目中使用时,进入项目目录:
1 | cd your-project |
这会创建 .codegraph/ 目录,并为当前项目建立代码索引。之后,你的 AI 编程助手就可以通过 CodeGraph 查询这个项目了。
怎么使用
CodeGraph 的使用可以分成两层:CLI 和 MCP。
CLI 主要用于安装、初始化、索引、同步和基础检查。
常见命令包括:
1 | codegraph init -i |
这些命令适合开发者自己检查索引状态、搜索符号、查看文件结构。
更核心的能力,则是通过 MCP 提供给 AI agent。
接入 Claude Code、Cursor、Codex CLI 等工具后,agent 可以调用:
codegraph_search:搜索符号codegraph_context:根据任务构建相关代码上下文codegraph_callers:查看谁调用了某个函数或方法codegraph_callees:查看某个函数或方法调用了什么codegraph_impact:分析修改某个符号可能影响哪些代码codegraph_node:查看单个符号的详细信息codegraph_explore:一次性查看多个相关符号和源码片段codegraph_files:获取索引后的文件结构codegraph_status:查看索引健康状态
例如你问:这个登录流程是怎么走到数据库查询的?
agent 可以先用 codegraph_context 找到相关入口,再用 codegraph_explore 查看相关符号和源码片段,必要时通过 codegraph_callers / codegraph_callees 沿调用关系继续展开。
这个过程比从文件系统里一层层搜索更直接,也更容易控制上下文规模。
支持范围
CodeGraph 支持 TypeScript、JavaScript、Python、Go、Rust、Java、C#、PHP、Ruby、C/C++、Swift、Kotlin、Dart、Vue、Svelte、Lua、Luau 等主流语言。
它也能识别一些常见 Web 框架的路由和项目结构,比如 Django、Flask、FastAPI、Express、NestJS、Laravel、Rails、Spring、Gin、Axum、ASP.NET、React Router、SvelteKit、Vue/Nuxt 等。
此外,CodeGraph 支持 macOS、Windows、Linux,并能自动配置 Claude Code、Cursor、Codex CLI、opencode、Hermes Agent 等 AI 编程工具。
完整支持列表可以参考项目 README。
适合谁使用
如果你符合下面任意一种情况,CodeGraph 都值得试试:
- 经常用 AI 编程助手阅读或修改项目
- 项目文件比较多,AI 经常搜索很久才找到重点
- 想让 AI 更稳定地回答架构和调用链问题
- 想减少 AI 的 token 消耗和工具调用次数
- 经常需要分析改动影响范围
- 项目里有多语言、多框架或复杂调用关系
- 想给团队成员提供更好的代码理解入口
总结
CodeGraph 是一个面向 AI 编程时代的代码基础设施项目。
它不直接替你写业务代码,也不是另一个编辑器插件。它做的是一件更底层的事:把代码库整理成 AI agent 可以查询的结构化上下文。
过去,我们为人类开发者准备 IDE、LSP、文档和搜索工具。现在,AI agent 也开始成为代码库的重要读者。它们同样需要更好的索引、更清晰的结构和更高质量的上下文。
CodeGraph 的价值就在这里:它让 AI 不只是「读文件」,而是可以「查代码图谱」。
对于越来越依赖 AI 编程助手的团队来说,这类工具会变得越来越重要。