Appearance
codegraph
why
Agent 在分析需求问题的时候,搜索、读取、分析代码耗时非常久。
现有两种解决方案:
- 文件内容分块,再处理
- 借助本地代码索引
codegraph 就是提供了本地代码索引的方式来加速代码分析。
本文介绍的 codegraph 是 colbymchenry/codegraph,采用 ts + tree-sitter + sqlite 实现索引,提供了 CLI、MCP、npm 包集成 3 种使用方式。
另一提供索引的工具 CodeGraphContext/CodeGraphContext,使用了 python + tree-sitter + kuzu db,暂未尝试。
还有一更默认带索引能力的 Agent:Aider,内部使用了同样的代码库索引,使得在大型多文件项目中,Agent 能很好地理解项目。
how
根据 codegraph 仓库中的文档,先生成一个技能。再通过技能去使用 codegraph
技能补充要求:
- 使用 CLI 模式
- codegraph 无法使用时,先安装和建立索引
what
场景使用示例:
- /codegraph 安装 codegraph
- /codegraph 建立项目索引
- /codegraph 分析 xxx 的调用链
- /codegraph 分析改动的影响范围
- /codegraph 追踪从项目运行入口到某个问题的执行路径
- /codegraph 分析项目中 xxx 功能的交互方式
- /codegraph 检查项目中是否有未使用到的方法
- /codegraph 计算 xxx 函数的圈复杂度
- /codegraph 查找代码库中最复杂的 3 个函数