CodeGraph:给 AI 编程助手装上"导航仪",省 35% 费用、砍 70% 工具调用
当 Claude Code 在你的代码库里迷路时,它不是在"思考",而是在"烧钱"。
一、AI 编程助手最大的敌人,不是 Bug,是"迷路"
你有没有注意过——当你让 Claude Code 分析一个稍微复杂的架构问题时,它就开始疯狂调用 grep、glob、Read,一个 Explore 子代理接一个子代理,像无头苍蝇一样扫描文件。
每一步都在吃 token。
一个简单的"这个项目怎么处理用户认证?",在没有索引的情况下,Claude Code 可能要花 1.4M token、83 次工具调用、3 分钟才能回答。
而如果你的项目有 CodeGraph,同样的问题:0 次文件读取,7 次工具调用,1 分钟搞定。
成本直降 35%,工具调用减少 70%。
这不是画饼——这是 7 个真实开源项目、每个跑 4 次取中位数的基准测试结果。
二、CodeGraph 是什么?
一句话:CodeGraph 是给 AI 编程助手用的"预索引知识图谱"。
它用 tree-sitter 解析你的代码,把函数、类、方法之间的调用关系、引用关系、继承关系全部抽出来,存进本地 SQLite 数据库。然后通过 MCP 协议,让 Claude Code、Cursor、Codex CLI、OpenCode、Hermes Agent 这些工具直接查询。
你不用再让 AI 扫描整个代码库。它直接查"地图"。
| 没有 CodeGraph | 有 CodeGraph | |
|---|---|---|
| AI 怎么理解代码 | grep → glob → Read → 逐个文件翻 | 查图谱 → 一次拿到相关代码 |
| 一次架构问题的 token 消耗 | 1.4M ~ 3.4M | 393K ~ 1.1M |
| 工具调用次数 | 14 ~ 89 次 | 5 ~ 15 次 |
| 数据是否离开本机 | 取决于工具 | 绝不离开 |
三、基准测试:用数据说话
colbymchenry(作者)用了 Claude Opus 4.7 + Claude Code v2.1.145,在 7 个开源项目上各跑 4 次,取中位数。问题是针对每个项目精心设计的架构问题,比如:
- VS Code:"扩展宿主进程如何与主进程通信?"
- Django:"Django ORM 如何从 QuerySet 构建并执行查询?"
- Tokio:"Tokio 如何在运行时调度和执行异步任务?"
结果汇总:
| 项目 | 语言 | 成本节省 | Token 节省 | 速度提升 | 工具调用减少 |
|---|---|---|---|---|---|
| VS Code | TypeScript | 35% | 73% | 41% | 72% |
| Excalidraw | TypeScript | 47% | 73% | 60% | 86% |
| Django | Python | 34% | 64% | 59% | 81% |
| Tokio | Rust | 52% | 81% | 63% | 89% |
| OkHttp | Java | 17% | 41% | 36% | 64% |
| Gin | Go | 22% | 23% | 34% | 19% |
| Alamofire | Swift | 38% | 59% | 51% | 77% |
规律很明显:项目越大,CodeGraph 省得越多。
Tokio(Rust 异步运行时)和 Excalidraw(画板工具)是最大赢家——因为代码量大、模块间关系复杂,AI 没有索引时需要大量探索。
四、技术架构:三层设计
┌──────────────────────────────────────┐│ AI Agent(Claude Code 等) ││ 通过 MCP 协议调用 CodeGraph 工具 │└──────────────┬───────────────────────┘│▼┌──────────────────────────────────────┐│ CodeGraph MCP Server ││ search / context / callers / callees ││ impact / node / files / explore │└──────────────┬───────────────────────┘│▼┌──────────────────────────────────────┐│ SQLite + FTS5(本地知识图谱) ││ • 符号节点(函数、类、方法) ││ • 关系边(调用、导入、继承、实现) ││ • 全文搜索索引 │└──────────────────────────────────────┘
提取层:tree-sitter 解析源码生成 AST,用语言特定的 query 提取符号和关系。
存储层:所有数据存入 .codegraph/codegraph.db,FTS5 全文搜索加持,查询毫秒级。
同步层:利用操作系统原生文件事件(macOS 的 FSEvents、Linux 的 inotify、Windows 的 ReadDirectoryChangesW),2 秒防抖,增量同步。你改代码,图谱自动更新,零配置。
五、核心功能拆解
1. 智能上下文构建(codegraph_context)
一条指令,AI 自动返回相关入口点、关联符号、代码片段。不需要启动 Explore 子代理漫天搜索。
2. 全文搜索(codegraph_search)
基于 FTS5,按名称即时搜索符号,跨整个代码库。
3. 影响分析(codegraph_impact)
修改一个函数之前,先查影响范围——谁调用了它、它调用了谁、改了会影响多少代码。
4. 框架感知路由
CodeGraph 能识别 14 种 Web 框架的路由定义,把 URL 模式和对应的处理器自动关联起来:
- Django / Flask / FastAPI / Express / NestJS
- Laravel / Drupal / Rails / Spring
- Gin / Axum / ASP.NET / Vapor
- React Router / SvelteKit
5. 受影响测试检测(codegraph affected)
git diff --name-only HEAD | codegraph affected --stdin --quiet一条命令,找出你改动影响了哪些测试文件。直接跑受影响的测试,别跑全量。
六、5 分钟上手
# 安装(不需要 Node.js,自动下载对应平台的构建)curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh# 或者用 npm(更简单)npx @colbymchenry/codegraph# 初始化你的项目cd your-projectcodegraph init -i# 重启你的 AI Agent,完事
安装器会自动:
- 检测你装了哪些 Agent(Claude Code / Cursor / Codex / OpenCode / Hermes)
- 配置 MCP 服务器
- 写入 Agent 指令文件(CLAUDE.md、.cursor/rules/ 等)
- 设置自动权限
不想用了?一条命令卸载:
codegraph uninstall七、谁该用?谁不该用?
✅ 强烈推荐
- 大型单体仓库:文件上千、模块间关系复杂的项目,收益最大
- 频繁让 AI 做架构分析:经常问"这个功能怎么实现的",CodeGraph 省下的 token 费用很快回本
- 多语言项目:支持 19+ 语言,跨语言调用关系也能追踪
- 团队协作:把
.codegraph/提交到 Git,全团队共享索引
⚠️ 可以等等
- 小项目(< 150 文件):原生搜索已经够快,CodeGraph 的边际收益有限
- 只用 Cursor 的简单补全:如果你只是让 AI 写几行代码,不需要理解全局架构
- 对磁盘空间敏感:SQLite 索引会占用一定空间(但通常不大)
八、同类项目对比
| 特性 | CodeGraph | CodeGraphContext | Sourcegraph |
|---|---|---|---|
| 工作方式 | 本地 MCP 服务器 | 本地 MCP + 图数据库 | 云端代码搜索 |
| 支持的 Agent | 5+ | 有限 | 独立平台 |
| 数据隐私 | ✅ 100% 本地 | ✅ 本地 | ❌ 上传云端 |
| 语言支持 | 19+ | Python 为主 | 全语言 |
| 框架路由感知 | ✅ 14 种 | ❌ | ❌ |
| 实时同步 | ✅ OS 原生事件 | ✅ | ❌ |
| 价格 | 免费开源 MIT | 免费开源 | 付费 |
九、写在最后
CodeGraph 解决的不是"AI 不够聪明"的问题,而是"AI 太浪费"的问题。
每次 AI Agent 在代码库里漫无目的地搜索,都在烧你的 token 配额和等待时间。CodeGraph 给它一张地图,让它直奔目的地。
17.4K Stars、MIT 开源、5 分钟上手、100% 本地运行。
如果你的项目超过 500 个文件,而你又在用 Claude Code 或 Cursor 做架构级分析——CodeGraph 不是"锦上添花",是"必备基础设施"。
项目地址:github.com/colbymchenry/codegraph:https://github.com/colbymchenry/codegraph
夜雨聆风