乐于分享
好东西不私藏

32k星项目:让AI编程工具少调用57%的工具

32k星项目:让AI编程工具少调用57%的工具

32k星项目:让AI编程工具少调用57%的工具

最近 CodeGraph 在 GitHub 上涨得很快,当前已经是 3.27 万 Star 左右。它解决的问题也很直接:Claude Code、Cursor、Codex 这类 AI 编程工具看项目时,经常先 grep、glob、Read 扫一圈文件,token 和工具调用都花在“找代码”上。CodeGraph 的做法,是先在本地给项目建一份代码图谱,让 AI 直接查符号、调用关系和代码结构。

01

AI 写代码时到底在干什么

用过 Claude Code 的人应该很熟悉这种场面:问一个架构问题,它先连续调工具,grep 一遍、glob 一遍,再 Read 几个文件。不是模型故意慢,而是它刚进入一个代码库时确实不知道入口、调用链和关键实现在哪,只能现场探索。

CodeGraph 换了一个方向。它在项目里预先生成本地索引,把符号关系、调用图、路由、跨语言调用等信息写进 SQLite。AI 要理解代码时,先查这份图谱,不必每次都从文件系统重新扫起。

02

官方基准测试里省了多少

README 里给了一组基准测试:7 个真实开源仓库,覆盖 VS Code、Django、Tokio、Excalidraw、OkHttp、Gin、Alamofire 等项目。测试方式是用 Claude Code headless 模式回答同一个架构问题,对比使用 CodeGraph 前后的差异;表格说明是每组取 4 次运行的 median(中位数)。

平均结果是:费用低 18%、token 少 51%、速度快 16%、工具调用少 57%

Excalidraw 那组最明显:工具调用减少 82%,token 减少 71%,费用降低 40%。不过这个收益不是每项都稳定。Django 和 OkHttp 在成本这一列反而略高,因为 CodeGraph 返回的信息更完整,输入 token 也会增加。比较稳定的是工具调用次数和总 token 数,表格里每个仓库都有下降。

03

安装和初始化

CodeGraph 把运行时打包好了,README 里写的是 macOS / Linux 一行安装,Windows 用 PowerShell:

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

# Windows (PowerShell)
irm https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.ps1 | iex

如果本机已经有 Node,也可以直接用 npm:

npx @colbymchenry/codegraph
npm i -g @colbymchenry/codegraph

进项目目录之后执行:

cd your-project
codegraph init -i

-i 会在初始化时顺手建索引。CHANGELOG 里的 Unreleased 还提到,后续版本 codegraph init 会默认建初始索引,-i 仍然保留,已有脚本不会受影响。

04

它能看懂哪些项目

工具端支持 Claude Code、Cursor、Codex、opencode、Hermes Agent、Gemini、Antigravity、Kiro。安装器会把 MCP server(模型上下文协议服务)配置到对应工具里。

语言端覆盖 20 多种,包括 TypeScript、JavaScript、Python、Go、Rust、Java、C#、PHP、Ruby、C、C++、Objective-C、Swift、Kotlin、Dart、Lua、Svelte 等。它还会识别 Web 框架路由,把 URL pattern 和 handler 关联起来;在 iOS / React Native / Expo 项目里,也会处理 Swift ↔ ObjC、TurboModules、Fabric view components 这类跨语言链路。

数据边界也比较清楚:README 写的是 100% Local。索引存在本地 SQLite,没有 API key,也不依赖外部服务。

05

适合谁用

它最适合中大型代码库。项目文件一多,AI 编程工具在“找入口、找调用链、找影响范围”上花掉的工具调用会明显增加,预索引图谱就有价值。

小项目不一定占便宜。README 的测试里,Gin 和 Alamofire 都是大约 110 个文件,收益仍然有,但没有 VS Code、Django、Tokio 这种项目明显。换句话说,如果你的仓库只有几十个文件,直接让 AI 读文件也没什么问题;如果已经是几百、几千甚至上万个文件,这类工具才更容易体现差距。

它也不是替代模型本身。CodeGraph 给的是代码结构和检索入口,最后怎么用这些信息,还是取决于 Claude Code、Cursor 或 Codex 的执行质量。

06

最近更新

当前 package.json 里的版本是 0.9.7,release 也已经发到 v0.9.7。这个版本主要补了 Go gRPC 接口存根和手写实现之间的连接,降低生成文件在搜索、trace、explore 结果里的优先级,还让 codegraph_context 能在一些 flow question 里自动插入 trace 结果,减少后续工具调用。

CHANGELOG 的 Unreleased 里还写了两个变化:codegraph init 将默认建立初始索引;Go 的 Gin middleware 链路会在 codegraph_tracecodegraph_explore 里更完整地串起来。


如果你经常在大仓库里用 Claude Code、Cursor 或 Codex 问“这个功能从哪里进来”“改这个函数会影响谁”,CodeGraph 这类预索引工具值得试一下。它不是让 AI 变聪明,而是减少 AI 在项目里乱找文件的时间。

# GitHub 项目地址
https://github.com/colbymchenry/codegraph

谢谢你这么优秀还关注我✨