代码库索引
在码道CLI中,你可以为项目构建索引,来提升AI在代码库中的检索速度与准确度,使结果更贴合你的需求。
代码库索引分类
代码库索引提供了如下两种模式,请结合你的使用场景,自由选择合适的索引构建方式。
- 本地索引:通过本地索引构建图谱索引,解析本地项目代码文件,精准检索函数、类、文件之间的调用、依赖与继承关系。
- 云端索引:借助代码库索引构建向量索引,基于代码语义,实现功能维度的智能检索与精准匹配。如果你使用的是企业版(新版套餐)或原个人版/体验版/基础版/专业版(旧版套餐),请确保账号已启用席位,若席位未启用,会导致云端索引创建失败。
| 对比维度 | 本地索引 | 云端索引 |
|---|---|---|
| 存储位置 | 索引文件存储在你的本地设备(当前项目根目录的“.codegraph”路径下) | 首次构建索引,完整索引包上传存储至云端;代码变更生成的增量索引,保存在本地设备(当前项目根目录的“.codeartsdoer/.codebase”路径下) |
| 搜索能力 | 支持关键词、符号、文件名检索 | 语义理解,全库代码逻辑分析 |
| 构建规则 | 通过命令触发 | |
| 更新规则 | 通过命令触发 | |
约束与限制
| 限制类别 | 具体限制 |
|---|---|
| 语言 | 支持Java、JavaScript、TypeScript、Go、ArkTS、C、C++、Python、Vue和Lua。 |
| 索引代码文件总数 |
|
| 功能限制 |
|
代码库索引命令清单
| 命令(TUI) | 命令(CLI) | 功能说明 |
|---|---|---|
| /codebase/init | codearts codebase --init | 创建云端索引。 |
| /codebase/detail | codearts codebase --detail | 查看云端索引构建进度。 |
| /codebase/update | codearts codebase --update | 增量更新云端索引。 |
| /codebase/delete | codearts codebase --delete | 删除云端索引。 |
| /codebase-local/status | codearts codebase-local --status | 查看本地索引状态。 |
| /codebase-local/index | codearts codebase-local --index | 启动本地索引构建。 |
| /codebase-local/sync | codearts codebase-local --sync | 增量更新本地索引。 |
| /codebase-local/disable | codearts codebase-local --disable | 关闭本地索引功能。 |
| /codebase-local/enable | codearts codebase-local --enable | 启用本地索引功能。 说明: 在TUI开发环境中关闭本地索引后,再次启用时,请重启码道CLI。 |
构建代码库索引
接下来以TUI开发环境为例,带你一步步完成代码库索引的构建。
- 进入TUI开发环境。
- 打开目标项目的根目录。
- 鼠标右键单击空白处,选择“在终端中打开”。
- 在终端中输入“codearts”并回车,即可进入TUI开发环境。
- (可选)通过配置忽略文件,来指定在构建代码索引时需要剔除的文件。
进入项目中的“.codeartsdoer”文件夹,打开“.codebaseignore”文件,设置你想要忽略的文件。被忽略的文件将完全被排除在代码索引之外,从而有效保护你的敏感数据。
- 构建本地索引。
- 在对话框中输入“/”,选择“/codebase-local/index”,开始构建本地索引。
- 输入命令“/codebase-local/status”,当看到如下页面提示时,表明本地索引已构建完成。 图1 本地索引构建完成
- 构建云端索引。
- 在对话框中输入“/”,选择“/codebase/init”,开始构建云端索引。
- 输入命令“/codebase/detail”,当看到如下页面提示时,表明云端索引已构建完成。 图2 云端索引构建完成
- 输入你要查找的内容,查看代码检索效果。
探索代码库中所有调用is_input_required的位置,包括跨文件调用关系
图3 查看检索结果