乐于分享
好东西不私藏

给 AI 编码助手提供一个预建的代码知识图谱--CodeGraph

给 AI 编码助手提供一个预建的代码知识图谱--CodeGraph

一、简介

CodeGraph 是一个为 AI 编码代理(Claude Code、Cursor、Codex、Gemini 等)提供语义代码智能的本地工具。

    核心价值:给 AI 编码助手提供一个预建的代码知识图谱,让 AI 不再需要通过大量 grep/read 文件来理解代码结构,从而降低约 25% 成本、减少约 62% 工具调用,且完全本地运行。

二、核心功能

功能

说明

智能上下文构建

一次工具调用即可返回入口点、相关符号和代码片段

全文搜索

基于 FTS5 的符号名称即时搜索

影响分析

修改前追踪调用者、被调用者和完整影响范围

自动同步

文件监听器使用原生 OS 事件,代码修改后图谱自动更新

20+ 语言支持

TypeScript、Python、Go、Rust、Java、C/C++、Swift 等

框架路由感知

识别 14 种 Web 框架的路由文件,关联 URL 到处理函数

跨语言桥接

Swift ↔ ObjC、React Native Bridge、Expo Modules 等

100% 本地

无数据外传,无 API Key,纯 SQLite 数据库

三、安装
# macOS / Linuxcurl -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.js安装
npm i -g @colbymchenry/codegraph
安装后验证
codegraph --version

使用方式

cd /path/to/your-projectcodegraph init -i
  • init
     会在项目根目录创建 .codegraph/ 目录
  • -i
     表示同时建立索引(等同于 init + index)
  • 索引数据存储在 .codegraph/codegraph.db(SQLite 数据库)

工作原理

  1. 提取
     — 用 tree-sitter 解析源码 AST,提取符号节点和调用边
  2. 存储
     — 存入本地 SQLite 数据库
  3. 解析
     — 解析函数调用→定义、import→源文件、类继承等关系
  4. 自动同步
     — MCP 服务器模式下监听文件变更,增量更新图谱

CLI 常用命令

命令

用途

codegraph init -i

初始化项目并建索引

codegraph index

全量重建索引

codegraph index --force

强制全量重建索引

codegraph sync

增量更新索引

codegraph status

查看索引统计信息

codegraph query <关键词>

搜索符号(函数/类/方法名)

codegraph callers <符号>

查找谁调用了这个函数

codegraph callees <符号>

查找这个函数调用了谁

codegraph impact <符号>

分析修改某符号的影响范围

codegraph context <任务描述>

为 AI 构建上下文

codegraph files

查看已索引的文件结构

codegraph serve --mcp

启动 MCP 服务器

使用示例

# 搜索某个符号codegraph query "xxx"# 查看谁调用了某个函数codegraph callers "xxx"# 分析修改某函数的影响codegraph impact "xxx"# 为 AI 构建上下文(输出可直接粘贴给 AI)codegraph context "xxx"

工具调用:使用mcp

codegraph serve --mcp

提供的 MCP 工具

启动后,AI 代理可以调用以下能力:

  • codegraph_query
     — 搜索符号
  • codegraph_context
     — 为任务构建相关代码上下文
  • codegraph_callers
     / codegraph_callees — 调用链分析
  • codegraph_impact
     — 影响分析

如何配置

{  "mcpServers": {    "codegraph-xxx": {      "type": "stdio",      "command": "/path/to/codegraph-linux-x64/bin/codegraph",      "args": ["serve", "--mcp"],      "cwd": "/path/to/your-project"    },    "codegraph-xxx": {      "type": "stdio",      "command": "/path/to/codegraph-linux-x64/bin/codegraph",      "args": ["serve", "--mcp"],      "cwd": "/path/to/your-project"    }  }}

使用:

 使

相关学习资料