代码库索引
在码道CLI中,你可以为项目构建索引,来提升AI在代码库中的检索速度与准确度,使结果更贴合你的需求。
约束与限制
| 限制类别 | 具体限制 |
|---|---|
| 语言 | 支持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开发环境为例。
本地索引仅支持在Windows、Linux系统下创建。本地索引文件将自动存储在当前项目根目录的“.codegraph”路径下。
- 进入TUI开发环境。
- 打开目标项目的根目录。
- 鼠标右键单击空白处,选择“在终端中打开”。
- 在终端中输入“codearts”并回车,即可进入TUI开发环境。
- 在对话框中输入“/”,然后选择“/codebase-local/index”,开始构建本地索引。
- 等待一段时间后,再次输入“/”,选择“/codebase-local/status”,显示本地索引已构建完成。
- 验证索引是否构建成功。 输入你需要查找的函数名、变量名、文件路径等精确内容。系统将调用codebase_graph_explore工具,基于代码知识图谱进行检索与分析。
探索代码库中所有调用is_input_required的位置,包括跨文件调用关系
图1 本地索引检索效果
在客户端创建代码库索引
你可以借助代码库索引构建向量索引,基于代码语义,实现功能维度的智能检索与精准匹配。以TUI开发环境为例。
代码库索引文件将自动存储在当前项目根目录的“.codeartsdoer/.codebase”路径下。
- 进入TUI开发环境。
- 打开目标项目的根目录。
- 鼠标右键单击空白处,选择“在终端中打开”。
- 在终端中输入“codearts”并回车,即可进入TUI开发环境。
- 在对话框中输入“/”,然后选择“/codebase/init”,开始构建代码库索引。
- 再次输入“/”,选择“/codebase/detail”,可实时查看索引构建进度。 图2 进度为100%说明索引构建完成
- 验证索引是否构建成功。 直接用自然语言描述你的诉求。系统会调用CodeSemanticSearch工具,基于自然语言语义进行深度代码检索,突破关键词限制。
请求状态处理是用什么函数实现的
在控制台创建代码库索引
你可以在客户端创建代码库索引,也可以在控制台创建。在控制台完成创建后,在客户端打开目标项目时,系统会自动将代码库索引同步到项目中。
请确保你的账号已启用席位,若席位未启用,将导致代码库索引创建失败。
- 使用已授权企业成员或企业管理员角色的账号登录码道代码智能体控制台。
- 选择“智能体设置 > 代码库索引”,进入代码库索引页面。
- 单击“新建索引”,设置索引基本信息,完成后单击“下一步”。
表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。
- 选择你的代码库和语言,单击“确定”,完成代码库索引的创建。
当该代码库索引的状态由“解析中”变为“解析完成”时,说明代码解析并构建索引成功。
- 在客户端打开目标仓库项目,系统将自动从云端同步代码库索引。
- 在TUI开发环境中,你可以通过“/codebase/detail”命令,实时查看索引同步进度。
- 在CLI开发环境中,你可以通过“codearts codebase --detail”命令,实时查看索引同步进度。