好的,这是您要求的英文文章的中文翻译,已按照您的要求保留原文结构、技术术语和代码块。
原文标题: colbymchenry codegraph
原文内容:
CodeGraph
通过语义代码智能,为 Claude Code、Cursor、Codex 和 OpenCode 提供超强动力 减少 94% 的工具调用 · 探索速度提升 77% · 100% 本地化
开始使用
npx @colbymchenry/codegraph
交互式安装程序会自动配置您的代理——Claude Code、Cursor、Codex CLI、opencode
初始化项目
cd your-project
codegraph init -i
为什么选择 CodeGraph?
当 Claude Code 探索代码库时,它会生成探索代理,这些代理使用 grep、glob 和 Read 来扫描文件——每次工具调用都会消耗 token。CodeGraph 为这些代理提供了一个预先索引的知识图谱——包含符号关系、调用图和代码结构。代理可以直接查询图谱,而无需扫描文件。
基准测试结果
在 6 个真实代码库上进行测试,比较了 Claude Code 的探索代理在使用和不使用 CodeGraph 时的表现:
平均:减少 92% 的工具调用 · 速度提升 71%
| 代码库 | 使用 CodeGraph | 未使用 CodeGraph | 改进幅度 | | :--- | :--- | :--- | :--- | | VS Code · TypeScript | 3 次调用,17 秒 | 52 次调用,1 分 37 秒 | 减少 94% · 快 82% | | Excalidraw · TypeScript | 3 次调用,29 秒 | 47 次调用,1 分 45 秒 | 减少 94% · 快 72% | | Claude Code · Python + Rust | 3 次调用,39 秒 | 40 次调用,1 分 8 秒 | 减少 93% · 快 43% | | Claude Code · Java | 1 次调用,19 秒 | 26 次调用,1 分 22 秒 | 减少 96% · 快 77% | | Alamofire · Swift | 3 次调用,22 秒 | 32 次调用,1 分 39 秒 | 减少 91% · 快 78% | | Swift Compiler · Swift/C++ | 6 次调用,35 秒 | 37 次调用,2 分 8 秒 | 减少 84% · 快 73% |
完整基准测试详情
所有测试均使用 Claude Opus 4.6(1M 上下文)和 Claude Code v2.1.91。每次测试都生成一个探索代理并提出相同的问题。
使用的查询:
| 代码库 | 查询 | | :--- | :--- | | VS Code | “扩展主机如何与主进程通信?” | | Excalidraw | “协作编辑和实时同步是如何工作的?” | | Claude Code (Python+Rust) | “工具执行端到端是如何工作的?” | | Claude Code (Java) | “工具执行端到端是如何工作的?” | | Alamofire | “追踪从 Session.request() 到 URLSession 层的请求流程” | | Swift Compiler | “Swift 编译器如何处理错误诊断?” |
使用 CodeGraph——代理使用 codegraph_explore 并停止:
| 代码库 | 索引文件数 | 节点数 | 工具使用次数 | Token 数 | 时间 | 文件读取次数 | | :--- | :--- | :--- | :--- | :--- | :--- | :--- | | VS Code (TypeScript) | 4,002 | 59,377 | 3 | 56.6k | 17秒 | 0 | | Excalidraw (TypeScript) | 626 | 9,859 | 3 | 57.1k | 29秒 | 0 | | Claude Code (Python+Rust) | 115 | 3,080 | 3 | 67.1k | 39秒 | 0 | | Claude Code (Java) | — | — | 1 | 40.8k | 19秒 | 0 | | Alamofire (Swift) | 102 | 2,624 | 3 | 57.3k | 22秒 | 0 | | Swift Compiler (Swift/C++) | 25,874 | 272,898 | 6 | 77.4k | 35秒 | 0 |
未使用 CodeGraph——代理大量使用 grep、find、ls 和 Read:
| 代码库 | 工具使用次数 | Token 数 | 时间 | 文件读取次数 | | :--- | :--- | :--- | :--- | :--- | | VS Code (TypeScript) | 52 | 89.4k | 1分37秒 | ~15 | | Excalidraw (TypeScript) | 47 | 77.9k | 1分45秒 | ~20 | | Claude Code (Python+Rust) | 40 | 69.3k | 1分8秒 | ~15 | | Claude Code (Java) | 26 | 73.3k | 1分22秒 | ~15 | | Alamofire (Swift) | 32 | 52.4k | 1分39秒 | ~10 | | Swift Compiler (Swift/C++) | 37 | 99.1k | 2分8秒 | ~20 |
关键观察:
- 使用 CodeGraph,代理从未回退到读取文件——它完全信任
codegraph_explore的结果 - 未使用 CodeGraph,代理在开始读取相关代码之前,大部分时间都花在了发现阶段(
find、ls、grep) - Java 代码库仅需 1 次
codegraph_explore调用就能回答整个问题 - 跨语言查询(Python+Rust)无缝工作——CodeGraph 的图遍历找到了跨语言边界的连接
- Swift 基准测试(Alamofire)追踪了从
Session.request()到URLSession.dataTask()的 9 步调用链——CodeGraph 在深度 3 的图遍历中,通过一次探索调用就捕获了整个调用链 - Swift Compiler 基准测试是测试中最大的代码库(25,874 个文件,272,898 个节点)——CodeGraph 在 4 分钟内完成索引,代理通过 6 次探索调用和零次文件读取,在 35 秒内回答了一个复杂的横切问题
主要特性
智能上下文构建
一次工具调用即可返回入口点、相关符号和代码片段——无需昂贵的探索代理
全文搜索
由 FTS5 驱动,可在整个代码库中即时按名称查找代码
影响分析
在进行更改前,追踪任何符号的调用者、被调用者以及完整的影响范围
始终最新
文件监视器使用原生 OS 事件(FSEvents/inotify/ReadDirectoryChangesW)并带有去抖动的自动同步——在您编码时,图谱始终保持最新,零配置
支持 19+ 种语言
TypeScript、JavaScript、Python、Go、Rust、Java、C#、PHP、Ruby、C、C++、Swift、Kotlin、Dart、Svelte、Liquid、Pascal/Delphi
框架感知路由
识别 Web 框架路由文件,并将 URL 模式链接到其处理程序,支持 13 个框架
100% 本地化
数据不会离开您的机器。无需 API 密钥。无需外部服务。仅使用 SQLite 数据库。
框架感知路由
CodeGraph 检测 Web 框架路由文件,并生成通过引用边链接到其处理程序类或函数的路由节点。查询视图/控制器的调用者现在会显示绑定它的 URL 模式。
识别的框架形态:
- Django:
path()、re_path()、url()、include()在urls.py中(CBV.as_view()、点分路径) - Flask:
@app.route('/path', methods=[...])、蓝图路由 - FastAPI:
@app.get(...)、@router.post(...)、所有标准方法 - Express:
app.get(...)、router.post(...)带中间件链 - Laravel:
Route::get()、Route::resource()、Controller@action、元组语法 - Rails:
get '/x', to: 'users#index'、哈希火箭=>语法 - Spring: 方法上的
@GetMapping、@PostMapping、@RequestMapping - Gin / chi / gorilla / mux:
r.GET(...)、router.HandleFunc(...) - Axum / actix / Rocket:
.route("/x", get(handler)) - ASP.NET: 动作方法上的
[HttpGet("/x")]属性 - Vapor:
app.get("x", use: handler) - React Router / SvelteKit: 路由组件节点
快速开始
1. 运行安装程序
npx @colbymchenry/codegraph
安装程序将:
- 询问要配置哪些代理——自动检测已安装的代理:Claude Code、Cursor、Codex CLI、opencode
- 提示将 codegraph 安装到您的 PATH 中(以便代理可以启动 MCP 服务器)
- 询问配置是应用于您的所有项目还是仅当前项目
- 为每个选定的代理写入 MCP 服务器配置 + 指令文件(例如
CLAUDE.md、.cursor/rules/codegraph.mdc、~/.codex/AGENTS.md) - 在 Claude C...(原文截断)