🔥 CodeGraph:2.7k Stars 的预索引代码知识图谱,让 Claude Code 少读 92% 的文件
项目地址:colbymchenry/codegraph | ⭐ 2.7k Stars | 🛠 TypeScript | 作者 colbymchenry
老实说,用 Claude Code 翻大项目的体验,真是一言难尽。每次问个"这个函数怎么调用的",它就开始 spawn Explore agent,先 grep 再 glob 再 Read,Token 哗哗地烧,等它回过神来的功夫,你已经可以去泡杯咖啡了。
CodeGraph 给这事儿打了个补丁——它帮你把整个代码库的知识提前索引好扔进 SQLite,Claude Code 的 Explore agent 直接查图而不是扫文件。
到底省了多少?
开发者在 6 个真实项目上测过,数据很硬:
| 项目 | 不用 CodeGraph | 用 CodeGraph |
|---|---|---|
| VS Code (TypeScript) | 52 次工具调用,1分37秒 | 3 次调用,17秒 |
| Excalidraw | 47 次调用,1分45秒 | 3 次调用,29秒 |
| Swift 编译器 | 37 次调用,2分8秒 | 6 次调用,35秒 |
平均少读 92% 的文件,快 71%,而且全程零文件读取——Explore agent 完全信任图查询的结果。
一行命令装上
npx @colbymchenry/codegraph
装完会自动配好 Claude Code 的 MCP Server,在 ~/.claude.json 里注册好 codegraph 工具集。重启 Claude Code 就行了。
初始化项目:
cd your-project
codegraph init -i
执行完项目根目录下会多一个 .codegraph/ 文件夹,里面就是 SQLite 图谱数据库。
两个场景最爽
场景一:探索代码
不用 CodeGraph 时,Claude Code 的 Explore agent 会先撒网找文件再读。用了之后,它直接调 codegraph_explore 把相关符号、调用链、代码片段一把抓回来。
场景二:改代码前看影响面
codegraph affected src/auth.ts
改了 auth 模块,想知道哪些测试文件会受影响?一个命令全列出来。搭配 CI hook:
git diff --name-only HEAD | codegraph affected --stdin --quiet
然后只跑受影响的测试,不用全量跑。
20 种语言 + 13 个 Web 框架
树-sitter 解析 AST,支持 TypeScript、Python、Go、Rust、Java、C#、PHP、Ruby、Swift、Kotlin、Dart、C、C++……甚至还认 Django 的 urls.py、Flask 的 @app.route()、Spring 的 @GetMapping。路由 URL 直接链到 handler 函数,查调用链的时候 URL 也跟着出来了。
踩坑注意
- 装了之后要重启 Claude Code 才能加载 MCP Server
- 大规模项目(25,000+ 文件)首次索引要等几分钟,但索引完就爽了
- Explore agent 要调
codegraph_explore而不是codegraph_context——后者返回大量源码会占主会话的上下文窗口
总结
npx @colbymchenry/codegraph一键安装配好 MCPcodegraph init -i初始化项目,建好图库- 92% 更少的工具调用,71% 更快的探索速度
- 20 种语言,13 个 Web 框架,路由到 handler 全链跟踪
- 100% 本地,不走网络,不要 API key
标签:#ClaudeCode #MCP #代码知识图谱 #AI编程 #开发者工具