mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
3221 字
9 分钟
CodeGraph实战:让Claude Code省94% token的本地代码搜索神器,Windows小白也能装
2026-05-18

让 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

它是怎么”画地图”的#

整个流程就四步:

  1. 提取 — 用 Tree-sitter 把源码解析成 AST(抽象语法树),提取出函数、类、调用关系
  2. 存储 — 全部塞进 .codegraph/codegraph.db 这个 SQLite 文件
  3. 解析 — 把”函数调用 → 函数定义”、“import → 源文件”这些关系连起来
  4. 自动同步 — 监听你本地的文件改动,用 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 不是唯一一个干这事的。我把市面上几个主流方案拉出来对比一下:

工具核心方式适合场景主要限制
CodeGraphTree-sitter + SQLite 图数据库 + MCPClaude Code / Cursor / Codex 用户,大中型项目仅支持 19 种语言,新协议工具适配
SerenaLSP(语言服务器协议)+ MCP想用 IDE 原生符号能力,要 go-to-definition 这种精度依赖各语言的 LSP 服务,启动较慢
Aider RepoMapctags + PageRank 重要性打分Aider CLI 用户,中小项目仅 Aider 内部用,不对外暴露 MCP
claude-context向量嵌入(Embedding)+ Zilliz Milvus需要”语义模糊匹配”,找意图相近的代码需要嵌入模型,有 API 费用
CocoIndex CodeTree-sitter + AST 分块 + 增量更新需要把代码丢给外部 LLM 做 RAG仍在快速迭代,生态较新
GitNexusMCP 原生知识图谱 + Git 历史感知关注代码演化、提交关联较新,语言支持比 CodeGraph 少
怎么选?一张决策图给你
  • 你只用 Claude Code/Cursor/Codex,想立刻见效 → 选 CodeGraph,装完就能用,benchmark 数据最硬
  • 你需要 IDE 级精度,愿意忍受多语言 LSP 的折腾 → 选 Serena
  • 你只用 Aider,不打算换工具 → 直接用它内置的 RepoMap,别折腾
  • 你的需求是”找语义相似的代码”,不是”找精确符号” → 选 claude-context 走 Embedding 路线
  • 你要给自己的 LLM 应用做 RAG,不只是给 AI 助手用 → 看 CocoIndex Code
泼一盆冷水

CodeGraph 不是万能药,它解决的是”探索阶段”的开销,不是”写代码本身”的开销。

几个前提条件先想清楚:

  1. 你的项目得够大,至少 100 个文件以上,小项目用它纯属杀鸡用牛刀
  2. 你用的得是 Claude Code、Cursor、Codex 或 opencode 这四个工具之一
  3. 你的项目语言得在它支持的 19 种里(主流的都有,但 Elixir、Haskell 这种小众的还不行)
  4. 第一次索引大项目要等几分钟,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 全局装好 CLI
  • codegraph install --target=claude --location=global --yes 非交互式把 MCP server 配进 Claude Code
  • codegraph status 验证安装结果

整个过程一两分钟,你只要盯着看就行。装完它会给你列一张”安装结果”小表:

Claude Code 自动跑完 CodeGraph 全套安装并返回安装结果

正常情况下你会看到:

项目状态
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)整个关掉,再重新打开。重启完打开命令行确认:

Terminal window
claude mcp list

应该能看到 codegraph 出现在列表里,状态 connected

claude mcp list 输出显示 codegraph 已连接

第三步:在你的项目里初始化索引#

打开你想用 CodeGraph 的项目目录:

Terminal window
cd D:\your-project
codegraph init -i

这一步是真正的”画地图”。终端会显示进度条,告诉你解析了多少文件、提取了多少符号。

小项目几秒钟,中型项目几十秒,大型项目(VS Code 那种)几分钟

跑完后你会发现项目根目录多了个 .codegraph/ 文件夹,里面有个 codegraph.db——这就是你的本地代码地图。

TIP

建议把 .codegraph/ 加进 .gitignore,别提交进仓库。每个人本地索引一份就好,文件可能上百 MB。

codegraph init -i 在 Mizuki 项目里跑出的索引进度

第四步:验证一切就绪#

跑两个命令检查健康度:

Terminal window
codegraph status

应该会输出:

Backend: native ← 这一行要是 native,说明跑在快速通道
Files indexed: 1,234
Nodes: 12,345
Edges: 23,456
Last sync: 2 seconds ago

codegraph status 显示 Backend 与文件、节点、边数统计

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++ 的桌面开发”。

再随便搜个符号:

Terminal window
codegraph query "login"

应该能看到一堆相关函数、类被列出来。

第五步:让 Claude Code 真正用上它#

打开你的项目,启动 Claude Code,问一句:

帮我解释一下明暗模式(dark/light)切换的整个实现流程

观察工具调用栏——如果你看到 mcp__codegraph__codegraph_explore 这种字样跳出来,而不是密集的 GrepRead,就说明它已经在用 CodeGraph 了。

Claude Code 用 codegraph_status / codegraph_context 工具回答明暗模式切换流程

实测对比

我用 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_explorecodegraph_context 只能由 Explore 子代理调用,主会话里直接用会把上下文撑爆——这是官方文档里强调的反模式。

老项目迁移的实战姿势#

这套组合拳特别适合接手老代码做迁移。我的建议流程:

  1. 先索引codegraph init -i 把整个老项目画进图里
  2. 让 AI 画架构图 — “用 codegraph_explore 帮我梳理这个项目的核心模块和它们的关系”
  3. 挑入口 — 让 AI 用 codegraph_callers 找出最关键的几个被调用次数最多的函数
  4. 改之前先 impact — 改任何关键文件前,先 codegraph_impact 看影响半径,避免连环爆炸
  5. 改完同步 — CodeGraph 会自动监听文件变化,改完两秒就同步到图里,不用手动重建
TIP

还有一个被忽视的杀手锏命令:

Terminal window
git diff --name-only | codegraph affected --stdin --quiet

它会根据你 Git diff 出来的改动文件,反向追踪所有受影响的测试文件。CI 流水线里塞这一行,只跑相关测试,流水线时间能砍掉 60% 以上。


总结:三步走,今天就开始#

道理讲完了。你只需要做三件事:

  1. 装 Node 18+ 并跑 npx @colbymchenry/codegraph — 一行命令,先把环境搭好,十分钟搞定
  2. 挑一个你最熟的中大型项目跑 codegraph init -i — 在真实场景里感受一次”AI 探索从 1 分钟降到 20 秒”的爽感
  3. .codegraph/ 加进 .gitignore,然后让 Claude Code 帮你完整解释一遍这个项目 — 你会重新认识这个工具

省 token、提速、保护本地隐私,这三件事 CodeGraph 一次给你。3,660 颗 GitHub 星不是吹出来的,是六个真实代码库的 benchmark 拼出来的。

最关键的一句话:它真正解决的不是搜索,而是 AI 在你代码库里”绕圈”的开销

打开 PowerShell,开始装吧。

让 AI 不再 像无头苍蝇一样翻你的代码,而是看着地图直奔目的地——这就是 CodeGraph 的意义。

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

CodeGraph实战:让Claude Code省94% token的本地代码搜索神器,Windows小白也能装
https://law007.me/posts/codegraph-claude-code-windows-tutorial/
作者
Law
发布于
2026-05-18
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录