管理代码库索引
代码库索引帮助您在代码库中快速检索并获取相关信息。您可在控制台对云端索引执行创建和删除操作,创建后的索引可同步至华为云码道代码智能体客户端使用。
华为云码道代码智能体支持创建本地和云端两种类型的索引:本地索引在客户端创建,云端索引在控制台创建。
本章节介绍企业成员在控制台管理云端索引的操作,如需在客户端管理本地索引,请参考代码库索引。
| 对比维度 | 本地索引 | 云端索引 |
|---|---|---|
| 存储位置 | 索引文件存储在你的本地设备(当前项目根目录的“.codegraph”路径下) | 首次构建索引,完整索引包上传存储至云端;代码变更生成的增量索引,保存在本地设备(当前项目根目录的“.codeartsdoer/.codebase”路径下) |
| 搜索能力 | 支持关键词、符号、文件名检索 | 语义理解,全库代码逻辑分析 |
| 构建规则 |
| |
| 更新规则 | 文件发生变更自动更新 | 开启自动更新且代码库文件数量小于50000时自动更新,其余场景需手动操作 |
约束与限制
| 限制类别 | 新版套餐版本 | 旧版套餐版本 | 具体限制 |
|---|---|---|---|
| 语言 | - | - | 支持Java、JavaScript、TypeScript、Go、ArkTS、C、C++、Python、Vue和Lua。 |
| 席位限制 | - | - | 仅已启用席位的账号可创建和删除云端代码库索引。 购买新版套餐个人版的账号默认已启用席位。 |
| 代码文件总数 | 个人体验版 | 体验版 | 最多支持检索5千个代码文件。 |
| 个人标准版/个人高级版/个人旗舰版 | 基础版 | 最多支持检索5万个代码文件。 | |
| 企业专业版 | 专业版 |
| |
| 功能限制 | 个人版(含体验版/标准版/高级版/旗舰版) | 体验版 | 仅支持创建云端个人级代码库索引。 |
| 企业专业版 | 基础版/专业版 | 可创建云端企业级、团队级、个人级代码库索引。 |
创建云端索引
你可以借助代码库索引构建向量索引,基于代码语义,实现功能维度的智能检索与精准匹配。
- 套餐版本是否为新版套餐的个人版(个人体验版、个人标准版、个人高级版、个人旗舰版)?
- 是,使用购买套餐的账号登录码道代码智能体控制台。
- 否,使用企业成员或企业管理员登录码道代码智能体控制台。
- 选择“智能体设置 > 代码库索引”,进入代码库索引页面。
- 单击“新建索引”,设置索引基本信息,完成后单击“下一步”。
表3 代码库索引参数说明 参数
说明
可见范围
仅企业版(新版套餐)或基础版、专业版(旧版套餐),支持配置该参数。
定义代码库索引的可见范围。
- 个人:仅成员本人可用。
- 团队:仅本团队成员可用,由企业管理员、团队管理员或团队成员创建。
- 企业:所有企业成员都可用,由企业管理员、团队管理员、团队成员或企业成员创建。
可用团队
仅“可见范围”设置为“团队”时,才会显示该配置项。
企业管理员可查看所有团队,但只能选择其中一个团队,团队管理员仅可查看并选择其所属团队。
代码源
选择您想要索引的代码仓库来源。
- Repo:代码托管(CodeArts Repo)中的仓库。
- Git:通用Git仓库。
- Github:GitHub平台仓库,支持公开仓库及经授权的私有仓库。
选择项目
“代码源”设置为“Repo”时,才会显示该配置项。
从已关联的代码源中,选择具体要索引的项目。
获取授权
选择一种方式来授权系统访问你的代码源。
- 通过服务授权:在下拉框中选择服务扩展点,该扩展点对应Repo、Github或Git仓库的连接信息。
若还未创建服务扩展点,单击“添加”,参考表4创建服务扩展点。
- 通过个人访问令牌:使用你个人账户生成的访问令牌进行认证。
默认分支
“代码源”设置为“Git”时,才会显示该配置项。
输入Git仓库的分支名称,分支名称不能超过200个字符。
表4 服务扩展点参数说明 参数
说明
连接名称
自定义连接仓库的名称。
命名规范:由中文、英文、数字、下划线和中划线组成,不能以下划线开头。
Git仓库Url
“代码源”设置为“Repo”或“Git”时,才显示该配置项。
Repo/Git仓库的HTTPS访问地址。
用户名
“代码源”设置为“Repo”或“Git”时,才显示该配置项。
Repo/Git仓库HTTPS协议的认证用户名。
密码或Access Token
“代码源”设置为“Git”时,才显示该配置项。
Git仓库HTTPS协议的认证密码或Access Token。
Access Token
“代码源”设置为“Repo”或“Github”时,才显示该配置项。
Repo/Github仓库HTTPS协议的Access Token。
- 选择你的代码库和语言,单击“确定”,完成代码库索引的创建。
当该代码库索引的状态由“解析中”变为“解析完成”时,说明代码解析并构建索引成功。
- 返回到客户端,打开目标仓库项目,系统会自动从云端同步代码库索引。
当进度显示为100%,说明代码库索引已同步完成。
- 验证索引是否构建成功。
直接用自然语言描述你的诉求。系统会调用CodeSemanticSearch工具,基于自然语言语义进行深度代码检索,突破关键词限制。
请求状态处理是如何实现的
图1 代码库索引检索结果
删除云端代码库索引
表5展示了不同角色对删除代码库索引的操作权限差异,具体如下:
| 角色 | 企业级代码库索引 | 团队级代码库索引 | 个人级代码库索引 |
|---|---|---|---|
| 企业管理员 | 可删除所有代码库索引 | 可删除所有代码库索引 | 可删除所有代码库索引 |
| 团队管理员 | 可删除本人创建的代码库索引 | 可删除本团队成员(含团队管理员)创建的代码库索引 | 可删除本人创建的代码库索引 |
| 团队成员 | 可删除本人创建的代码库索引 | 可删除本人创建的代码库索引 | 可删除本人创建的代码库索引 |
| 企业成员 | 可删除本人创建的代码库索引 | 无任何操作权限 | 可删除本人创建的代码库索引 |
| 操作 | 具体步骤 |
|---|---|
| 删除指定代码库索引 | 索引数量较少时,逐条删除操作更直观灵活,便于精准定位并清除目标索引。
|
| 批量删除代码库索引 | 手动逐条删除索引效率较低,您还可以通过以下方式批量删除索引,快速清理冗余索引。
|
