CodeGraph 完整使用文档

CodeGraph 完整使用文档

CodeGraph 是一个为 AI 编程助手预建“代码知识图谱”的本地工具。它不像传统 AI 助手那样在陌生代码库里反复 grepfindread,而是提前把整个代码库解析成一张结构化地图,让 AI 直接查询图谱获取答案。

简单类比:无 CodeGraph 的 AI 像没有地图的路人,只能边走边问;接入 CodeGraph 后,AI 手持完整的项目地形图。

一、核心概述

1.1 它是什么?

CodeGraph 构建代码库的语义图谱——函数、类、导入、调用链——并通过 45 个 MCP 工具、VS Code 扩展和持久内存层暴露出来。它通过 tree-sitter 解析 37 种编程语言

核心定位:它不是替代 AI 编程助手,而是给 AI 增加一层“代码地图”基础设施。

1.2 它解决什么问题?

AI 编程助手在理解代码时,通常需要反复进行文件搜索和读取(greplsread),这会消耗大量时间、Token 和费用。

CodeGraph 的目标是改变这一点——通过预先建好的知识图谱,让 AI 助手一次调用就能获得精准的上下文。

1.3 支持的 AI 编程助手

CodeGraph 支持以下 AI 编程助手:

  • Claude Code
  • Cursor
  • Codex CLI
  • opencode
  • Hermes Agent
  • Gemini CLI
  • Antigravity IDE
  • Kiro
  • GitHub Copilot(VS Code、Copilot CLI、JetBrains IDEs)

1.4 支持的语言

支持 20+ 种编程语言:

TypeScript、JavaScript、ArkTS、Python、Go、Rust、Java、C#、VB.NET、PHP、Ruby、C、C++、CUDA、Objective-C、Metal、Swift、Kotlin、Scala、Dart、Lua、Luau、R、Nix、Erlang、CFML、COBOL、Solidity、Terraform/OpenTofu、Svelte、Vue、Astro、Liquid、Pascal/Delphi

二、安装与配置

2.1 安装 CLI

方式一:一键脚本安装(推荐,无需 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

方式二:通过 npm 安装(适用于已有 Node.js 环境)

npm i -g @colbymchenry/codegraph

注意:安装完成后,打开一个新终端再执行后续命令。

升级:任何时候执行 codegraph upgrade 即可升级到最新版本。

2.2 接入 AI 编程助手

新终端中运行安装器,将 CodeGraph 连接到你使用的 AI 编程助手:

codegraph install

这个命令会自动检测并配置 Claude Code、Cursor、Codex CLI、opencode、Hermes Agent、Gemini CLI、Antigravity IDE 和 Kiro。

重要:这一步只连接你的 AI 编程助手——它不会索引你的代码。索引是下一步的事情。

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

codegraph install --yes   # 自动检测并配置所有已安装的 agent

2.3 初始化项目索引

进入你的项目目录,构建知识图谱:

cd your-project
codegraph init

这一步会创建 .codegraph/ 目录并一次性构建完整的知识图谱

2.4 自动同步——无需手动维护

自动同步默认启用。CodeGraph 通过原生文件系统事件(FSEvents/inotify/ReadDirectoryChangesW)监听文件变化,并在每次文件变更后自动增量更新图谱。

不需要手动运行任何同步命令。图谱始终保持最新。

自动同步的三层保障

  1. 文件监听器:捕获每个源文件的创建/修改/删除,在防抖窗口后触发重新索引(默认 2000ms,可通过 CODEGRAPH_WATCH_DEBOUNCE_MS 调整)
  2. 陈旧标记横幅:在防抖窗口期间,MCP 工具响应如果引用了待同步的文件,会在响应前加上 ⚠️ 标记
  3. 连接时追赶:MCP 服务器(重)连接时,会快速对工作树进行 (size, mtime) + 内容哈希校对

2.5 手动配置(备选方案)

如果自动安装不适用,也可以手动配置:

npm install -g @colbymchenry/codegraph

~/.claude.json 中添加 MCP 服务器配置:

{
  "mcpServers": {
    "codegraph": {
      "type": "stdio",
      "command": "codegraph",
      "args": ["serve", "--mcp"]
    }
  }
}

~/.claude/settings.json 中配置自动允许(可选):

{
  "permissions": {
    "allow": ["mcp__codegraph__*"]
  }
}

2.6 卸载

一键移除 CodeGraph:

codegraph uninstall

这会从每个已配置的 agent 中移除 CodeGraph 的 MCP 服务器配置、指令和权限。项目索引文件(.codegraph/)不会被删除;如需删除,对每个项目执行 codegraph uninit

三、核心功能

3.1 框架感知路由

CodeGraph 能识别 Web 框架的路由文件,并将 URL 模式与对应的处理函数关联起来。支持的框架包括:

框架识别模式
Djangopath()re_path()url()include()
Flask@app.route()、蓝图路由
FastAPI@app.get()@router.post()
Expressapp.get()router.post()
NestJS@Controller + @Get/@Post、GraphQL @Resolver
LaravelRoute::get()Route::resource()
Railsget '/x', to: 'users#index'
Spring@GetMapping@PostMapping
React Router / SvelteKit路由组件节点
Vue Router / Nuxtpages/ 文件路由
Astrosrc/pages/ 文件路由

3.2 跨语言桥接

对于 iOS / React Native / Expo 混合代码库,CodeGraph 能桥接跨语言调用:

  • Swift ↔ Objective-C@objc 自动桥接规则
  • React Native 桥接:Legacy Bridge + TurboModules + Fabric 视图组件
  • Expo ModulesrequireNativeModule() 与原生模块的 DSL 解析
  • Fabric 视图组件:TS Codegen 规范 → 原生实现类的桥接

3.3 MCP 工具集

CodeGraph 通过 MCP 协议提供 45 个工具。最核心的工具是 codegraph_explore

codegraph_explore 一次调用即可返回入口点、相关符号、调用路径和代码片段——无需慢速的文件逐个探索。

3.4 核心能力

能力说明
语义搜索按含义和意图查找代码
结构搜索遍历调用图和数据流
影响分析追踪任何符号的调用者、被调用者和完整影响范围
全文搜索基于 FTS5 的快速代码搜索
LLM 合成生成人类可读的回答

四、使用方法

4.1 CLI 命令行查询

不需要启动 AI 编程助手,直接在终端查询:

# 搜索符号
codegraph query <symbol>

# 探索代码结构
codegraph explore "<task>"

# 查看节点信息
codegraph node <symbol-or-file>

# 查看文件树
codegraph files --format tree

4.2 在 AI 编程助手中使用

安装并初始化后,CodeGraph 会自动配置好 MCP 服务器。之后你在 AI 编程助手中提问时,AI 会自动查询图谱。

典型提问方式

问题类型示例
定义查询heap_insert 方法在哪里定义的?”
关系查询“谁调用了 AuthService.login?”
流程查询“登录功能的数据流是怎样的?”
影响分析“修改 useAuth 这个 Hook 会影响哪些地方?”
架构问题“请求是如何到达数据库的?”

4.3 查看同步状态

codegraph status

如果有待同步的文件,会显示 ### Pending sync: 部分,列出文件及其编辑时长。

五、前端开发场景

在前端开发场景下,CodeGraph 能深度理解现代前端框架的复杂模式。

5.1 React 项目

  • 支持 TypeScript JSX (.tsx) 解析
  • 追踪组件、Hooks 及 RTK Query 的数据流
  • 识别 React Router 路由配置

实战案例:一个 React+TypeScript 项目(约 80 个文件),同样改一个路由守卫,没用 CodeGraph 前 AI 调了 12 次文件,用了之后只调了 2 次。

5.2 Vue 项目

  • 索引 Vue 组件(.vue 文件)
  • 支持 Pinia 的 Options 和 Setup 两种 Store 形式
  • 追踪 Vuex 的 dispatchcommit 调用
  • 识别 Vue Router / Nuxt 的 pages/ 文件路由

5.3 跨语言混合项目

对于 React Native 项目,CodeGraph 能桥接 JS 与原生代码的调用链:

  • JS 文件调用 React Native 桥接的原生模块
  • JSX 组件委托给原生视图管理器
  • 调用路径跨越语言边界,而不是停在那里

六、性能数据

CodeGraph 在 7 个真实世界开源代码库(涵盖 7 种语言)上进行了对比测试:

6.1 综合数据

指标提升幅度
工具调用平均减少 88%
处理速度平均加快 53%
Token 消耗平均减少 62%
成本平均降低 44%
文件读取降至 0 次

6.2 具体仓库实测

仓库有 CodeGraph无 CodeGraph
VS Code17s / 3 次调用52 次调用
中型项目平均 45 次调用显著更多

星火甄选系统(基于 RuoYi-Vue 二次开发,~1,300 个源文件):工具调用次数减少 69%

七、高级配置

7.1 MCP 服务器配置选项

参数默认值说明
--workspace <path>当前目录要索引的目录(可重复,用于多项目)
--exclude <dir>跳过的目录(可重复)
--max-files <n>5000最大索引文件数
--graph-onlyoff跳过向量嵌入生成,仅构建图谱,索引速度提升 10-50 倍
--profile <name>all过滤暴露的 MCP 工具集

7.2 GitHub Action — PR 自动审查

在 CI 中自动生成代码图谱分析评论:

# .github/workflows/codegraph-pr.yml
- name: CodeGraph PR Analysis
  run: |
    codegraph-server --graph-only \
      --run-tool codegraph_pr_context \
      --tool-args '{"baseBranch":"main","format":"markdown"}'

输出内容包括:影响范围、测试缺口、过时文档、建议的审查人

八、常见问题

Q:CodeGraph 需要联网吗?

不需要。100% 本地运行,无 API 密钥,不上传代码到云端。

Q:索引大项目需要多久?

在 2 核 6GB 的 VPS 上索引 70k 文件的 Linux kernel 约需 12 分钟。日常增量同步在 4400 文件项目上约 0.4 秒

Q:索引文件太多怎么办?

使用 --max-files 限制索引文件数量,或用 --exclude 排除特定目录。

Q:不想生成向量嵌入(加快索引速度)?

使用 --graph-only 标志,索引速度提升 10-50 倍,但语义搜索不可用。

Q:如何确认索引已就绪?

执行 codegraph status 查看同步状态。

Q:一个 CodeGraph 安装能用在多个项目吗?

可以。一次全局 codegraph install 覆盖所有项目;每个项目单独运行 codegraph init 即可。

九、总结

CodeGraph 的核心价值可以概括为:把 AI 在代码库中的“探索式搜索”变成“查表式查询”

维度效果
工具调用减少 88%
Token 消耗减少 62%
处理速度提升 53%
成本降低 44%
文件读取降至 0 次

适用场景

  • 大型代码库:AI 不再需要反复 grep 摸索结构
  • 陌生项目接手:快速理解调用链和依赖关系
  • 前端项目:理解 React Hooks、Vuex/Pinia、路由等复杂模式
  • 跨语言项目:iOS / React Native 混合代码库的端到端调用分析
  • PR 审查:CI 自动化影响分析

相关链接

内容概要:本文提出了一种结合在线鲁棒主成分分析(RPCA)模型与长短期记忆(LSTM)循环网络的商品需求预测方法,并提供了完整的Python代码实现。该方法首先利用RPCA模型对原始商品需求时间序列进行分解,分离出低秩的潜在趋势成分与稀疏的异常波动成分,有效实现数据去噪与异常值修正,提升输入数据的鲁棒性;随后将净化后的数据输入LSTM网络,充分挖掘时间序列中的长期依赖关系与时序模式,从而提高对未来需求的预测精度。整个模型设计针对实际商业场景中普遍存在的数据噪声大、波动剧烈、突发性事件干扰等问题,展现出较强的稳定性与预测能力。文中通过实验验证了该混合模型在多个指标上优于传统统计模型及单一LSTM模型,体现了其在复杂环境下的优越性能。; 适合人群:具备一定Python编程能力和机器学习基础知识,从事数据分析、供应链管理、电商运营、零售优化及相关领域研究的研发人员或研究生;特别适合关注时间序列预测、深度学习建模以及鲁棒数据处理技术的技术人员。; 使用场景及目标:①应用于电商平台、零售企业或制造行业中的销量预测,以支持库存优化、生产计划制定与物流调度决策;②为科研工作者提供一种融合鲁棒统计与深度学习的预测建模范例,推动高噪声环境下预测算法的创新与复现研究;③帮助开发者深入理解RPCA与LSTM的集成机制,掌握复杂预测模型的构建、训练与调优流程。; 阅读建议:建议读者结合所提供的Python代码逐步实现模型,重点理解RPCA在数据预处理阶段的作用机制以及LSTM网络的结构设计与超参数配置。学习过程中应在真实或模拟数据集上复现实验结果,对比不同参数设置下的模型表现,以深化对模型内在工作原理的理解。同时可进一步探索其他深度学习模型(如GRU、Transformer)与鲁棒分解方法(如VMD、STL)的融合可能性,拓展应用场景。
内容概要:本文针对传统三电平并网逆变器在谐波抑制、电网不平衡适应性及动态响应方面的不足,提出一种基于有源中点箝位(ANPC)三电平拓扑的高性能并网控制策略。通过融合双极性倍频脉宽调制(DPWMA)、正负序分离锁相技术与电网电压前馈控制,构建一体化控制系统。ANPC拓扑具备开关损耗均衡、中点电位可控、输出谐波低等优势,为系统性能提升提供硬件基础;DPWMA调制有效提升等效开关频率,显著降低输出电压电流的低次谐波含量,优化稳态电能质量;正负序分离锁相技术可精准提取电网正序分量,实现不平衡工况下的精确同步,保障并网电流对称性;电网电压前馈控制则提前补偿电网扰动,大幅缩短动态调节时间,抑制电压骤变引起的电流畸变与功率冲击。文章通过Simulink仿真平台对稳态、电网不平衡及动态切换等多种工况进行全面验证,结果表明该复合控制策略能显著提升系统的电能质量、运行稳定性与工况适应能力,适用于新能源发电、工业变频等大功率高质量并网应用场景。; 适合人群:具备电力电子与电力系统基础知识,从事新能源并网、电能质量治理、大功率变流器控制等方向研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①研究高电能质量要求下的大功率并网逆变器系统设计方法;②掌握DPWMA调制、正负序分离锁相、电网电压前馈等先进控制技术的原理与协同机制;③提升在电网电压不平衡、动态扰动等复杂工况下的系统稳定控制能力;④为实际工程应用或学术研究提供可复现的仿真模型与技术解决方案。; 阅读建议:此资源以Simulink仿真为核心,结合理论分析与性能验证,建议读者结合文中控制策略的原理讲解,动手搭建仿真模型,重点理解DPWMA调制逻辑、正负序分解算法及前馈控制的实现方式,并通过不同工况下的仿真对比,深入掌握各模块对系统性能的贡献。
源码链接: https://pan.quark.cn/s/7d0192dd9e83 【定制系统更新包 A300】是一款专门为联想A300手机设计的系统升级文件,其核心功能在于改善设备的运行表现并实现个性化调整。在信息技术领域中,刷机这一术语指的是对手机、平板等智能终端的操作系统进行更换或升级,通常目的是为了解锁更多功能、加快处理速度或解决原装系统存在的缺陷。针对此特定的更新包,我们着重分析以下几个关键点: 1. **官方系统固件的定制化版本**:ROM(只读存储器)在移动设备中代表存储系统数据的非易失性存储区,官方ROM是由设备生产商发布的初始系统软件。而定制化版本则表明该更新包在官方版本的基础上进行了调整和改进,可能包含对系统核心、应用程序、用户界面等部分的修改。 2. **用户界面定制功能**:更新包内含的个性化选项允许用户依据个人偏好调整手机的外观和操作环境,如图标样式、桌面背景、启动应用等,从而创造更加独特的操作感受。这些定制可能涉及对系统底层设置的深入修改,例如字型更换、主题设计等。 3. **系统稳定性和响应速度的提升**:这是该更新包的主要优势之一,意味着经过优化的系统能够保证设备在运行过程中的可靠性,减少系统崩溃或运行迟缓的情况,同时增强操作的流畅性,从而提升用户日常操作的满意度。 4. **电源管理脚本的集成**:省电脚本是一种自动监控设备能耗的程序,通过调节硬件参数、关闭非必要进程等方式降低电池消耗。在此次更新包中,该脚本被整合进系统,旨在延长手机的续航能力,对于电池容量有限或经常需要外出的用户尤为适用。 5. **运行效能的强化**:这表明更新包的另一核心目标在于增强设备的处理能力,可能涉及提升中央处理器的运算效率、改进内存使用策略、减...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值