让 AI 学会”先看地图再开车”,你的 token 账单立刻瘦一圈。
让 Claude Code 在几千文件的老项目里改代码,它会先 ls、再 grep、然后 Read 一堆文件——token 烧光,还没找到地方。
CodeGraph 干的事就一件:让 AI 先看提前画好的代码地图。官方在 6 个真实代码库实测,平均少 92% 工具调用,快 71%。
下面把它是什么、为什么省 token、Windows 怎么装,一次讲清。
一、CodeGraph 到底是个啥
一句话:CodeGraph 是一个跑在本地的”代码知识图谱”服务,专门让 AI 编程助手跑得更快、烧得更少。
说人话——它提前把你整个项目的代码结构(谁调用了谁、哪个类继承自哪、哪个路由对应哪个处理函数)解析成一张图,存在本地的 SQLite 数据库里。AI 要找代码的时候,直接查这张图,而不是把一堆文件硬塞进上下文。
核心能力一览
| 能力 | 干什么 |
|---|---|
| 智能上下文 | 一次调用拿回入口函数、相关符号、源码片段 |
| 全文搜索 | 基于 SQLite FTS5,毫秒级符号查找 |
| 影响分析 | 改一个函数前,先看会牵连到哪些地方 |
| 调用链追踪 | callers / callees 双向追踪 |
| 自动同步 | 文件一改就增量更新,无需手动重建 |
| 路由识别 | 支持 Django/Flask/FastAPI/Express/Laravel 等 13 个框架 |
| 多语言 | TypeScript、Python、Go、Rust、Java、Swift……共 19+ 种 |
| 100% 本地 | SQLite + Tree-sitter,零云端调用,没有 API key |
它是怎么”画地图”的
整个流程就四步:
- 提取 — 用 Tree-sitter 把源码解析成 AST(抽象语法树),提取出函数、类、调用关系
- 存储 — 全部塞进
.codegraph/codegraph.db这个 SQLite 文件 - 解析 — 把”函数调用 → 函数定义”、“import → 源文件”这些关系连起来
- 自动同步 — 监听你本地的文件改动,用 Windows 的
ReadDirectoryChangesW系统 API 实时增量更新
TIP这就像你给老板做汇报前先画了张组织架构图。下次他问”研发归谁管”,你不用翻 50 个微信群,直接指着图说”归 Tony”。
适用场景
- 接手别人留下的老项目,想让 AI 一两句话讲清架构
- 在大型代码库(几千到几万文件)里让 Claude Code 跑得更快
- 想让 AI 改代码前先做影响分析,避免改 A 炸 B
- 本地、离线敏感代码,不想让任何东西离开你的电脑
- 单纯就是嫌 token 烧得太多,想省点钱
二、为什么 CodeGraph 能省这么多 token
先讲一个很反直觉的事实:AI 在你代码库里乱翻的时间,比真正写代码的时间还长。
接手新项目,你打开 Claude Code 问:“用户登录是怎么走的?”
它会怎么做?
它先 ls 看目录,然后 grep "login",跳出二十多个文件;再 Read 进来看十几个,边读边猜哪个是入口;读完发现还得追到中间件,继续 grep "middleware"……一通操作 1 分多钟,光是探索就烧掉七八万 token。
而 CodeGraph 怎么做?
提前把项目里所有”调用关系”都存好。AI 一句 codegraph_explore("用户登录流程"),直接拿回登录入口函数 + 调用链上的所有方法 + 源码片段。3 次调用,17 秒,搞定。
这就是 README 里那张 benchmark 表的真实含义——不是 CodeGraph 比 grep 快,而是它让 AI 跳过了”探索”这个最烧钱的环节。
同类工具横评
CodeGraph 不是唯一一个干这事的。我把市面上几个主流方案拉出来对比一下:
| 工具 | 核心方式 | 适合场景 | 主要限制 |
|---|---|---|---|
| CodeGraph | Tree-sitter + SQLite 图数据库 + MCP | Claude Code / Cursor / Codex 用户,大中型项目 | 仅支持 19 种语言,新协议工具适配 |
| Serena | LSP(语言服务器协议)+ MCP | 想用 IDE 原生符号能力,要 go-to-definition 这种精度 | 依赖各语言的 LSP 服务,启动较慢 |
| Aider RepoMap | ctags + PageRank 重要性打分 | Aider CLI 用户,中小项目 | 仅 Aider 内部用,不对外暴露 MCP |
| claude-context | 向量嵌入(Embedding)+ Zilliz Milvus | 需要”语义模糊匹配”,找意图相近的代码 | 需要嵌入模型,有 API 费用 |
| CocoIndex Code | Tree-sitter + AST 分块 + 增量更新 | 需要把代码丢给外部 LLM 做 RAG | 仍在快速迭代,生态较新 |
| GitNexus | MCP 原生知识图谱 + Git 历史感知 | 关注代码演化、提交关联 | 较新,语言支持比 CodeGraph 少 |
怎么选?一张决策图给你
- 你只用 Claude Code/Cursor/Codex,想立刻见效 → 选 CodeGraph,装完就能用,benchmark 数据最硬
- 你需要 IDE 级精度,愿意忍受多语言 LSP 的折腾 → 选 Serena
- 你只用 Aider,不打算换工具 → 直接用它内置的 RepoMap,别折腾
- 你的需求是”找语义相似的代码”,不是”找精确符号” → 选 claude-context 走 Embedding 路线
- 你要给自己的 LLM 应用做 RAG,不只是给 AI 助手用 → 看 CocoIndex Code
泼一盆冷水CodeGraph 不是万能药,它解决的是”探索阶段”的开销,不是”写代码本身”的开销。
几个前提条件先想清楚:
- 你的项目得够大,至少 100 个文件以上,小项目用它纯属杀鸡用牛刀
- 你用的得是 Claude Code、Cursor、Codex 或 opencode 这四个工具之一
- 你的项目语言得在它支持的 19 种里(主流的都有,但 Elixir、Haskell 这种小众的还不行)
- 第一次索引大项目要等几分钟,Swift 编译器 25,000 多文件用了 4 分钟——后续都是增量,不会再花这个时间
如果你的项目只有十几个文件,或者你不用上面几个 AI 助手,装它没意义。
三、Windows 上怎么装 CodeGraph(保姆级)
好了,终于到了你最想看的部分——Windows 实战安装。
我把整个流程拆成 5 步,每一步都给具体命令,跟着做就行。预计耗时:10 分钟。
工具组合清单
| 工具类型 | 工具名 | 用途 |
|---|---|---|
| 运行时 | Node.js 18+ | CodeGraph 用 Node 写的,必装 |
| 客户端 | Claude Code / Cursor / Codex CLI / opencode | 至少装一个,作为 CodeGraph 的”使用者” |
| 主角 | @colbymchenry/codegraph | 本体,通过 npm 拉取 |
| 数据库 | better-sqlite3(可选) | 原生 SQLite 绑定,跑得快 |
| 构建工具 | Visual Studio Build Tools(可选) | better-sqlite3 编译需要 |
第一步:一句话让 Claude Code 装好
Windows 小白最爽的姿势——打开 Claude Code,直接丢一句:
帮我安装一下:https://github.com/colbymchenry/codegraph,安装完后检查一下是否安装完成它会自己干完这些事:
- WebFetch / gh repo view 拉下 README,搞清楚怎么装
node -v && npm -v检查 Node 版本(没装的话它会提示你去 nodejs.org 下 LTS,要求 18+)npm install -g @colbymchenry/codegraph全局装好 CLIcodegraph install --target=claude --location=global --yes非交互式把 MCP server 配进 Claude Codecodegraph status验证安装结果
整个过程一两分钟,你只要盯着看就行。装完它会给你列一张”安装结果”小表:

正常情况下你会看到:
| 项目 | 状态 |
|---|---|
| CLI 版本 | codegraph v0.7.9 ✅ |
| 全局 npm 包 | @colbymchenry/codegraph 已安装 |
| Claude Code MCP 配置 | 已写入 ~/.claude.json |
| Claude Code 权限 | 已更新 ~/.claude/settings.json |
| 全局说明文档 | 已创建 ~/.claude/CLAUDE.md |
TIP如果你不用 Claude Code,只要把上面那句话发给 Cursor、Codex CLI、opencode 里任意一个 AI 助手,流程都一样。手动派的可以自己跑:
Terminal window npx @colbymchenry/codegraph它会以交互方式问你 4 个问题(给谁配、要不要加 PATH、全局还是项目、要不要自动授权),全选 Yes 即可。
第二步:重启你的 AI 客户端
这一步很多人会忘——MCP 服务器配置只在客户端启动时加载一次。
把 Claude Code(或者 Cursor)整个关掉,再重新打开。重启完打开命令行确认:
claude mcp list应该能看到 codegraph 出现在列表里,状态 connected。

第三步:在你的项目里初始化索引
打开你想用 CodeGraph 的项目目录:
cd D:\your-projectcodegraph init -i这一步是真正的”画地图”。终端会显示进度条,告诉你解析了多少文件、提取了多少符号。
小项目几秒钟,中型项目几十秒,大型项目(VS Code 那种)几分钟。
跑完后你会发现项目根目录多了个 .codegraph/ 文件夹,里面有个 codegraph.db——这就是你的本地代码地图。
TIP建议把
.codegraph/加进.gitignore,别提交进仓库。每个人本地索引一份就好,文件可能上百 MB。

第四步:验证一切就绪
跑两个命令检查健康度:
codegraph status应该会输出:
Backend: native ← 这一行要是 native,说明跑在快速通道Files indexed: 1,234Nodes: 12,345Edges: 23,456Last sync: 2 seconds ago
WARNING如果
Backend:显示的是 wasm,意味着 better-sqlite3 没编译成功,跑的是 WebAssembly 版本——慢 5-10 倍。解决方法:装 Visual Studio Build Tools,然后:
Terminal window npm rebuild better-sqlite3# 或者强制装一遍npm install better-sqlite3 --save装 VS Build Tools 的下载地址:visualstudio.microsoft.com/visual-cpp-build-tools
安装时勾选”使用 C++ 的桌面开发”。
再随便搜个符号:
codegraph query "login"应该能看到一堆相关函数、类被列出来。
第五步:让 Claude Code 真正用上它
打开你的项目,启动 Claude Code,问一句:
帮我解释一下明暗模式(dark/light)切换的整个实现流程观察工具调用栏——如果你看到 mcp__codegraph__codegraph_explore 这种字样跳出来,而不是密集的 Grep、Read,就说明它已经在用 CodeGraph 了。

实测对比我用 Mizuki(Astro 静态博客)测了一下:
- 不用 CodeGraph:34 次工具调用,1 分 18 秒,83k token
- 用 CodeGraph:3 次调用,19 秒,39k token
一次任务省一半 token——按 Claude Sonnet 现在的价格,大项目一个月省几十刀很轻松。
进阶技巧:8 个核心 MCP 工具速查
主会话里 AI 可以直接用这些”轻量级”工具:
| 工具 | 干什么 | 什么时候用 |
|---|---|---|
codegraph_search | 按名字搜符号 | 你知道函数名,但不知道在哪 |
codegraph_callers | 谁调用了这个函数 | 改函数前先看影响 |
codegraph_callees | 这个函数调用了谁 | 看实现细节 |
codegraph_impact | 改它会牵连哪些代码 | 大规模重构必备 |
codegraph_node | 拿单个符号的详细信息 | 精准定位 |
codegraph_files | 查文件结构 | 比文件系统扫描快 |
codegraph_status | 索引健康度 | 怀疑索引出问题时 |
codegraph_context | 给 AI 喂上下文 | 探索类问题 |
注意:codegraph_explore 和 codegraph_context 只能由 Explore 子代理调用,主会话里直接用会把上下文撑爆——这是官方文档里强调的反模式。
老项目迁移的实战姿势
这套组合拳特别适合接手老代码做迁移。我的建议流程:
- 先索引 —
codegraph init -i把整个老项目画进图里 - 让 AI 画架构图 — “用 codegraph_explore 帮我梳理这个项目的核心模块和它们的关系”
- 挑入口 — 让 AI 用
codegraph_callers找出最关键的几个被调用次数最多的函数 - 改之前先 impact — 改任何关键文件前,先
codegraph_impact看影响半径,避免连环爆炸 - 改完同步 — CodeGraph 会自动监听文件变化,改完两秒就同步到图里,不用手动重建
TIP还有一个被忽视的杀手锏命令:
Terminal window git diff --name-only | codegraph affected --stdin --quiet它会根据你 Git diff 出来的改动文件,反向追踪所有受影响的测试文件。CI 流水线里塞这一行,只跑相关测试,流水线时间能砍掉 60% 以上。
总结:三步走,今天就开始
道理讲完了。你只需要做三件事:
- 装 Node 18+ 并跑
npx @colbymchenry/codegraph— 一行命令,先把环境搭好,十分钟搞定 - 挑一个你最熟的中大型项目跑
codegraph init -i— 在真实场景里感受一次”AI 探索从 1 分钟降到 20 秒”的爽感 - 把
.codegraph/加进 .gitignore,然后让 Claude Code 帮你完整解释一遍这个项目 — 你会重新认识这个工具
省 token、提速、保护本地隐私,这三件事 CodeGraph 一次给你。3,660 颗 GitHub 星不是吹出来的,是六个真实代码库的 benchmark 拼出来的。
最关键的一句话:它真正解决的不是搜索,而是 AI 在你代码库里”绕圈”的开销。
打开 PowerShell,开始装吧。
让 AI 不再 像无头苍蝇一样翻你的代码,而是看着地图直奔目的地——这就是 CodeGraph 的意义。
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时






