ワンクリックで
byted-viking-cli
// 官方Viking CLI 命令行助手:本CLI覆盖火山引擎/BytePlus VikingDB(向量库)/Knowledge(知识库)/Memory(记忆库)的数据集管理和数据的读写及检索, 可用于扩展Agent的知识检索边界 提升Agent的记忆能力; 当用户对知识库/向量库提问时,使用本Skill; 当用要操作向量库/知识库 或 从向量库/知识库检索信息时使用本Skill; 当用户要记忆检索和记忆存储时,使用本Skill。
// 官方Viking CLI 命令行助手:本CLI覆盖火山引擎/BytePlus VikingDB(向量库)/Knowledge(知识库)/Memory(记忆库)的数据集管理和数据的读写及检索, 可用于扩展Agent的知识检索边界 提升Agent的记忆能力; 当用户对知识库/向量库提问时,使用本Skill; 当用要操作向量库/知识库 或 从向量库/知识库检索信息时使用本Skill; 当用户要记忆检索和记忆存储时,使用本Skill。
增强语音识别(ASR Pro):将音频/视频转写为文本,支持降噪、说话人分离等增强分析。当用户要转写录音/视频、生成字幕、区分说话人或做语音增强分析时触发。
从视频提取音轨,并按时长/规则切分音频。当用户要从视频提取音频,或把长音频分段(切片/分片)时触发。
PDF 解析(Doubao):将 PDF/扫描件转成结构化 Markdown/文本,支持表格与多栏版式。当用户要从 PDF 提取文字/表格或做 OCR 时触发。
智能视频剪辑:用自然语言描述要保留的片段/人物/事件,自动从长视频抽取剪辑(可用参考图做人物/物体匹配)。当用户要按描述找片段、提取高光或做智能剪辑时触发。
视频多模态理解:对视频生成描述/摘要/标签,并支持基于视频内容问答。当用户要理解视频内容、生成描述或对视频提问时触发。
火山引擎云监控技能,用于查询云资源的监控时序数据。
| name | byted-viking-cli |
| description | 官方Viking CLI 命令行助手:本CLI覆盖火山引擎/BytePlus VikingDB(向量库)/Knowledge(知识库)/Memory(记忆库)的数据集管理和数据的读写及检索, 可用于扩展Agent的知识检索边界 提升Agent的记忆能力; 当用户对知识库/向量库提问时,使用本Skill; 当用要操作向量库/知识库 或 从向量库/知识库检索信息时使用本Skill; 当用户要记忆检索和记忆存储时,使用本Skill。 |
| version | 1.3.0 |
| license | Apache-2.0 |
把用户的需求转换为可直接执行的viking-cli命令并执行,如果覆盖不了则提示用户。
viking-cli 在用户安装后位于系统 PATH 中,直接执行 viking-cli。
用户可用一条命令完成安装(免下载脚本):
curl -fsSL https://viking-skills.tos-cn-beijing.volces.com/viking-cli/install.sh | bash
如需安装到系统目录(可能需要权限):
curl -fsSL https://viking-skills.tos-cn-beijing.volces.com/viking-cli/install.sh | sudo bash -s -- --prefix /usr/local
安装完成后验证:
viking-cli version
--collection 的参数,默认使用配置文件中的 collection 。viking-cli versionviking-cli authviking-cli vikingdb
setupcollection {create|get|list|update|delete}index {create|get|list|update|delete|enable|disable}upsertfetchdeletesearch-by-idsearch-by-keywordsviking-cli memory
setupcollection {create|get|list|update|delete}add-sessionsearchviking-cli knowledge
setupcollection {create|get|list|delete}add-docadd-fileadd-dirget-doclist-docsupdate-docdelete-docsearch-collectionsearch-knowledgelist-servicesservice-chatCLI 通过 viking-cli auth 交互式写入 ~/.viking/config,后续命令默认从配置文件读取 AK / SK / Region / Project,
如无特殊情况,命令行无需指定--region和--project参数。
用户执行过对应产品的 setup,创建的collection name会写入配置文件,后续很多数据面命令可以不再显式传 --collection。
viking-cli auth
执行后,根据提示依次输入:
volcengine、byteplus 或 bytecloud,默认 volcengine;)cn-beijing)default)当前实际支持的全局 flags:
--cloud:云环境,volcengine、byteplus 或 bytecloud--region:Region(用于推导默认 endpoint)--project:默认 project--format:输出格式,json 或 text--timeout:请求超时,例如 120s部分 control plane 命令支持:
--input-json '<JSON_OBJECT>'--input-file /path/to/payload.json这类命令会先用结构化 flags 组装 payload,再 merge --input-json/--input-file 的内容。
建议:
--input-filememory add-session 复杂内容优先推荐 --messages-file;metadata 可选,传文件用 --metadata-file默认输出为格式化 JSON;若用户需要纯文本,使用 --format text。
viking-cli version
viking-cli auth
通过本地数据样本自动推断 schema,并一键创建 collection、index,并 upsert 数据 【推荐】。
vikingdb setup 支持默认命名(允许不传 --collection / --index):
viking_cli_{userid}viking_cli_{userid}_index(即 <collection>_index)viking-cli --region <region> vikingdb setup --collection <collection_name> --index <index_name> --file data.csv --id-field item_id
viking-cli --region <region> vikingdb setup --collection <collection_name> --index <index_name> --file data.csv --fields '[{"FieldName":"avatar","FieldType":"image"},{"FieldName":"content","FieldType":"text"}]'
viking-cli --region <region> vikingdb setup --collection <collection_name> --index <index_name> --file data.jsonl --vectorize-field content
创建:
viking-cli --region <region> vikingdb collection create --name <collection_name> --desc '<description>' --fields-json '<json_array>' --fulltext-json '<json_object>' --tags-json '<json_value>' --vectorize-json '<json_object>'
完整 payload:
viking-cli --region <region> vikingdb collection create --input-file /path/to/create_collection.json
查询:
viking-cli --region <region> vikingdb collection get --name <collection_name>
列表:
viking-cli --region <region> vikingdb collection list --page-number 1 --page-size 10 --filter-json '<json_value>'
更新:
viking-cli --region <region> vikingdb collection update --name <collection_name> --desc '<description>' --fields-json '<json_value>'
删除:
viking-cli --region <region> vikingdb collection delete --name <collection_name>
创建:
viking-cli --region <region> vikingdb index create --name <index_name> --collection <collection_name> --desc '<description>' --cpu-quota 2 --shard-count 1 --shard-policy '<policy>' --vector-index-json '<json_object>' --scalar-index-json '<json_value>'
查询:
viking-cli --region <region> vikingdb index get --name <index_name> --collection <collection_name>
列表:
viking-cli --region <region> vikingdb index list --page-number 1 --page-size 10
更新:
viking-cli --region <region> vikingdb index update --name <index_name> --collection <collection_name> --desc '<description>' --cpu-quota 4 --scalar-index-json '<json_value>'
启用 / 禁用:
viking-cli --region <region> vikingdb index enable --name <index_name> --collection <collection_name>
viking-cli --region <region> vikingdb index disable --name <index_name> --collection <collection_name>
删除:
viking-cli --region <region> vikingdb index delete --name <index_name> --collection <collection_name>
导入 / 更新数据:
viking-cli --region <region> vikingdb upsert --collection <collection_name> --file data.csv --id-field id --batch-size 200
viking-cli --region <region> vikingdb upsert --collection <collection_name> --file data.jsonl --batch-size 200
获取数据:
viking-cli --region <region> vikingdb fetch --collection <collection_name> --ids-json '["id1","id2"]'
删除数据:
viking-cli --region <region> vikingdb delete --collection <collection_name> --ids-json '["id1","id2"]'
viking-cli --region <region> vikingdb delete --collection <collection_name> --del-all
相似搜索:
viking-cli --region <region> vikingdb search-by-id --collection <collection_name> --index <index_name> --id '<document_id>' --limit 10
Query或关键词搜索:
viking-cli --region <region> vikingdb search-by-keywords --collection <collection_name> --index <index_name> --query '<search_text>' --limit 10
一键创建个人记忆库,默认命名为 viking_cli_{userid}:
viking-cli --region <region> memory setup
viking-cli --region <region> memory setup --name <collection_name>
创建:
viking-cli --region <region> memory collection create --name <collection_name> --desc '<description>' --cpu-quota 2
列表:
viking-cli --region <region> memory collection list
查询 / 更新:
viking-cli --region <region> memory collection get --name <collection_name>
viking-cli --region <region> memory collection update --name <collection_name> --desc '<description>' --cpu-quota 4
删除:
viking-cli --region <region> memory collection delete --name <collection_name>
记录会话内容:
viking-cli --region <region> memory add-session --collection <collection_name> --session-id '<session_id>' --messages-file ./messages.json [--metadata-file ./metadata.json]
messages.json 示例:
[
{"role": "user", "content": "我喜欢打篮球"},
{"role": "assistant", "content": "好的,记下了"}
]
metadata.json 结构(可选,未传时 CLI 会自动生成):
{
"default_user_id": "user_id",
"default_user_name": "user_name",
"default_assistant_id": "assistant_id",
"default_assistant_name": "assistant_name"
}
filter-json 结构(可选,未传时 CLI 会自动生成):
{
"memory_type": ["sys_event_v1", "sys_profile_v1"],
"user_id": "user_id",
"assistant_id": "assistant_id"
}
记忆搜索:
viking-cli --region <region> memory search --collection <collection_name> --query '打篮球' --filter-json '<json_object>' --limit 10
一键创建个人知识库,默认命名为 viking_cli_{userid}:
viking-cli --region <region> knowledge setup
viking-cli --region <region> knowledge setup --name <collection_name>
创建:
viking-cli --region <region> knowledge collection create --name <collection_name> --desc '<description>' --version 4 --data-type unstructured_data
列表 / 查询:
viking-cli --region <region> knowledge collection list
viking-cli --region <region> knowledge collection get --name <collection_name>
删除:
viking-cli --region <region> knowledge collection delete --name <collection_name>
新增文档(直接传 URI):
viking-cli --region <region> knowledge add-doc --collection <collection_name> --uri <uri> --doc-id <doc_id> --doc-name '<doc_name>' --doc-type '<doc_type>' --desc '<description>' --tag-list-json '<json_value>'
上传本地文件:
viking-cli --region <region> knowledge add-file --collection <collection_name> --file /path/to/local_file.pdf
上传目录:
viking-cli --region <region> knowledge add-dir --collection <collection_name> --dir /path/to/local_directory
获取 / 列表 / 更新 / 删除文档:
viking-cli --region <region> knowledge get-doc --collection <collection_name> --doc-id <doc_id>
viking-cli --region <region> knowledge list-docs --collection <collection_name> --offset 0 --limit 10
viking-cli --region <region> knowledge update-doc --collection <collection_name> --doc-id <doc_id> --doc-name '<new_name>'
viking-cli --region <region> knowledge delete-doc --collection <collection_name> --doc-id <doc_id>
知识内容检索(在一个已创建知识库内做语义检索):
viking-cli --region <region> knowledge search-knowledge --collection <collection_name> --query '<text_query>' --limit 10
viking-cli --region <region> knowledge search-knowledge --collection <collection_name> --query '<text_query>' --doc-filter '{"op":"must","field":"doc_id","conds":["tos_doc_id_123","tos_doc_id_456"]}'
寻找匹配的知识库(按知识库描述进行关键词模糊匹配,默认返回 3 条):
viking-cli --region <region> knowledge search-collection --query '<keyword>'
viking-cli --region <region> knowledge search-collection --query '<keyword>' --limit 5
对知识服务进行检索或问答。支持非流式和流式输出。鉴权使用 APIKey:优先 --api-key,否则从 ~/.viking/config 读取;首次调用成功后会写入配置文件,后续可直接复用。service-rid 同理:优先 --service-rid,否则从配置文件读取。
viking-cli --region <region> knowledge service-chat --api-key <api_key> --service-rid <service_rid> --content '列举 2025 Q1 财报里的三项亮点'
viking-cli --region <region> knowledge service-chat --service-rid <service_rid> --messages-file ./messages.json
viking-cli --region <region> --format text knowledge service-chat --service-rid <service_rid> --content '列举 2025 Q1 财报里的三项亮点' --stream true
viking-cli --format text knowledge service-chat --content "列举 2025 Q1 财报里的三项亮点" --stream true
viking-cli --region <region> knowledge service-chat --service-rid <service_rid> --content '列举 2025 Q1 财报里的三项亮点' --doc-filter '{"op":"must","field":"doc_id","conds":["tos_doc_id_123","tos_doc_id_456"]}'
messages.json 示例:
[
{"role": "user", "content": "列举 2025 Q1 财报里的三项亮点"}
]
unknown command:用户输入了当前 CLI 未实现的子命令;引导其回到本 skill 的命令树。missing --name / missing --query 等:这些都是实现里的硬校验;修复方式是补齐对应 flag。missing --collection:先确认是否已执行过对应产品的 setup。如果执行过,CLI 会自动从配置文件读取默认 collection;如果没执行过,则需要显式补 --collection 或 提示用户执行setup命令。--input-file、--messages-file、--metadata-file 等文件输入。client not initialized 或请求初始化失败:通常是还没执行 viking-cli auth,或者配置文件里缺少 region / AK / SK。--region <region>,然后用 collection list 之类的轻量命令验证配置是否生效。