用途
CodeGraphContext(CGC)用于把代码仓库转化为可查询的图,为 AI 智能体提供上下文。它面向“纯文本搜索已不够用”的场景,将仓库构建为包含文件、符号、调用、继承、导入和关系的图,从而回答“如何连接”而非仅“定义在哪里”。
主要能力
- 代码索引:分析代码并构建组件知识图谱。
- 关系分析:查询调用者、被调用者、类层次、调用链等。
- 预索引包:通过 .cgc 包即时加载知名仓库,无需索引。
- 实时文件监听:使用 cgc watch 监听目录变化并实时更新图。
- 交互式设置:提供用户友好的命令行向导。
- 双模式:既可作为独立 CLI 工具,也可作为面向 AI 智能体的 MCP 服务器。
- 多语言支持:完整支持 23 种编程语言。
- 灵活数据库后端:FalkorDB Lite(默认)、KuzuDB、LadybugDB、FalkorDB Remote、Nornic DB 或 Neo4j。
- 交互式可视化:生成基于网页的交互式知识图谱,支持暗色模式、玻璃拟态、点击节点查看详情、实时搜索、力导向与层次布局,输出为独立 HTML 文件。
- 令牌优化输出(GCF):可选 GCF 输出格式可减少约 62% 的工具响应令牌,若未安装 gcf-python 则回退到 JSON。
使用方式
安装:pip install codegraphcontext。若命令未找到,可运行一行修复脚本。数据库默认使用嵌入式图数据库,无需额外配置;Neo4j 可运行 codegraphcontext neo4j setup 使用外部服务器。
CLI 模式:索引仓库、查看已索引仓库、查找未使用代码等。
MCP 模式:运行 codegraphcontext mcp setup 向导,可自动检测并配置 VS Code、Cursor、Windsurf、Zed、Claude、Gemini CLI、ChatGPT、Codex、Cline、RooCode、Amazon Q Developer、Kiro、Goose、OpenCode 等。向导会生成 mcp.json、将数据库凭据存入 ~/.codegraphcontext/.env,并更新所选 IDE/CLI 的设置文件。随后运行 codegraphcontext mcp start 启动服务器,即可用自然语言与代码库交互。
可通过项目根目录的 .cgcignore 文件(语法同 .gitignore)忽略特定文件和目录。
适用场景
- 跨文件和包追踪调用链。
- 理解类层次、导入和模块边界。
- 查找死代码、热点和意外依赖。
- 为 AI 助手提供与维护者相同的结构上下文。
- AI 助手中的静态代码分析、基于图的项目可视化、死代码与复杂度检测。
限制与说明
- 需要 Python 3.10 或更高版本、pip 包管理器;Git 可选。
- 支持 Python 3.10-3.14。
- 嵌入式 KuzuDB/LadybugDB 默认使用 4 GiB 缓冲池,可通过 CGC_EMBEDDED_BUFFER_POOL_MB 调整,设为 0 使用库默认值(约系统内存的 80%)。
- SCIP 索引为可选功能:在配置中设置 SCIP_INDEXER=true 后,部分语言使用外部 SCIP 索引器以获得比 Tree-sitter 启发式更准确的调用和继承。C 和 C++ 使用 scip-clang,需要 compile_commands.json;C# 使用 scip-dotnet,需要正常的 .csproj/.sln 并成功还原。SCIP 与所用图数据库无关。
- Solidity 使用 Tree-sitter,不支持 SCIP;Kotlin 注解记录在函数和类上作为装饰器,接口、对象、构造函数、参数和属性上的注解尚未记录。
- 许可证:MIT。
- 作者:Shashank Shekhar Singh。
- 具体收费、价格、平台限制等暂未提供。