SearchCLI
用命令行将火山引擎 AI 搜索、推荐与对话检索接入业务或智能体工作流。
按维度查看评分与理由
证据显示:README 提到 dry-run、确认点、read-after-write 验证,以及 `--confirm-review` 等标志,表明有用户确认机制。敏感数据处理方面,文档强调 API key 存储在本地安全凭据存储中,不写入明文配置。但缺少对最小权限原则的明确说明,数据流透明度有限,外部影响(如网络调用)未详细说明,回滚机制未提及,来源归属仅通过 README 中的贡献指南和 CLA 要求部分体现。扣分原因:最小权限、数据流透明度、外部影响、回滚和来源归属的证据不足。
证据显示:README 和 package.json 中的命令名称一致,如 `vs item`、`vs search` 等,表明内部一致性良好。但依赖可用性方面,依赖项如 `@volcengine/openapi` 等未提供版本锁定或完整性校验,失败消息方面,文档未提供错误处理或诊断信息的示例。扣分原因:依赖可用性和失败消息的证据不足。
证据显示:README 明确了目标受众(开发者、团队、运维人员)和使用场景(搜索、推荐、对话检索),能力边界通过命令组划分清晰,触发精度通过具体命令和参数(如 `--type video`)体现,环境适配方面要求 Node.js 20+ 和 git,并提供了多种安装方式。扣分原因:环境适配未提及操作系统兼容性细节,但整体证据充分。
证据显示:README 提供了清晰的信息架构,包括快速开始、文档链接、命令组列表。安装说明详细,包括克隆、安装脚本、认证步骤。命名稳定性方面,命令名称在 README 和 package.json 中一致,但未提供版本历史或变更日志。示例和 FAQ 方面,README 提供了多个示例命令,但缺少 FAQ。已知限制未明确说明。许可证为 Apache-2.0,完整 LICENSE 文件存在。版本和变更日志方面,package.json 有版本号,但无 CHANGELOG。维护责任方面,README 提供了贡献指南和安全政策,但未明确维护者信息。扣分原因:命名稳定性、已知限制、版本变更日志和维护责任的证据不足。
证据显示:README 描述了输出格式(如 `--json` 标志)和自动化友好的命令输出,表明输出可用性良好。边际价值方面,该工具提供了搜索、推荐、对话检索的集成,具有明确价值。成本效益方面,未提供性能或资源消耗信息,但作为 CLI 工具,成本可能较低。扣分原因:成本效益的证据不足。
证据显示:README 中的声明(如功能列表)未提供具体实现细节或测试证据,但存在测试脚本(如 `test:acceptance`)和文档链接。跨来源佐证方面,README 和 package.json 中的命令名称一致,但未提供外部验证。事实与推断分离方面,README 区分了功能描述和安装步骤,但未明确区分事实和推断。扣分原因:声明可追溯性、跨来源佐证和事实推断分离的证据不足。
- 该仓库的发布者身份未经验证,应视为未知,不要基于品牌推断安全性。
- 依赖项未固定版本或提供完整性校验,存在供应链风险。
- 文档中提到的安全机制(如凭据存储)未在代码中验证,需实际审查。
这个 Agent 能做什么,适合哪些场景?
SearchCLI 是面向火山引擎 AI Search 的开源命令行集成工具。它提供 `vs item`、`vs dataset`、`vs app` 与 `vs data` 等命令,用于从结构化业务数据建立数据集和应用配置。运行阶段可通过 `vs search run`、`vs recommend run` 和 `vs chat run` 验证搜索、推荐及对话检索行为,并可用 `vs search tune` 进行首版文本相似度评测与调优。其执行模型包含 dry-run、确认门槛和写后验证,计划文件可在本地 `.viking/item-plans` 路径下复核。项目还提供可安装的 Viking skills,供外部智能体沿用这些工作流。
它读取 JSON 或 JSONL 项目数据文件,通过 vs item profile --file 分析数据,并用 vs item plan --file --goal 生成上线路径。vs item apply --plan-dir 可先以 --dry-run 预演,再以 --confirm-review --wait-ready --run-trials 执行并等待验证;仅创建数据集时可使用 --skip-app、vs dataset create --data @dataset-create.json 与 vs dataset ingest --dataset-id <dataset-id> --fields @<normalized-items-artifact>。数据集、应用和数据管理分别由 vs dataset、vs app、vs data 提供;运行结果通过 vs search run、vs recommend run、vs chat run 获取。调优流程包括 vs search tune query-generate | plan | run | report;可选的 LLM 查询生成或相关性判断通过 vs llm login 或 vs llm import-env 配置兼容 OpenAI 的 LLM API。
- 业务搜索团队要将商品等结构化目录接入火山引擎 AI Search,并在创建应用前审查生成的计划。
- 推荐系统团队需要将应用场景和用户行为关联到推荐流程,并用
vs recommend run做运行验证。 - 对话式检索产品团队需要基于应用搜索测试对话检索行为,并通过
vs chat run检查结果。 - 智能体开发团队希望安装
vs-shared、vs-item-onboarding、vs-search等 Viking skills,让外部智能体执行受审查的数据接入流程。 - 视频内容团队要建立视频数据集,并在 profile、plan 和 apply 阶段显式传入
--type video。
这个 Agent 有哪些优点和局限?
- 将数据画像、计划生成、dry-run、确认执行和运行验证组织为同一套 CLI 工作流。
- 同时覆盖结构化项目搜索、推荐和对话检索,并提供对应的
run验证命令。 vs search tune提供查询生成、计划、执行和报告的文本相似度评测流程。- 公开 Viking skills 让外部智能体可安装并复用项目的数据接入与检索工作流。
- 核心能力依赖火山引擎 AI Search,且需要具有访问权限的 Volcengine AK/SK,平台可移植性有限。
- 安装要求 Node.js 20+、
git和可用 shell;运行还依赖网络连接及本地凭据存储。 - LLM 查询生成和相关性判断需另行配置兼容 OpenAI 的 API,API 密钥不能以明文配置保存。
- 视频数据集必须显式指定
--type video;仅用--schema @schema.json创建视频数据集可能出现MissingParameter.DefaultFieldStrategy。
如何安装或部署这个 Agent?
需要 Node.js 20 或更高版本、git,以及具备 AI Search 访问权限的火山引擎 AK/SK。安装并导入当前环境中的凭据:
git clone [email protected]:volcengine/SearchCLI.git vs
cd vs
bash ./scripts/install.sh
vs auth import-env
vs auth status --json
vs doctor --json若环境中没有 VIKING_AK 与 VIKING_SK,在真实终端运行 vs auth login。外部智能体还可运行 npx skills add "[email protected]:volcengine/SearchCLI.git" -y -g 安装公开技能包。
如何使用这个 Agent?
以新建数据集和应用的商品搜索为例:先运行 vs item profile --file ./items.json --pretty,再运行 vs item plan --file ./items.json --goal "Build item search"。使用 vs item apply --plan-dir ./.viking/item-plans/<plan> --dry-run 审查预演,然后运行 vs item apply --plan-dir ./.viking/item-plans/<plan> --confirm-review --wait-ready --run-trials 执行并验证。若只需数据集,请在 plan 命令中加入 --skip-app,随后使用计划生成的 dataset-create.json 执行 vs dataset create --data @dataset-create.json,再用 vs dataset ingest 导入字段数据。
常见问题
是否能不连接火山引擎而独立运行搜索服务?
使用时需要哪些权限或凭据?
vs auth import-env,或在真实终端执行 vs auth login。LLM 配置是必需的吗?
如何先检查变更而不直接执行?
vs item apply --plan-dir <plan-dir> --dry-run;实际执行使用 --confirm-review,并可加 --wait-ready --run-trials。