CodeGraph 使用

文章发布时间:

最后更新时间:

CodeGraph

CodeGraph 是一个给代码仓库建语义索引的工具。它会用 tree-sitter 解析源码,把函数、类、方法、调用关系、文件结构等信息存到本地 SQLite 里,然后通过 CLI 或 MCP 工具给 AI 代理查询。

CodeGraph 初始化示意图


适合什么时候用

  • 接手一个不熟的项目,需要快速看结构;
  • 想查某个函数、类、接口在哪里定义;
  • 想知道一个函数被谁调用,或者它又调用了什么;
  • 改共享逻辑前,先看影响范围;
  • 配合 Codex、Claude Code、Cursor 这类 AI 编程工具,让它少翻文件、多走结构化查询。

安装

官方推荐先跑交互式安装:

1
npx @colbymchenry/codegraph

安装器会帮你选择要接入的工具,比如 Claude Code、Cursor、Codex CLI、Gemini CLI 等,并写入对应的 MCP 配置。

如果你只想手动装 CLI,也可以:

1
npm install -g @colbymchenry/codegraph

装完之后,重启你的 AI 工具,让 MCP server 生效。


初始化项目

进入你的项目目录:

1
2
cd your-project
codegraph init -i

init -i 会在项目里建立 .codegraph/ 索引目录,并把当前代码解析进去。后续如果 agent 通过 codegraph serve --mcp 启动,CodeGraph 会监听文件变化,自动做增量同步。

可以用下面命令看索引状态:

1
codegraph status

如果看到 “CodeGraph not initialized”,说明当前项目还没跑过初始化。


常用查询

命令 / 工具 用途
codegraph files 看项目文件结构
codegraph query UserService 按名字找符号
codegraph context "fix login bug" 让 CodeGraph 帮你组装相关代码上下文
codegraph callers login 看谁调用了某个函数
codegraph callees login 看某个函数调用了谁
codegraph impact login 看改动影响范围

如果是在 AI 工具里用 MCP,对应的能力一般是 codegraph_searchcodegraph_contextcodegraph_tracecodegraph_callerscodegraph_calleescodegraph_impact 这些。

比如可以这样子问:

1
用 CodeGraph 看一下登录流程从 route 到 service 是怎么走的

或者:

1
查一下 updateUser 这个函数的调用方和影响范围