You need to enable JavaScript to run this app.
文档中心
Viking AI 搜索

Viking AI 搜索

复制全文
下载 pdf
用户指南
Viking AI 搜索 CLI(SearchCLI)安装与使用
复制全文
下载 pdf
Viking AI 搜索 CLI(SearchCLI)安装与使用
说明​
Viking AI 搜索是火山引擎推出的一站式 AI 搜索/推荐/问答 SaaS 服务。本文主要介绍Viking AI 搜索最新推出并正式开源的 CLI 工具——SearchCLI,支持在终端或 AI Agent 中通过命令行管理您的搜索、推荐和问答服务。​
功能概述​
SearchCLI 提供完整的命令行操作能力,覆盖从数据接入、应用管理、效果评测、策略调优到搜索、推荐、问答体验的全流程。​
核心能力:​
  • 数据管理:创建数据集、定义 Schema、导入物品/行为数据​
  • 应用管理:创建应用、绑定数据集、配置字段索引、管理在线配置​
  • 搜索/推荐/问答:运行搜索查询、执行推荐请求、发起对话问答​
  • 场景配置:创建和管理搜索场景、推荐场景,调整策略参数​
  • 自动化评测调优:自动化搜索质量评估与策略推荐​
  • Agent 友好:命令支持 --json 输出,专为 AI Agent 集成设计​
说明​
Search CLI 的底层二进制文件名和命令前缀为 vs,相关环境变量以 VIKING_ 开头。在后续文档中,vs 即指 Search CLI 命令。​
前提条件​
  • 火山引擎账号:已注册火山引擎账号并开通 Viking AI 搜索服务。​
  • Access Key:已获取 Access Key ID(AK)和 Secret Access Key(SK)。AK/SK 可在访问控制页面查看或新建。​
​Image​​
注意​
如您使用的是子账号,可能无法自行创建 AK/SK,请联系企业管理员分配。请妥善保管您的 AK/SK,避免泄露和明文传输。因凭证泄露导致的数据损失或安全事故,由操作者自行承担责任。​
安装​
Search CLI 提供两种使用方式,请根据您的使用场景选择:​
​
使用方式​
适用场景​
特点​
在 AI Agent 中使用(推荐)​
通过 OpenClaw、Trae、Claude Code 等 AI Agent 操作​
自然语言驱动,Agent 自动执行命令​
在命令行中使用​
直接在终端手动执行命令​
精确控制,适合开发调试和 CI/CD​
​
通过 Agent 安装 SearchCLI​
通过 AI Agent 使用 SearchCLI 时,您只需将安装提示词发送给 Agent,Agent 会自动完成安装和授权配置。​
操作步骤:​
  1. 打开您的 AI Agent 助手(OpenClaw、Trae、Claude Code、Codex 等支持本地终端执行的 Agent)。​
  1. 将控制台中提供的安装提示词发送给 Agent:​
​
# Search CLI 安装与配置引导(宿主机版)​
​
请只在我电脑宿主机的真实终端里执行 Search CLI 相关的安装与配置命令。​
​
## 0. 基本约定​
​
- Search CLI 的命令前缀统一为 `vs`,安装完成后即可直接调用。​
- 相关的环境变量始终以 `VIKING_` 开头,例如 `VIKING_AK`、`VIKING_SK`、`VIKING_CONTROL_PLANE_BASE_URL`、`VIKING_DATA_PLANE_BASE_URL`、`VIKING_REGION`。​
- `vs` 同时维护两个 base URL:​
- **控制面 (control plane)**:OpenAPI 管控类调用,例如 `app create/list/get`、`dataset create/list`、`auth status`、`doctor` 等。​
- **数据面 (data plane)**:运行时数据类调用,例如 `search run`、`chat run`、`recommend run`、`data write/list/get/delete`、`search tune` 的实跑环节、`query_completion` 等。​
- 任何 `vs` 命令(包括 `--help`、`skill install`、环境变量检查、`auth`、`doctor`)都不要在 sandbox 里执行。如果你当前拿不到宿主机真实终端权限,请先停下来说明,不要继续尝试。​
​
## 1. 前置假设​
​
1. 这台电脑之前没有安装过 Search CLI。​
2. 宿主机已经具备以下基础环境:​
- `git`​
- Node.js **20 或更新版本**​
- `npm`​
- 如果其中任何一项缺失,请先停下来提示我安装,不要绕过。​
3. 安装来源固定为 GitHub 官方仓库:`https://github.com/volcengine/SearchCLI`。​
- 不要从其他渠道下载预编译二进制文件。​
- 不要尝试手动复制 / 改名某个 `vs` 二进制。​
​
## 2. 不同操作系统的命令风格​
​
### 2.1 Windows PowerShell​
​
直接调用 `vs`,安装脚本会通过 `npm install --global` 把它注册为全局命令:​
​
```powershell​
vs --help​
vs skill list​
```​
​
如果 PowerShell 不识别 `vs`,请先确认 npm 全局 bin 目录已加入 PATH(参考 `npm config get prefix`)。​
​
### 2.2 macOS / Linux​
​
直接执行 `vs` 命令即可:​
​
```bash​
vs --help​
```​
​
如果 shell 提示 `command not found: vs`,请确认 `$(npm config get prefix)/bin` 已经在 `PATH` 中。​
​
## 3. 部署环境预检(执行任何 `vs` 命令前必问)​
​
在执行任何 `vs` 命令之前,请先向我确认目标环境,**不要替我猜默认值**。​
​
### 3.1 目标环境列表​
​
目前 Search CLI 仅支持以下三个固定环境,请问我属于哪一种:​
​
| 编号 | 环境 | `<CONTROL_PLANE_BASE_URL>` | `<DATA_PLANE_BASE_URL>` | `<REGION>` |​
| ---- | ---------------------- | -------------------------------------------------------- | ---------------------------------------------------- | ---------------- |​
| 1 | 火山公有云 · 北京 | `https://aisearch.cn-beijing.volcengineapi.com` | `https://aisearch.cn-beijing.volces.com` | `cn-beijing` |​
| 2 | 火山公有云 · 柔佛 | `https://aisearch.ap-southeast-1.volcengineapi.com` | `https://aisearch.ap-southeast-1.volces.com` | `ap-southeast-1` |​
| 3 | BytePlus 公有云 · 柔佛 | `https://aisearch.ap-southeast-1.byteplusapi.com` | `https://aisearch.ap-southeast-1.bytepluses.com` | `ap-southeast-1` |​
​
> 旧版 `--base-url` 仍然兼容:传入任一支持的控制面或数据面域名,CLI 会按上表自动补齐另一面,并写入到 `~/.viking/config.json` 的 `controlPlaneBaseUrl` `dataPlaneBaseUrl` 字段。​
​
### 3.2 默认值(编号 1)​
​
环境 **1(火山公有云 · 北京)** 与 CLI 内置默认值一致,可以省略 `--control-plane-base-url` / `--data-plane-base-url` / `--region`:​
​
- `<CONTROL_PLANE_BASE_URL>` = `https://aisearch.cn-beijing.volcengineapi.com`​
- `<DATA_PLANE_BASE_URL>` = `https://aisearch.cn-beijing.volces.com`​
- `<REGION>` = `cn-beijing`​
​
### 3.3 非默认环境(编号 2、3)​
​
环境 **2、3** 与默认值不同,必须按以下规则之一显式传值:​
​
- 推荐:在 `auth login` / `auth import-env` 中同时带上 `--control-plane-base-url <CONTROL_PLANE_BASE_URL>` 与 `--data-plane-base-url <DATA_PLANE_BASE_URL`,再带上 `--region <REGION>`。​
- 简便:只传 `--base-url`(控制面或数据面其一),CLI 会按上表自动补齐另一面。​
- 环境变量:在真实终端中导出 `VIKING_CONTROL_PLANE_BASE_URL` / `VIKING_DATA_PLANE_BASE_URL` / `VIKING_REGION`(兼容老变量 `VIKING_BASE_URL`)。​
- 由于环境 2、3 的 `<REGION>` 同为 `ap-southeast-1`,必须严格区分域名后缀:​
- 火山公有云控制面使用 `volcengineapi.com`,数据面使用 `volces.com`。​
- BytePlus 公有云控制面使用 `byteplusapi.com`,数据面使用 `bytepluses.com`。​
​
### 3.4 不在列表中的环境​
​
如果我声称的环境不在以上三个中(例如自建 / 灰度 / 私有化),请**先停下来确认**,不要继续猜测。这种情况下 `--base-url` 自动推导会失败,必须由我提供成对的 `<CONTROL_PLANE_BASE_URL>` 与 `<DATA_PLANE_BASE_URL>` 之后再继续。​
​
记下 `<CONTROL_PLANE_BASE_URL>` / `<DATA_PLANE_BASE_URL>` 与 `<REGION>`,后续 `auth login` / `auth import-env` 都要带上。​
​
## 4. 从 GitHub 安装 Search CLI​
​
### 4.1 Clone 仓库并运行安装脚本​
​
在宿主机的真实终端里执行:​
​
```bash​
git clone https://github.com/volcengine/SearchCLI.git vs​
cd vs​
bash ./scripts/install.sh​
```​
​
如果你更习惯使用 SSH:​
​
```bash​
git clone git@github.com:volcengine/SearchCLI.git vs​
cd vs​
bash ./scripts/install.sh​
```​
​
`scripts/install.sh` 会完成下列动作:​
​
- 校验 Node.js 版本(要求 `>= 20`)。​
- `npm install` 安装依赖。​
- `npm run validate:skills` 与 `npm run build` 校验并构建 dist。​
- `npm install --global .` 将 `vs` 注册为全局命令。​
​
> Windows 用户请在 Git Bash / WSL 中执行 `bash ./scripts/install.sh`,或参考仓库 README 使用等价的 `npm` 步骤。​
​
### 4.2 帮助信息自检​
​
```bash​
vs --help​
```​
​
> **macOS 注意**:若是首次安装,且该命令执行后 10 秒内仍没有任何输出,可能是被系统 Gatekeeper 拦截。请立即停止等待,并提示我进入「系统设置 -> 隐私与安全性」中允许运行,等待我处理完再继续。​
​
### 4.3 安装 skill(必须先确认安装目标)​
​
`vs skill install` 会把 Viking skill 文件拷贝到不同 agent 客户端的 skill 目录下。**不要直接执行 `vs skill install all`,这会把 skill 写入用户用不上的 agent 目录里**。请先向我确认这台电脑上**实际在用的 agent 客户端**,再按目标显式传入 `--target`。​
​
#### 4.3.1 询问目标客户端​
​
请先问我:​
​
> 「请问您希望把 Viking skill 安装给哪些 agent 客户端使用?支持以下几种,可多选:​
> - `codex`:写入 `$CODEX_HOME/skills`,默认 `~/.codex/skills`​
> - `agents`:写入 `$AGENTS_HOME/skills`,默认 `~/.agents/skills`​
> - `trae`:写入 `$TRAE_HOME/skills`,默认 `~/.trae/skills`​
> - `trae-cn`:写入 `$TRAE_CN_HOME/skills`,默认 `~/.trae-cn/skills\`​
> - `global`:仅安装到当前已经存在的上述目录(如果都不存在则不安装)」​
​
如果我答不上来,请**先停下**,让我自己确认正在使用的 agent 客户端,不要替我猜。​
​
#### 4.3.2 按选择执行安装​
​
确认后,使用对应的 `--target` 调用:​
​
```bash​
# 单一目标示例​
vs skill install all --target trae-cn --json​
vs skill install all --target codex --json​
vs skill install all --target agents --json​
vs skill install all --target trae --json​
​
# 仅安装到当前已存在的 agent 目录(保守做法)​
vs skill install all --target global --json​
```​
​
如果我同时使用多个客户端,请**逐个 target 分别执行一次**,而不是一次性覆盖到全部目录。​
​
> 该命令需要联网下载,可能耗时较长,请耐心等待其完成,不要强行打断。​
​
#### 4.3.3 仅安装少量 skill(可选)​
​
如果我只需要其中部分 skill,可以列出名称代替 `all`,例如:​
​
```bash​
vs skill install vs-shared vs-search --target trae-cn --json​
```​
​
可以通过下列命令先查看仓库内可用的 skill:​
​
```bash​
vs skill list --json​
```​
​
#### 4.3.4 权限问题兜底(必读)​
​
`vs skill install` 在写入 `~/.codex/skills`、`~/.agents/skills`、`~/.trae/skills`、`~/.trae-cn/skills` 等目录时,可能因为以下原因出现权限错误(常见错误关键字:`EACCES`、`permission denied`、`EPERM`、`mkdir … not permitted`):​
​
- 目标目录由其他用户或 `sudo` 创建,当前用户无写入权限。​
- 目录归属于受系统保护的位置,或被 IDE / agent 客户端锁定。​
- 在沙箱 / 受限执行环境下没有访问宿主机用户目录的权限。​
​
遇到权限问题时**不要尝试自动 `sudo` 或修改文件归属**,必须**停下来,把命令交给我手动执行**:​
​
1. 先把失败的完整命令原样贴出来,例如:​
​
```bash​
vs skill install all --target trae-cn --json​
```​
​
2. 提示我「请您在自己的真实终端里手动执行上面的命令;如果仍报权限错误,可改用以下任一方式自行处理:」​
​
```bash​
# 方式 A:先修复目标目录归属(按需把 trae-cn 换成你实际选择的 target 目录)​
sudo chown -R "$USER" ~/.trae-cn/skills​
vs skill install all --target trae-cn --json​
​
# 方式 B:用一次性的 sudo 直接执行安装​
sudo -E env "PATH=$PATH" vs skill install all --target trae-cn --json​
```​
​
3. 等我回复「已执行完成」后,再继续后续步骤;在我确认之前,**不要替我重试,也不要跳过 skill 安装直接进入下一步**。​
​
如果是非交互式 / 沙箱环境,连提示都无法等到我回复,请直接停止任务并向我说明:「skill 安装因权限受阻,需要您在宿主机真实终端手动执行 `vs skill install ... --target <target>`,完成后再继续。」​
​
## 5. 授权流程(按优先级处理)​
​
### 5.1 检测现有环境变量​
​
先检查当前宿主机真实终端环境里是否已有 `VIKING_AK` 和 `VIKING_SK`。​
​
### 5.2 已存在 AK/SK:使用 `auth import-env`​
​
如果第 3 步用户提供了非默认环境,请先指导我在真实终端中导出对应环境变量(任选其一):​
​
```bash​
# 推荐:同时声明两面 URL​
export VIKING_CONTROL_PLANE_BASE_URL=<CONTROL_PLANE_BASE_URL>​
export VIKING_DATA_PLANE_BASE_URL=<DATA_PLANE_BASE_URL>​
export VIKING_REGION=<REGION>​
​
# 或:使用 legacy 单地址变量,让 CLI 按内置环境表自动补齐另一面​
export VIKING_BASE_URL=<CONTROL_PLANE_BASE_URL or DATA_PLANE_BASE_URL>​
export VIKING_REGION=<REGION>​
```​
​
然后执行:​
​
```bash​
vs auth import-env​
```​
​
`auth import-env` 会一并把这些环境变量持久化进 `~/.viking/config.json`(`controlPlaneBaseUrl` / `dataPlaneBaseUrl` / `environmentId`)。​
​
### 5.3 不存在 AK/SK:判断终端类型​
​
继续之前,先判断当前宿主机真实终端是否为交互式 TTY。​
​
#### 5.3.1 交互式 TTY:使用 `auth login`​
​
```bash​
vs auth login [--control-plane-base-url <CONTROL_PLANE_BASE_URL>] [--data-plane-base-url <DATA_PLANE_BASE_URL>] [--region <REGION>]​
```​
​
- 仅在第 3 步用户选择了非默认环境时才追加 `--control-plane-base-url` / `--data-plane-base-url` / `--region`。也可以只传 `--base-url <CONTROL or DATA>`,CLI 会按内置环境表自动补齐另一面。​
- 然后停在输入提示处,等待我在那个真实终端里输入 AK/SK。​
​
#### 5.3.2 非交互式终端:指导我手动设置后再 import​
​
不要执行 `auth login`。直接告诉我应该在真实终端里输入什么命令:​
​
```bash​
export VIKING_AK=<...>​
export VIKING_SK=<...>​
# 推荐:同时声明两面 URL(仅非默认环境需要)​
export VIKING_CONTROL_PLANE_BASE_URL=<CONTROL_PLANE_BASE_URL>​
export VIKING_DATA_PLANE_BASE_URL=<DATA_PLANE_BASE_URL>​
export VIKING_REGION=<REGION>​
# 或:legacy 单地址变量​
# export VIKING_BASE_URL=<CONTROL or DATA>​
```​
​
等我回复「已设置完成」后,再执行:​
​
```bash​
vs auth import-env​
```​
​
### 5.4 环境变量读取兜底​
​
如果你发现你的执行环境无法读取到我手动设置的环境变量,请指导我在当前真实终端里手动执行一次:​
​
```bash​
vs auth import-env​
```​
​
然后再由你接管后续流程。​
​
### 5.5 安全约束​
​
**绝对不要要求我把 AK/SK 发到对话里。**​
​
## 6. 授权后的验证(必须做地址核对)​
​
### 6.1 依次执行验证命令​
​
```bash​
vs auth status --json​
vs doctor --json​
vs skill list --json​
```​
​
并展示关键结果。​
​
### 6.2 默认配置参考​
​
`auth status --json` 在默认环境下应返回类似:​
​
```json​
{​
"activeProfile": "default",​
"profiles": {​
"default": {​
"controlPlaneBaseUrl": "https://aisearch.cn-beijing.volcengineapi.com",​
"dataPlaneBaseUrl": "https://aisearch.cn-beijing.volces.com",​
"region": "cn-beijing",​
"environmentId": "volc-cn-beijing",​
"credentialStore": "auto",​
"timeoutMs": 15000​
}​
},​
"credentialStore": "auto",​
"service": "aisearch"​
}​
```​
​
### 6.3 地址核对硬约束​
​
重点核对 `auth status --json` 输出中的 `controlPlaneBaseUrl`、`dataPlaneBaseUrl` 与 `region` 字段:​
​
- 如果与第 3 步收集的 `<CONTROL_PLANE_BASE_URL>` / `<DATA_PLANE_BASE_URL>` / `<REGION>` **完全一致**,进入第 7 步。​
- 如果**不一致**,立刻停下来,提示我使用下方任一方式修正,并在修正后**重新执行** `vs auth status --json`,直到完全一致才能继续。​
​
#### 方式 A · 重新登录覆盖(推荐持久化)​
​
```bash​
vs auth login --control-plane-base-url <CONTROL_PLANE_BASE_URL> --data-plane-base-url <DATA_PLANE_BASE_URL> --region <REGION>​
```​
​
> 简便写法:只传 `--base-url <CONTROL or DATA>`,CLI 会按内置环境表自动补齐另一面。​
​
#### 方式 B · 通过环境变量再导入一次​
​
```bash​
export VIKING_CONTROL_PLANE_BASE_URL=<CONTROL_PLANE_BASE_URL>​
export VIKING_DATA_PLANE_BASE_URL=<DATA_PLANE_BASE_URL>​
export VIKING_REGION=<REGION>​
# 或者只导出兼容变量:export VIKING_BASE_URL=<CONTROL or DATA>​
vs auth import-env​
```​
​
#### 方式 C · 多环境隔离(推荐同时维护多套环境)​
​
```bash​
vs auth login --profile <env-name> --control-plane-base-url <CONTROL_PLANE_BASE_URL> --data-plane-base-url <DATA_PLANE_BASE_URL> --region <REGION>​
vs auth use <env-name>​
```​
​
## 7. 安装后自检与升级​
​
`scripts/install.sh` 已经通过 `npm install --global .` 把 `vs` 注册为全局命令,正常情况下你可以在任意终端里直接调用 `vs`。​
​
### 7.1 `vs` 不在 PATH 中​
​
如果在新终端里执行 `vs` 显示「command not found」(或 PowerShell 不识别 `vs`),请提示我执行:​
​
```bash​
npm config get prefix​
```​
​
并把返回路径下的 `bin`(macOS / Linux)或安装目录(Windows)加入 `PATH` 后重新打开终端。​
​
### 7.2 升级到最新版本​
​
后续要升级时,回到 clone 出来的仓库目录执行:​
​
```bash​
git pull​
bash ./scripts/install.sh​
```​
​
`install.sh` 会重新构建并通过 `npm install --global .` 覆盖旧版本。​
​
### 7.3 卸载​
​
```bash​
npm uninstall --global viking-cli​
```​
​
> 包名取自仓库 `package.json` 中的 `name` 字段(当前为 `viking-cli`)。如果不确定,可执行 `npm ls -g --depth=0` 查看已全局安装的包。​
​
## 8. 失败处理​
​
任何一步失败时,立即停止,并告诉我:​
​
- **失败命令**​
- **完整错误输出**​
- **你的判断**​
- **下一步建议**​
​
### 8.1 特别约束​
​
- 如果 `vs auth status --json` 中的 `controlPlaneBaseUrl` / `dataPlaneBaseUrl` / `region` 与第 3 步声明的目标不一致,必须当作失败处理,停止后续步骤直到修正完成。​
- 如果 `vs doctor --json` 中任何 `ok: false` 项与地址、鉴权相关,按 6.3 中的方式 A / B 重试,不要跳过。​
- 如果 `bash ./scripts/install.sh` 失败,先检查 Node.js 版本(必须 `>= 20`)以及网络是否能访问 `npmjs.org` 与 `github.com`,再决定是否重试。​
​
按照 Agent 的提示完成授权,依次输入 AK 和 SK。​
注意​
请勿将 AK/SK 直接粘贴到 Agent 对话框中。应在 Agent 提示时,在终端中通过交互式输入或环境变量方式配置。​
通过命令行安装 SearchCLI​
若没有安装node.js,需要先在终端安装,可以在终端执行下面这段,使用nvm安装并配置Node.js LTS版本:​
​
# 安装 nvm​
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash​
​
# 加载 nvm​
export NVM_DIR="$HOME/.nvm"​
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"​
​
# 安装并使用 Node.js LTS​
nvm install --lts​
nvm use --lts​
nvm alias default 'lts/*'​
​
# 验证安装​
node -v​
npm -v​
​
在终端执行以下指令,即可完成下载和安装:​
​
git clone git@github.com:volcengine/SearchCLI.git vs​
cd vs​
bash ./scripts/install.sh​
​
安装完成后的鉴权和验证步骤如下:​
  1. 配置火山引擎账号的 AK/SK,提供两种授权方式:​
  • 方式 A:交互式登录(推荐在个人电脑使用)​
​
vs auth login​
​
根据屏幕提示依次粘贴您的 AK 和 SK。​
  • 方式 B:通过环境变量导入(推荐在 CI/CD 或服务器使用)​
​
# 设置环境变量​
export VIKING_AK="您的AK"​
export VIKING_SK="您的SK"​
​
# 导入凭证​
vs auth import-env​
​
  1. 验证安装​
执行以下命令检查安装和授权状态:​
​
vs auth status​
​
预期结果:显示当前生效的 AK 和登录状态为 Active。​
说明​
在 macOS 上首次运行未经签名的二进制文件时,系统可能会拦截。​
在终端执行 vs --help。​
如果弹出"无法打开"的警告或命令长时间无输出,按 Ctrl + C 中断。​
打开 系统设置 → 隐私与安全性,向下滑动找到安全性提示,点击 【仍要打开】 或 【允许】。​
再次执行 vs --help,在弹出的确认框中点击 【打开】。看到完整帮助文档输出即代表通过拦截。​
开始使用​
安装完成后,以下是常见操作示例。在 AI Agent 中可直接使用自然语言描述需求,Agent 会自动转换为对应的 CLI 命令。​
通过 AI Agent(自然语言)​
​
需求​
对 Agent 说​
查看所有功能​
"search_cli 能做什么?"​
查看已安装技能​
"search_cli 有哪些技能?"​
创建应用并导入数据​
"用这份数据帮我创建一个应用:<附上数据文件>"​
设置字段索引​
"帮我把 title 设置成可用于文搜的字段"​
体验搜索效果​
"跑几条搜索,看看效果怎么样"​
体验推荐效果​
"帮我创建一个推荐场景,并随机验证几个用户的推荐结果"​
体验问答效果​
"帮我试一下这个应用的问答效果"​
修改策略配置​
"把搜索策略的召回数量上限调到 50,然后再把语义重排功能打开"​
查看当前配置​
"给我看一下物品数据集、搜索策略、推荐策略的配置情况"​
​
通过命令行​
创建数据集并导入数据​
​
# 创建数据集​
vs dataset create \​
--name "My_Item_Dataset" \​
--type "multi_modal" \​
--theme general \​
--schema @./schema.json ​
​
# 导入数据​
vs dataset ingest \​
# 请将 “<数据集ID>” 替换为您在执行dataset create命令后返回的实际datasetID​
--dataset-id <数据集ID> \​
--fields @./items.json​
​
schema.json格式要求:​
schema.json是创建数据集时的字段配置文件,需手动根据业务数据结构编写,需要存储在执行命令的终端当前工作目录下。格式要求如下:​
  1. 基础结构:为数组形式,每个元素对应一个字段配置,一个数据集最多可配置 200 个字段​
  1. 必填字段属性:​
  • 整个文件必须是 JSON 数组​
  • 数组中的每一项都必须是对象​
  • 每个字段对象至少要有:​
  • field_name:字段名,以字母开头,可包含字母、数字、下划线,长度 1-128 字节。​
  • field_type:字段类型,可选值包括int64、float、string、bool、list<string>、list<int64>、vector、sparse_vector、text、image等。​
items.json格式要求:​
items.json是待导入的数据集文件,需手动根据schema.json定义的字段结构编写,为数组形式,每个元素对应一条数据记录,单次导入最多支持 100 条数据。​
​
创建应用并绑定数据集​
​
# 创建应用​
vs app create \​
--name "My_Search_App" \​
--industry "ecommerce" \​
--description "电商搜索测试应用"​
​
# 绑定数据集并配置字段​
vs app dataset bind \​
# 请将“<应用ID>” 替换为您在执行create命令后返回的实际ID​
--application-id <应用ID> \​
--dataset-id <数据集ID>​
​
运行搜索/推荐/问答​
​
# 搜索​
vs search run \​
--application-id <应用ID> \​
--query "搜索关键词"​
​
# 推荐​
vs recommend run \​
--application-id <应用ID> \​
--scene-id <推荐场景ID> \​
--user-id <用户ID>​
​
# 对话问答​
vs chat run \​
--application-id <应用ID> \​
--message "帮我推荐适合送朋友的生日礼物" \​
--pretty​
​
管理搜索场景配置​
​
# 查看搜索场景详情​
vs search scene get \​
--application-id <应用ID> \​
--scene-id <场景ID> \​
--format json​
​
# 更新搜索策略​
vs search scene update \​
--application-id <应用ID> \​
--scene-id <场景ID> \​
--config @./search-config.json​
​
search-config.json示例:​
​
{​
"SearchConfig": {​
"RetrieveConfigs": [​
{​
"DatasetID": "107191177",​
"DatasetType": 1,​
"MaxRecallNum": 100,​
"Mode": 1,​
"RerankEnabled": true,​
"RerankTopK": 50​
}​
]​
}​
}​
​
命令参考​
SearchCLI 提供以下命令组:​
​
命令组​
说明​
常用命令​
vs auth​
凭证管理​
login、import-env、status、logout​
vs doctor​
环境健康检查​
检查依赖、授权状态和配置​
vs skill​
技能管理​
list、install、search、show​
vs app​
应用管理​
create、get、update、delete、activate、status​
vs dataset​
数据集管理​
create、get、ingest、schema get​
vs data​
数据操作​
write、import​
vs search​
搜索运行与场景管理​
run、scene create/get/update/delete​
vs recommend​
推荐运行与场景管理​
run、scene create/get/update/delete​
vs chat​
对话问答​
run(支持多轮会话和 session 管理)​
vs item​
数据接入工作流​
profile(分析数据)、plan(生成方案)、apply(执行方案)​
​
说明​
执行 vs --help 可查看完整命令列表,执行 vs <命令组> --help(如 vs search --help)可查看子命令详情。​
所有命令均支持 --json 参数输出 JSON 格式结果,便于程序化处理和 AI Agent 集成。​
技能(Skill)体系​
SearchCLI 内置了技能包系统,专为 AI Agent 设计。技能包是一组 Markdown 格式的指令文件,AI Agent 加载后即可正确地操作 CLI 完成复杂任务。​
安装全部技能:​
​
vs skill install all --json​
​
已提供的技能包:​
​
技能​
说明​
vs-shared​
通用初始化和环境检查,管安装、认证、doctor、profile 切换​
vs-item-onboarding​
物品数据接入与应用初始化,带 review 和确认门控​
vs-search​
搜索运行与搜索场景管理​
vs-search-tuning​
自动化搜索质量评估与策略推荐​
vs-chat​
对话式问答运行​
vs-recommend​
推荐运行与推荐场景管理​
vs-app-dataset-bind​
应用与数据集绑定​
​
​
最近更新时间:2026.08.06 11:36:58
这个页面对您有帮助吗?
有用
有用
无用
无用