CodeGraph 让 AI 编程助手拥有”代码知识图谱”

让 AI 编程助手拥有”代码知识图谱”,节约Token成本

项目概览

仓库地址
Stars
3.8k+ (2026年5月趋势)
许可证
MIT
语言
TypeScript (95.4%)
最新版本
v0.7.9 (2026-05-18)

解决什么问题?

当 Claude Code、Cursor 等 AI 编程助手探索一个代码库时,它们会启动探索代理(Explore Agent),通过 grepglobRead 等工具逐个扫描文件——每次工具调用都在消耗 token

CodeGraph 的思路很直接:给 AI 代理一个预索引的代码知识图谱,包含符号关系、调用图和代码结构。代理可以直接查询图谱,而不是漫无目的地扫描文件。

一句话总结:把”翻书找答案”变成”查字典找答案”。

核心数据:效果有多显著?

作者在 6 个真实代码库上做了基准测试,对比使用和不使用 CodeGraph 的 Explore Agent 表现:

代码库 使用 CG 不使用 CG 改进
VS Code (TS) 3次调用, 17s 52次调用, 1m37s 94% 更少 · 82% 更快
Excalidraw (TS) 3次调用, 29s 47次调用, 1m45s 94% 更少 · 72% 更快
Claude Code (Python+Rust) 3次调用, 39s 40次调用, 1m8s 93% 更少 · 43% 更快
Claude Code (Java) 1次调用, 19s 26次调用, 1m22s 96% 更少 · 77% 更快
Alamofire (Swift) 3次调用, 22s 32次调用, 1m39s 91% 更少 · 78% 更快
Swift Compiler (Swift/C++) 6次调用, 35s 37次调用, 2m8s 84% 更少 · 73% 更快

关键发现

  • 使用 CodeGraph 后,Agent 零次回退到读取文件——完全信任图谱结果
  • 跨语言查询(Python+Rust)无缝工作
  • Swift Compiler 项目(25,874 个文件,272,898 个节点)索引不到 4 分钟,复杂问题 35 秒回答完毕

技术架构

Claude Code / Cursor / Codex / OpenCode │ ▼ ┌─────────────────────────────────────┐ │ CodeGraph MCP Server │ │ ┌─────────┐ ┌─────────┐ ┌───────┐ │ │ │ Search │ │ Callers │ │Context│ │ │ └────┬────┘ └────┬────┘ └───┬───┘ │ │ └───────────┼──────────┘ │ │ ▼ │ │ ┌──────────────────┐ │ │ │ SQLite Graph DB │ │ │ │ • 符号节点 │ │ │ │ • 关系边 │ │ │ │ • FTS5全文搜索 │ │ │ └──────────────────┘ │

└─────────────────────────────────────┘
工作流程(四步)
  1. 提取(Extraction):使用 tree-sitter 将源代码解析为 AST,通过语言特定查询提取节点(函数、类、方法)和边(调用、导入、继承、实现)
  2. 存储(Storage):全部存入本地 SQLite 数据库(.codegraph/codegraph.db),配备 FTS5 全文搜索
  3. 解析(Resolution):函数调用→定义、导入→源文件、类继承、框架特定模式
  4. 自动同步(Auto-Sync):MCP 服务器通过原生 OS 文件事件(FSEvents/inotify/ReadDirectoryChangesW)监听项目,2 秒防抖,增量更新

核心功能

功能 说明
智能上下文构建 一次调用返回入口点、相关符号和代码片段
全文搜索 基于 FTS5,跨整个代码库即时查找符号
影响分析 追踪调用者、被调用者,以及更改任何符号的影响范围
实时同步 文件变化自动更新图谱,零配置
19+ 语言支持 TS/JS/Python/Go/Rust/Java/C#/PHP/Ruby/C/C++/Swift/Kotlin/Dart/Svelte/Vue/Liquid/Pascal
框架感知路由 识别 13 种 Web 框架的路由文件,将 URL 模式链接到处理器
100% 本地 数据不出本机,无 API Key,无外部服务,仅 SQLite

支持的 Web 框架

DjangoFlaskFastAPIExpressLaravelRailsSpringGin/chi/muxAxum/actixASP.NETVaporReact RouterSvelteKit

MCP 工具集

作为 MCP 服务器运行时,CodeGraph 暴露以下工具给 AI 代理:

工具 用途
codegraph_search 按名称查找符号
codegraph_context 为任务构建相关代码上下文
codegraph_callers 查找谁调用了某个函数
codegraph_callees 查找某个函数调用了什么
codegraph_impact 分析更改符号的影响范围
codegraph_node 获取单个符号的详细信息
codegraph_files 获取索引的文件结构
codegraph_status 检查索引健康状态和统计信息

快速上手

一行安装

npx @colbymchenry/codegraph

交互式安装器会自动检测已安装的代理(Claude Code / Cursor / Codex CLI / OpenCode),并自动配置 MCP 服务器。

初始化项目

cd your-project
codegraph init -i

构建项目的知识图谱索引。

非交互式安装(CI/脚本)

codegraph install --yes                              # 自动检测代理,全局安装
codegraph install --target=cursor,claude --yes       # 指定目标
codegraph install --target=auto --location=local     # 项目级安装

代码库集成

import CodeGraph from '@colbymchenry/codegraph';

const cg = await CodeGraph.init('/path/to/project');

await cg.indexAll({
  onProgress: (p) => console.log(`${p.phase}: ${p.current}/${p.total}`)
});

const results = cg.searchNodes('UserService');
const callers = cg.getCallers(results[0].node.id);
const context = await cg.buildContext('fix login bug', {
  maxNodes: 20,
  includeCode: true,
  format: 'markdown'
});
const impact = cg.getImpactRadius(results[0].node.id, 2);

cg.watch();   // 文件变化自动同步
cg.unwatch(); // 停止监听
cg.close();

实用功能:codegraph affected

追踪变更文件的传递依赖,找出受影响的测试文件:

# 直接传入文件
codegraph affected src/utils.ts src/api.ts

# 从 git diff 管道输入
git diff --name-only | codegraph affected --stdin

# 自定义测试文件模式
codegraph affected src/auth.ts --filter "e2e/*"

CI Hook 示例

#!/usr/bin/env bash
AFFECTED=$(git diff --name-only HEAD | codegraph affected --stdin --quiet)
if [ -n "$AFFECTED" ]; then
  npx vitest run $AFFECTED
fi

项目亮点总结

  • 性能提升显著:工具调用减少 92%,速度提升 71%(平均值)
  • 零数据外泄:纯本地 SQLite,无 API 调用,适合企业级安全要求
  • 多语言覆盖:19 种编程语言 + 13 种 Web 框架感知
  • 即插即用:一行命令安装,自动配置 Claude Code / Cursor / Codex / OpenCode
  • 增量同步:基于 OS 原生文件事件,编码过程中图谱始终保持最新
  • 影响分析:改代码前一键查看影响范围,降低回归风险

适用场景

  • 大型代码库中快速定位代码逻辑
  • AI 编程助手(Claude Code / Cursor)的 token 优化
  • 代码审查前的影响范围分析
  • CI/CD 中精准测试(只跑受影响的测试)
  • 跨语言项目的代码追踪

u2

Related Posts

MCP Gateway 完全指南:企业级 AI Agent 的控制平面

深入解析 MCP Gateway 的核心概念、架构设计、关键特性,以及为什么企业需要部署 MCP 网关来治理 AI Agent。

Read more

技术深度解析:Model Context Protocol (MCP)

MCP 不仅仅是一个技术协议,它是 AI 应用从”玩具”走向”生产力工具”的关键基础设施。通过统一工具调用标准,MCP 极大地降低了 AI 集成的复杂度,使得开发者能够专注于构建具有实际业务价值的 Agent,而不是重复造轮子。

Read more

发表回复

You Missed

CodeGraph 让 AI 编程助手拥有”代码知识图谱”

  • u2
  • 5月 19, 2026
  • 19 views

MCP Gateway 完全指南:企业级 AI Agent 的控制平面

  • u2
  • 5月 17, 2026
  • 33 views

技术深度解析:Model Context Protocol (MCP)

  • u2
  • 5月 16, 2026
  • 41 views

Hermes Agent 自动学习与成长原理深度解读

  • u2
  • 5月 14, 2026
  • 77 views

Agent Memory + Skills 双轮驱动 Memori Labs × Anthropic Dreaming 执行记忆 vs 会话记忆,如何构建持续进化的 Agent

  • u2
  • 5月 11, 2026
  • 87 views
Agent Memory + Skills 双轮驱动 Memori Labs × Anthropic Dreaming 执行记忆 vs 会话记忆,如何构建持续进化的 Agent

基于大模型的测试用例生成解决方案

  • u2
  • 5月 10, 2026
  • 93 views