跳到主要内容

CodeGraph - 把代码库变成知识图谱,让 AI 编程少花 35% 的钱

· 阅读需 4 分钟
一介布衣
全栈开发者

痛点

用过 Claude Code、Cursor 这类 AI 编程工具的人都知道一个毛病:每次问问题,它都要重新 grep、read 一堆文件。代码库大一点,token 消耗蹭蹭涨,工具调用次数也多。

CodeGraph 的思路很直接——把代码库提前解析成知识图谱,存到本地 SQLite。AI 智能体直接查图谱,不用反复扫文件。

官方数据:约节省 35% 费用,减少约 70% 工具调用。完全本地运行,不传数据到云端。

它是什么

CodeGraph 把你的代码库解析成一张语义知识图谱:

  • 节点 = 函数、类、方法
  • = 调用关系、导入关系、继承关系

AI 编程智能体(Claude Code、Cursor、Codex CLI、Hermes Agent 等)直接查询这张图谱,而不是用 grep/Read 反复扫描文件。

安装

一行命令搞定,不需要 Node.js(它自带运行时):

# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh

# 或者通过 npm
npx @colbymchenry/codegraph

初始化

进入项目目录,交互式初始化:

cd your-project
codegraph init -i

安装器会自动配置你的 AI 工具,支持 Claude Code、Cursor、Codex CLI、opencode、Hermes Agent、Gemini CLI 等。

核心命令

codegraph status          # 查看索引状态
codegraph index # 重新索引(代码变更后)
codegraph context "修复登录 bug" # 根据任务描述定位相关代码
codegraph serve --mcp # 启动 MCP 服务器供 AI 智能体使用

AI 智能体怎么用它

初始化完成后,重启 Claude Code / Cursor 即可。Agent 检测到 .codegraph/ 目录会自动加载 CodeGraph 工具:

工具用途
codegraph_context根据任务描述定位相关代码区域
codegraph_search搜索符号(函数/类名)
codegraph_callers查找谁调用了某个函数
codegraph_callees查找某函数调用了哪些函数
codegraph_trace追踪完整调用链路
codegraph_explore获取某区域的完整源码上下文

支持范围

  • 19 种语言:TypeScript、JavaScript、Python、Go、Rust、Java、C#、PHP、Ruby、C/C++、Swift、Kotlin、Scala、Dart、Svelte、Vue、Lua/Luau 等
  • 14 个 Web 框架:Django、Flask、FastAPI、Express、NestJS、Laravel、Rails、Spring 等路由识别

使用技巧

1. 排除大目录

node_modulesvendordist 这些目录没必要索引,初始化时排除掉,速度会快很多:

codegraph init -i --exclude "node_modules,vendor,dist,.git"

2. 代码变更后记得重新索引

codegraph index

可以加 --quiet 减少输出开销。

3. 用 context 代替 grep

与其让 AI 反复 grep -r "functionName",不如直接:

codegraph context "找出用户认证相关的所有代码"

图谱会直接返回相关的函数、类、调用链,一步到位。

4. 追踪调用链

想知道某个函数被谁调用、调用了谁:

codegraph callers SomeClass.someMethod   # 谁调用了它
codegraph callees SomeClass.someMethod # 它调用了谁
codegraph trace SomeClass.someMethod # 完整调用链路

5. MCP 模式

对于支持 MCP 的智能体,可以启动 MCP 服务器:

codegraph serve --mcp

这样智能体可以实时查询图谱,不需要每次重新索引。

常见问题

问题解决
CodeGraph not initialized先在项目目录运行 codegraph init
索引速度慢检查是否排除了 node_modules 等大目录
MCP 不连接确保已初始化并完成索引,测试 codegraph serve --mcp

适合谁

  • 代码库比较大(几十万行以上),AI 编程时 token 消耗高的
  • 重度使用 Claude Code / Cursor 的
  • 需要频繁理解不熟悉的代码库的

项目越大,收益越明显。小项目可能感知不明显,但也没啥成本,装了就装了吧。

相关链接