codegraph 是什么?

CodeGraph 把代码库解析为函数、类、导入、调用链和依赖关系,提供持久化语义图、VS Code 扩展和 MCP 工具,让 Agent 有结构化代码上下文。

⭐ 54,819 Stars 🍴 3,365 Forks TypeScript MIT 作者: colbymchenry
来源:github.com/codegraph-ai/CodeGraph 查看 GitHub 仓库 → 📘 使用教程 →

为什么值得关注

本轮以官方 README 的当前功能说明为准,没有把未核实的 release 版本写入页面。CodeGraph 把代码库解析为函数、类、导入、调用链和依赖关系,提供持久化语义图、VS Code 扩展和 MCP 工具,让 Agent 有结构化代码上下文。

来源:github.com/codegraph-ai/CodeGraph

核心功能

语义代码图

官方 README 说明图中包含函数、类、导入和调用链。

来源:github.com/codegraph-ai/CodeGraph
MCP 工具

官方仓库宣称提供 42 个 MCP tools,让外部 Agent 查询代码关系。

来源:github.com/codegraph-ai/CodeGraph
多语言和 VS Code

README 列出 38 种语言和 VS Code extension,具体解析效果需在目标仓库复核。

来源:github.com/codegraph-ai/CodeGraph

技术架构

索引器把源码解析成持久化节点和关系,查询层通过 VS Code 或 MCP 暴露符号、依赖和调用链;图结果用于定位,最终事实仍需回到同一提交的源码和测试。

来源:官方 README 与文档入口

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) 目标代码仓库 索引存储 MCP 客户端或 VS CodeMCP 客户端或 VS… 语义代码图 MCP 工具 多语言和 VS Code codegraph 项目本体 核心功能 关键依赖

技术栈

语言多语言解析器;以官方 release 实现为准框架语义代码图 + MCP server + VS Code extension
目标代码仓库索引存储MCP 客户端或 VS Code
本地或团队代码理解工作区
来源:官方 README 与文档入口

快速上手

先选一个可回滚仓库并记录 commit、语言、文件数;按官方 README 安装并索引,再抽查一个已知函数的定义、调用方、导入链和测试文件,最后接入 VS Code 或 MCP。
来源:github.com/codegraph-ai/CodeGraph

使用场景

适合大型多语言仓库、重构、故障排查和陌生代码 onboarding;小项目、精确字符串查找和日志检索仍可优先使用 grep 或语言服务器。

来源:官方 README 与文档入口

优势与局限

优势

  • 跨文件关系比纯文本搜索更直观
  • 可通过 MCP 供 Agent 查询
  • 持久化图适合重复导航

局限

  • 动态调用、生成代码和宏可能导致漏边
  • 索引耗时和存储有成本
  • 本轮未安装或给真实仓库建图
来源:官方 README 与文档入口

最新版本

本轮以官方 README 的当前功能说明为准,没有把未核实的 release 版本写入页面。

来源:github.com/codegraph-ai/CodeGraph

实测与证据

status: official_repo_checked_not_indexed  |  checked_at: 2026-09-23  |  environment: 核对官方 README、MCP、VS Code 和语言数量说明  |  limitations: 未验证具体语言解析、索引时间、图准确率或 MCP 调用  |  observed_output: README 宣称 42 个 MCP 工具、38 种语言和持久化 memory layer

来源:官方 README 与文档入口

同类项目对比

相比 grep,CodeGraph 能回答跨文件关系问题;相比语言服务器,它更强调持久化图和 Agent 查询。两者并非互斥,关键结论仍要用源码、测试和构建确认。

来源:官方 README 与文档入口

总结评价

适合大型多语言仓库、重构、故障排查和陌生代码 onboarding;小项目、精确字符串查找和日志检索仍可优先使用 grep 或语言服务器。采用前需要核对:动态调用、生成代码和宏可能导致漏边。

来源:github.com/codegraph-ai/CodeGraph

常见问题

CodeGraph 会替代语言服务器吗?

不应这样理解。语言服务器负责编辑器实时语义能力,CodeGraph 更强调持久化跨文件图和 Agent 查询,两者可以互补。

图能发现所有调用关系吗?

不能保证。动态调用、生成代码、宏和不完整依赖都可能影响解析,关键结论要回到源码和测试。

为什么要记录提交号?

代码图和源码必须对应同一版本,否则 Agent 可能基于旧索引给出错误建议。

如何判断它真的有用?

用同一批定位任务比较“普通搜索”和“图查询”的完成时间、漏查数和最终测试结果,而不是只看图的视觉效果。

资料与核验范围
本文依据项目公开资料整理。版本、安装命令和功能边界可能随上游更新,请以所列来源和项目当前版本为准。 资料核对时间: 2026-09-23 13:55.

参考材料:README、GitHub API、依赖文件