以下是您要求的英文文章的中文翻译,已按照要求保留原文结构、技术术语和代码块,并输出为 Markdown 格式。
colbymchenry / codegraph
CodeGraph 为 Claude Code、Cursor、Codex、OpenCode 和 Hermes Agent 注入语义代码智能 ~35% 更便宜 · ~70% 更少的工具调用 · 100% 本地化
开始使用
无需 Node.js — 一条命令即可获取适用于您操作系统的正确构建版本:
# 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
CodeGraph 自带运行时 — 无需编译,无需原生构建,在任何环境下都能一致运行。交互式安装程序会自动配置您的 agent(s) — Claude Code、Cursor、Codex CLI、opencode、Hermes Agent。
初始化项目
cd your-project
codegraph init -i
卸载
改变主意了?一条命令即可从 CodeGraph 配置过的所有 agent 中移除它:
codegraph uninstall
该命令会撤销安装程序的操作 — 从每个已配置的 agent 中移除 CodeGraph 的 MCP 服务器配置、指令和权限。您的项目索引(.codegraph/)将保持不变;如需逐个项目删除,请使用 codegraph uninit。使用 --target 可从特定 agent 中移除,或使用 --yes 以非交互模式运行。
为什么选择 CodeGraph?
当 Claude Code 探索代码库时,它会生成 Explore agent,这些 agent 通过 grep、glob 和 Read 扫描文件 — 每次工具调用都会消耗 token。CodeGraph 为这些 agent 提供了一个预索引的知识图谱 — 符号关系、调用图和代码结构。Agent 可以直接查询图谱,而无需扫描文件。
基准测试结果
在 7 个真实世界的开源代码库(涵盖 7 种语言)上进行了测试,比较了 agent(Claude Code,无头模式)在有和没有 CodeGraph 的情况下回答一个架构问题的表现。每个单元格代表每轮 4 次运行的中位数节省量。
平均:35% 更便宜 · 59% 更少的 token · 49% 更快 · 70% 更少的工具调用
| 代码库 | 语言 | 成本 | Token | 时间 | 工具调用 | |---|---|---|---|---|---| | VS Code | TypeScript · ~10k 文件 | 35% 更便宜 | 73% 更少 | 41% 更快 | 72% 更少 | | Excalidraw | TypeScript · ~600 | 47% 更便宜 | 73% 更少 | 60% 更快 | 86% 更少 | | Django | Python · ~2.7k | 34% 更便宜 | 64% 更少 | 59% 更快 | 81% 更少 | | Tokio | Rust · ~700 | 52% 更便宜 | 81% 更少 | 63% 更快 | 89% 更少 | | OkHttp | Java · ~640 | 17% 更便宜 | 41% 更少 | 36% 更快 | 64% 更少 | | Gin | Go · ~150 | 22% 更便宜 | 23% 更少 | 34% 更快 | 19% 更少 | | Alamofire | Swift · ~100 | 38% 更便宜 | 59% 更少 | 51% 更快 | 77% 更少 |
收益随代码库规模扩大而增加:在大型仓库中,agent 只需少量调用即可从索引中直接回答,且无需读取任何文件;而没有 CodeGraph 的 agent 则需要在 grep/find/Read(以及它生成的子 agent)之间分散搜索。在像 Gin(~150 个文件)这样的小型仓库中,原生搜索已经足够便宜,因此差距缩小。
完整基准测试详情
方法。每轮使用 claude -p(Claude Opus 4.7, Claude Code v2.1.145)以无头模式针对仓库运行,并带有 --strict-mcp-config:WITH = 启用 CodeGraph 的 MCP 服务器,WITHOUT = 空的 MCP 配置。内置的 Read/Grep/Bash 对两者都可用。每个仓库相同的问题,每轮 4 次运行,报告中位数。成本 = 运行的 total_cost_usd;Token = 处理的 token 总数(输入(包括缓存)+ 输出);时间 = 挂钟时间;工具调用 = 每次工具调用,包括模型生成的任何子 agent 内部的调用。仓库以 --depth 1 克隆,并由提供服务的同一 CodeGraph 构建版本索引。
查询:
| 代码库 | 查询 | |---|---| | VS Code | “扩展主机如何与主进程通信?” | | Excalidraw | “Excalidraw 如何渲染和更新画布元素?” | | Django | “Django 的 ORM 如何从 QuerySet 构建并执行查询?” | | Tokio | “tokio 如何在其运行时上调度和执行异步任务?” | | OkHttp | “OkHttp 如何通过其拦截器链处理请求?” | | Gin | “gin 如何通过其中间件链路由请求?” | | Alamofire | “Alamofire 如何构建、发送和验证请求?” |
原始中位数 — WITH → WITHOUT:
| 代码库 | 成本 | Token | 时间 | 工具调用 | |---|---|---|---|---| | VS Code | $0.42 → $0.64 | 393k → 1.4M | 1m 0s → 1m 43s | 7 → 23 | | Excalidraw | $0.54 → $1.02 | 851k → 3.2M | 1m 17s → 3m 14s | 12 → 83 | | Django | $0.41 → $0.62 | 499k → 1.4M | 1m 0s → 2m 25s | 9 → 48 | | Tokio | $0.50 → $1.04 | 657k → 3.4M | 1m 5s → 2m 56s | 9 → 75 | | OkHttp | $0.36 → $0.44 | 352k → 596k | 45s → 1m 11s | 5 → 14 | | Gin | $0.36 → $0.46 | 431k → 562k | 47s → 1m 11s | 7 → 8 | | Alamofire | $0.61 → $0.99 | 1.1M → 2.6M | 1m 19s → 2m 41s | 15 → 64 |
为什么 CodeGraph 胜出:有了索引,agent 可以直接回答 — 使用 codegraph_context 来映射区域,然后使用一个 codegraph_explore 来获取相关源代码 — 然后停止,通常零文件读取。没有它,agent(以及它生成的 Explore 子 agent)在读取正确的代码之前,大部分预算都花在了发现(find/ls/grep)上。
CodeGraph 仅在直接查询时才有帮助,因此其指令会引导 agent 直接回答,而不是将探索委托给读取文件的子 agent — 否则子 agent 无论如何都会读取文件,而 CodeGraph 反而成了开销。
主要特性
智能上下文构建
一次工具调用即可返回入口点、相关符号和代码片段 — 无需昂贵的探索 agent
全文搜索
由 FTS5 驱动,可在整个代码库中按名称即时查找代码
影响分析
在进行更改之前,追踪任何符号的调用者、被调用者以及完整的影响范围
始终新鲜
文件监视器使用原生 OS 事件(FSEvents/inotify/ReadDirectoryChangesW),并带有防抖自动同步 — 图谱在您编码时保持最新,零配置
19+ 种语言
TypeScript、JavaScript、Python、Go、Rust、Java、C#、PHP、Ruby、C、C++、Swift、Kotlin、Dart、Lua、Luau、Svelte、Liquid、Pascal/Delphi
框架感知路由
识别 Web 框架路由文件,并将 URL 模式链接到其处理程序,覆盖 14 个框架
100% 本地化
没有数据离开您的机器。无需 API 密钥。无需外部服务。仅使用 SQLite 数据库
框架感知路由
CodeGraph 检测 Web 框架路由文件,并发出由引用边链接到其处理程序类或函数的路由节点。查询视图/控制器的调用者...