说明
Viking AI 搜索是火山引擎推出的一站式 AI 搜索/推荐/问答 SaaS 服务。本文主要介绍Viking AI 搜索最新推出并正式开源的 CLI 工具——SearchCLI,支持在终端或 AI Agent 中通过命令行管理您的搜索、推荐和问答服务。
SearchCLI 提供完整的命令行操作能力,覆盖从数据接入、应用管理、效果评测、策略调优到搜索、推荐、问答体验的全流程。
核心能力:
--json 输出,专为 AI Agent 集成设计说明
Search CLI 的底层二进制文件名和命令前缀为 vs,相关环境变量以 VIKING_ 开头。在后续文档中,vs 即指 Search CLI 命令。
注意
如您使用的是子账号,可能无法自行创建 AK/SK,请联系企业管理员分配。请妥善保管您的 AK/SK,避免泄露和明文传输。因凭证泄露导致的数据损失或安全事故,由操作者自行承担责任。
Search CLI 提供两种使用方式,请根据您的使用场景选择:
使用方式 | 适用场景 | 特点 |
|---|---|---|
在 AI Agent 中使用(推荐) | 通过 OpenClaw、Trae、Claude Code 等 AI Agent 操作 | 自然语言驱动,Agent 自动执行命令 |
在命令行中使用 | 直接在终端手动执行命令 | 精确控制,适合开发调试和 CI/CD |
SearchCLI 提供以下两种下载渠道,请根据您的操作系统选择对应的安装包:
渠道一:从控制台下载(推荐)
登录 Viking AI 搜索控制台,在左侧导航栏选择 【CLI 工具】,找到与您操作系统对应的安装包进行下载。
各操作系统对应的安装包名称:
操作系统 | 安装包名称 |
|---|---|
macOS (Apple Silicon) |
|
macOS (Intel) |
|
Linux (x64) |
|
Windows (x64) |
|
渠道二:从 GitHub 下载
前往 SearchCLI 的 GitHub 页面,快速下载对应安装包。
git clone git@github.com:volcengine/SearchCLI.git vs cd vs bash ./scripts/install.sh
通过 AI Agent 使用 SearchCLI 时,您只需将安装提示词发送给 Agent,Agent 会自动完成安装和授权配置。
操作步骤:
请只在我电脑宿主机的真实终端里执行 Search CLI 相关的安装与配置命令。 注意:Search CLI 的底层二进制文件名称和命令前缀均使用 'vs' (例如 `vs-macos-arm64`、`vs-linux-x64`、`vs-win-x64.exe`)。 相关的环境变量始终以 'VIKING_' 开头,例如 `VIKING_AK`、`VIKING_SK`。 任何底层二进制命令,包括 --help 、 skill install 、环境变量检查、 auth 、 doctor ,都不要在你的 sandbox 里执行。如果你当前拿不到宿主机真实终端权限,请先停下来说明,不要继续尝试。 要求: 1. 假设这台电脑之前没有安装过 Search CLI。 2. 我已经下载好了当前操作系统对应的底层二进制文件,文件名中包含 'vs' 。如果你不知道这个二进制文件的路径,只能先问我,不能猜,也不能全盘搜索。 3. 在进入第 9 步的全局化建议环节之前,必须始终使用这个二进制文件的绝对路径执行命令。不要 clone 仓库,不要修改 PATH,不要复制或重命名二进制,也不要尝试把它安装成全局命令。 4. 如果是 Windows PowerShell,请始终用这种形式执行命令: - & "<二进制绝对路径>" --help - & "<二进制绝对路径>" skill install all 5. 如果是 macOS / Linux,请直接用二进制绝对路径执行命令。并在首次执行任何命令前,先尝试执行 'chmod +x <二进制绝对路径>',以确保拥有执行权限。 6. 先执行以下步骤: - <二进制绝对路径> --help - 在 macOS 下,如果该命令执行后 10 秒内没有任何输出,可能是被系统 Gatekeeper 拦截。请立即停止等待,并提示我进入“系统设置 -> 隐私与安全性”中允许运行,然后等待我处理完再继续。 - <二进制绝对路径> skill install all --json - 该命令需要联网下载,可能耗时较长。请耐心等待其完成,不要强行打断。 7. 授权按以下优先级处理: - 先检查当前宿主机真实终端环境里是否已有 VIKING_AK 和 VIKING_SK。 - 如果二者都存在,则执行: - <二进制绝对路径> auth import-env - 如果二者不存在,则先判断当前宿主机真实终端是否为交互式 TTY。 - 只有在确认当前终端是交互 TTY 时,才执行: - <二进制绝对路径> auth login 并停在输入提示处,等待我在那个真实终端里输入 AK/SK。 - 如果当前终端不是交互 TTY,或者你无法保持交互,不要执行 auth login。请直接告诉我应该在当前真实终端里输入什么命令来设置 VIKING_AK 和 VIKING_SK,然后等我回复“已设置完成”后,再继续执行: - <二进制绝对路径> auth import-env - 如果你发现你的执行环境无法读取到我手动设置的环境变量,请指导我在当前真实终端里手动执行一次: - <二进制绝对路径> auth import-env 然后再由你接管后续流程。 - 绝对不要要求我把 AK/SK 发到对话里。 8. 8. 授权完成后,执行以下命令,并展示关键结果: - <二进制绝对路径> auth status --json - <二进制绝对路径> doctor --json - <二进制绝对路径> skill list --json 9. 全局化建议(非常重要): 当第 8 步的所有验证都成功通过后,你必须主动向我提出以下建议:“目前只能通过绝对路径调用 `vs`。为了后续在其他终端或新的 AI 会话中也能直接使用 `vs` 命令,建议将该二进制移动到系统 PATH 目录(例如 macOS/Linux 下的 `/usr/local/bin/vs`)。请问是否需要我帮您执行此全局安装操作?” - 如果我回答“是”,请提供并执行对应的重命名与移动操作,或修改环境变量的命令。 - 如果我回答“否”,则本轮任务结束。 10. 如果任何一步失败,立即停止,并告诉我: - 失败命令 - 完整错误输出 - 你的判断 - 下一步建议
按照 Agent 的提示完成授权,依次输入 AK 和 SK。
注意
请勿将 AK/SK 直接粘贴到 Agent 对话框中。应在 Agent 提示时,在终端中通过交互式输入或环境变量方式配置。
在终端执行以下指令,即可完成下载和安装:
git clone git@github.com:volcengine/SearchCLI.git vs cd vs bash ./scripts/install.sh
安装完成后的鉴权和验证步骤如下:
vs auth login
根据屏幕提示依次粘贴您的 AK 和 SK。
# 设置环境变量 export VIKING_AK="您的AK" export VIKING_SK="您的SK" # 导入凭证 vs auth import-env
执行以下命令检查安装和授权状态:
vs auth status
预期结果:显示当前生效的 AK 和登录状态为 Active。
说明
在 macOS 上首次运行未经签名的二进制文件时,系统可能会拦截。
在终端执行 vs --help。
如果弹出"无法打开"的警告或命令长时间无输出,按 Ctrl + C 中断。
打开 系统设置 → 隐私与安全性,向下滑动找到安全性提示,点击 【仍要打开】 或 【允许】。
再次执行 vs --help,在弹出的确认框中点击 【打开】。看到完整帮助文档输出即代表通过拦截。
安装完成后,以下是常见操作示例。在 AI Agent 中可直接使用自然语言描述需求,Agent 会自动转换为对应的 CLI 命令。
需求 | 对 Agent 说 |
|---|---|
查看所有功能 | "search_cli 能做什么?" |
查看已安装技能 | "search_cli 有哪些技能?" |
创建应用并导入数据 | "用这份数据帮我创建一个应用: |
设置字段索引 | "帮我把 title 设置成可用于文搜的字段" |
体验搜索效果 | "跑几条搜索,看看效果怎么样" |
体验推荐效果 | "帮我创建一个推荐场景,并随机验证几个用户的推荐结果" |
体验问答效果 | "帮我试一下这个应用的问答效果" |
修改策略配置 | "把搜索策略的召回数量上限调到 50,然后再把语义重排功能打开" |
查看当前配置 | "给我看一下物品数据集、搜索策略、推荐策略的配置情况" |
创建数据集并导入数据
# 创建物品数据集 vs dataset create \ --name "My_Item_Dataset" \ --type "item" \ --schema @./schema.json # 导入数据 vs dataset ingest \ --dataset-id <数据集ID> \ --fields @./items.json
创建应用并绑定数据集
# 创建应用 vs app create \ --name "My_Search_App" \ --industry "ecommerce" \ --description "电商搜索测试应用" # 绑定数据集并配置字段 vs app dataset bind \ --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
SearchCLI 提供以下命令组:
命令组 | 说明 | 常用命令 |
|---|---|---|
| 凭证管理 |
|
| 环境健康检查 | 检查依赖、授权状态和配置 |
| 技能管理 |
|
| 应用管理 |
|
| 数据集管理 |
|
| 数据操作 |
|
| 搜索运行与场景管理 |
|
| 推荐运行与场景管理 |
|
| 对话问答 |
|
| 数据接入工作流 |
|
说明
执行 vs --help 可查看完整命令列表,执行 vs <命令组> --help(如 vs search --help)可查看子命令详情。
所有命令均支持 --json 参数输出 JSON 格式结果,便于程序化处理和 AI Agent 集成。
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 | 应用与数据集绑定 |