Skip to content

Commit cd95521

Browse files
committed
docs(tool-bailian-kb): 完善阿里云百炼知识库管理文档与命令参考
- 更新技能描述,补充命令行工具 kscli 的使用范围与说明 - 细化安装与鉴权步骤,明确不同发行通道及 Node.js 版本要求 - 增加详细的命令用途对照表,便于用户区分不同操作命令 - 优化核心工作流示例,简化上传、建库、部署检索服务步骤 - 补充多种 ID 类型说明,帮助用户正确使用各类标识 - 添加关于危险和不可逆操作的说明及确认要求 - 强调服务版本状态及发布流程,规范草稿与发布版切换 - 新增详细的命令参考文档,覆盖 chunk、config、datacenter、 doc、kb、query、service 等命令组 - 更新 package 版本号至 0.1.5,标识本次文档与功能更新
1 parent 30c2be6 commit cd95521

10 files changed

Lines changed: 961 additions & 12 deletions

File tree

packages/tool-bailian-kb/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ali/bailian-kb-dsh",
3-
"version": "0.1.4",
3+
"version": "0.1.5",
44
"description": "Bailian knowledge-base tools for DeepSeek Harness: kb_search and kb_chat over the DashScope RAG API, plus the kscli management skill.",
55
"type": "module",
66
"main": "lib/index.js",
Lines changed: 69 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
---
22
name: bailian-kb-management
3-
description: 管理阿里云百炼知识库(建库、上传文档、部署检索服务、Chunk 运维)。当用户要创建/更新/删除知识库、上传或导入文档、部署检索服务、管理数据中心文件时使用 kscli。检索与问答不走本 skill——用原生工具 kb_search / kb_chat。
3+
description: >-
4+
管理阿里云百炼知识库(建库、上传文档、部署检索服务、Chunk 运维、数据中心文件管理),命令行工具为 kscli。
5+
当用户要创建/更新/删除知识库、上传或导入文档(本地/OSS)、创建/部署/调参检索或问答服务、
6+
增删改查 Chunk、管理数据中心类目/文件/集合时使用本 skill。
7+
检索与问答不走本 skill——用原生工具 kb_search(取证据)/ kb_chat(成品问答);
8+
kscli search / chat 仅用于部署后的验证调试(如 --agent-version beta 调试草稿版)。
9+
普通问答、编程、写作、翻译、泛搜索不触发本 skill。
410
---
511

612
# 百炼知识库管理(kscli)
@@ -9,26 +15,78 @@ description: 管理阿里云百炼知识库(建库、上传文档、部署检
915

1016
## 前置检查
1117

12-
1. `kscli --version` —— 未安装则运行 `npm install -g knowledge-studio-cli`(需 Node.js ≥ 18.17);安装失败时把错误原样报告给用户,不要静默跳过。
18+
1. 安装校验:运行 `kscli kb list --help`。若报 `Unknown command` 或 kscli 未安装,执行
19+
`npm install -g knowledge-studio-cli@knowledge`(需 Node.js ≥ 18.17)。
20+
**管理命令(kb/doc/service/chunk/category/file/collection)只在 `knowledge` 发行通道;
21+
`latest` 通道只有 search/chat/config,装错通道会导致所有管理命令不可用。**
22+
安装失败时把错误原样报告给用户,不要静默跳过。
1323
2. 鉴权:需要 `DASHSCOPE_API_KEY`(环境变量,或 `kscli config set --key api_key --value sk-xxx`)。
1424
3. workspace 解析优先级:`--workspace-id` 参数 > 环境变量 `BAILIAN_WORKSPACE_ID` > `kscli config set --key workspace_id --value ws-xxx`
1525

16-
## 常用工作流:建库到可检索
26+
## 何时用哪个命令
27+
28+
| 用户意图 | 命令 | 备注 |
29+
| --- | --- | --- |
30+
| 查知识 / 问答(日常检索) | 原生工具 `kb_search` / `kb_chat` | 不走 kscli |
31+
| 建库 / 查看 / 改名 / 删库 / 监控 | `kscli kb create/list/info/update/delete/stats` | [reference/kb.md](reference/kb.md) |
32+
| 上传本地文档、看解析状态、删文档、打标签 | `kscli doc upload/list/status/delete/tag` | [reference/doc.md](reference/doc.md) |
33+
| 从 OSS 批量导入 | `kscli doc import-oss` | Bucket 需预先授权服务角色 |
34+
| 创建 / 部署 / 调参检索(问答)服务 | `kscli service create/update/deploy/…` | [reference/service.md](reference/service.md) |
35+
| 修正错误切片、屏蔽某段内容 | `kscli chunk add/list/update/delete` | [reference/chunk.md](reference/chunk.md) |
36+
| 数据中心类目 / 文件 / 集合管理 | `kscli category/file/collection …` | [reference/datacenter.md](reference/datacenter.md) |
37+
| CLI 配置、升级 | `kscli config show/set``kscli update` | [reference/config.md](reference/config.md) |
38+
| 部署后验证、调试草稿版服务 | `kscli search/chat --agent-version beta` | [reference/query.md](reference/query.md) |
39+
40+
## 核心工作流:建库到可检索
1741

1842
```bash
19-
kscli kb create --name "my-kb" --embedding-model text-embedding-v3 # 1. 建库
20-
kscli doc upload --kb-id <kb-id> --file ./docs.pdf # 2. 上传本地文档
21-
kscli doc status --kb-id <kb-id> --doc-id <doc-id> # 3. 轮询至 COMPLETED
22-
kscli service create ... && kscli service deploy ... # 4. 建/部署检索服务 → 得到 agent_id
43+
kscli doc upload --file ./docs/ --workspace-id ws-xxx # 1. 上传本地文件/目录 → 得 fileId
44+
kscli kb create --name my-kb --doc-id <fileId> --wait # 2. 建库并导入 → 得 index-id (pipelineId)
45+
kscli service create --name my-search --scene search --index-id <index-id> # 3. 建检索服务 → 得 agent-id(draft)
46+
kscli service deploy --agent-id <agent-id> --yes # 4. 发布服务(此后可被默认版本调用)
47+
kscli service list --scene search --status deployed # 5. 确认服务可见
2348
```
2449

25-
部署完成后用 `kscli service list` 确认服务可见,再用 `kb_search` 带该 `agent_id` 验证检索。
50+
部署完成后用原生工具 `kb_search` 带该 `agent_id` 验证检索;若要在部署前调试草稿配置,用 `kscli search --agent-id <id> --agent-version beta`
51+
52+
已有文件再入库的简写:`kscli doc upload --file ./a.md --index-id <index-id> --wait`(上传+导入一步完成)。
53+
54+
## ID 速查(极易混淆)
55+
56+
| ID | 来源 | 用在哪 |
57+
| --- | --- | --- |
58+
| `index-id` | `kb create` 返回的 pipelineId / `kb list` | 所有 kb/doc/chunk 命令的 `--index-id` |
59+
| `fileId` | `doc upload` / `doc import-oss` 返回 | 数据中心命令(`file get/delete``kb create --doc-id``doc tag`|
60+
| `doc_id`(库内文档 ID) | `doc list` 输出 | `doc delete``chunk add/update``--doc-id`**可能带 workspace 后缀,≠ fileId** |
61+
| `job-id` | 导入命令返回的 ingestionId | `doc status`(必须同时给 `--index-id``--job-id`|
62+
| chunk id | `chunk list` 输出的 `metadata._id` | `chunk update/delete``--chunk-id` |
63+
| `agent-id` | `service create/list` | `service *``kb_search`/`kb_chat``kscli search/chat` |
64+
65+
## 命令参考(权威)
66+
67+
命令的完整 Usage / Flags / Notes / Examples 在 [`reference/`](reference/index.md)
68+
69+
- [reference/index.md](reference/index.md) — 全命令速查表、全局 flag、鉴权说明
70+
- reference/&lt;group&gt;.md — 按命令组分文件(kb / doc / service / chunk / datacenter / config / query)
71+
72+
执行不熟悉的命令前,先读对应 reference 或跑 `kscli <命令> --help`**不要猜 flag。**
73+
全部命令支持 `--output json`(结构化输出)、`--dry-run`(预览请求)、`--quiet``--verbose`
74+
75+
## 危险与不可逆操作
2676

27-
## 命令组速查
77+
执行以下操作前须向用户确认,脚本化时才用 `--yes` 跳过交互确认:
2878

29-
`kb`(list/info/create/update/delete/stats)· `doc`(list/upload/status/delete/tag/import-oss)· `service`(list/get/create/update/deploy/delete/copy)· `chunk`(add/list/update/delete)· `file` / `collection` / `category`(数据中心)。全部命令支持 `--output json`(结构化输出)、`--dry-run`(预览请求)、`--quiet`。完整手册:https://github.com/modelstudioai/cli/blob/main/docs/knowledge-cli-guide.md
79+
- `kb delete`:不可逆,库和全部索引内容永久删除(数据中心源文件保留)。
80+
- `file delete`:不可逆,且引用该文件的知识库文档索引会失效;只想从单个库移除用 `doc delete`
81+
- `chunk delete`:不可逆。
82+
- `service deploy`:发布影响线上调用方;`service delete` 后 agent_id 不可再用(软删、幂等)。
83+
- `collection create`**没有删除 API**,创建集合要慎重。
84+
- 索引配置(embedding 模型、chunk size 等)建库后不可改,只能重建。
3085

3186
## 最佳实践
3287

3388
- 用户反复使用同一检索服务时,建议其把 agent_id 写入项目指令(如 AGENTS.md)或让 agent 记住,后续 kb_search / kb_chat 直接携带。
34-
- 服务有 draft/deployed 两种状态:只有 deployed 可被默认版本调用;draft 调试用 `--agent-version beta`
89+
- 服务有 draft/deployed 两种状态:只有 deployed 可被默认版本调用;draft 调试用 `--agent-version beta`。改已发布版本的配置:先改 beta 草稿(`service update`),验证后 `service deploy` 发新版本。
90+
- 导入类命令(`kb create``doc upload --index-id``doc status`)优先带 `--wait` 轮询到终态,避免手工轮询;文档解析失败(如 PARSE_FAILED)会以非零退出码透传错误。
91+
- `chunk add` 有 10 QPS 限流,批量脚本注意节流;响应不带 chunk id,需要 `chunk list` 反查。
92+
- `service list` 必须带 `--scene chat|search`,两个场景要分别查询。
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
# `kscli chunk` — Chunk 运维
2+
3+
> 通用鉴权/全局 flag 见 [index.md](index.md)。以下 Flags 只列命令专属项。
4+
> chunk id = `chunk list` 输出的 `metadata._id`;文档 id = `metadata.doc_id`
5+
6+
## `kscli chunk add`
7+
8+
直接向库内添加 chunk。
9+
10+
```
11+
Usage: kscli chunk add --index-id <id> (--content <text> | --field <k=v>) [flags]
12+
```
13+
14+
| Flag | 说明 |
15+
| --- | --- |
16+
| `--doc-id <id>` | 归属文档 ID(取自 `doc list`);**实践中所有库类型都必填** |
17+
| `--content <text>` | Chunk 正文,≤6000 字符(文档型库);与 `--content-file` 二选一 |
18+
| `--content-file <path>` | 从 UTF-8 纯文本文件读正文(.md/.txt 等) |
19+
| `--title <text>` | Chunk 标题,≤50 字符 |
20+
| `--image-url <url>` | Chunk 图片 URL(可重复,≤10 个) |
21+
| `--field <key=value>` | 表格/图片型库的任意字段(可重复,key 为 Excel 列头);与 content/title/image 互斥 |
22+
23+
Notes:
24+
25+
- 支持文档/表格/图片型知识库;音视频型不支持。
26+
- `--doc-id``doc list` 的文档级 id;`chunk list` 输出里的行级 doc_id 不被接受。
27+
- 图片型文档不支持文本 chunk,需指向文本型文档(docx/pdf/txt)。
28+
- API 幂等但限流 10 QPS——批量脚本注意节流。
29+
- 响应不带 chunk id;添加后用 `chunk list` 反查。
30+
31+
```bash
32+
kscli chunk add --index-id idx-xxx --content "chunk text" --title intro --doc-id file-xxx
33+
kscli chunk add --index-id idx-xxx --field 列A=v1 --field 列B=v2
34+
```
35+
36+
## `kscli chunk list`
37+
38+
列出 chunk 内容与状态。
39+
40+
```
41+
Usage: kscli chunk list --index-id <id> [flags]
42+
```
43+
44+
| Flag | 说明 |
45+
| --- | --- |
46+
| `--doc-id <id>` | 只看该文档的 chunk |
47+
| `--page-number <n>` / `--page-size <n>` | 分页(服务端默认 20,上限 100) |
48+
49+
Notes:
50+
51+
- 后续 update/delete 用输出中的 `metadata._id`(chunk id)与 `metadata.doc_id`(文档 id)。
52+
53+
```bash
54+
kscli chunk list --index-id idx-xxx --doc-id file-xxx --page-size 50
55+
```
56+
57+
## `kscli chunk update`
58+
59+
改 chunk 内容或切换检索可见性。
60+
61+
```
62+
Usage: kscli chunk update --index-id <id> --chunk-id <id> --doc-id <id> [flags]
63+
```
64+
65+
| Flag | 说明 |
66+
| --- | --- |
67+
| `--chunk-id <id>` | Chunk ID(`chunk list``metadata._id`|
68+
| `--doc-id <id>` | 归属文档 ID(`chunk list``metadata.doc_id`|
69+
| `--content <text>` | 新内容,10-6000 字符;与 `--content-file` 二选一 |
70+
| `--content-file <path>` | 从 UTF-8 纯文本文件读新内容 |
71+
| `--title <text>` | 标题,0-50 字符(空串清除;省略保持不变) |
72+
| `--exclude` / `--include` | 从检索中排除 / 恢复(默认 include) |
73+
74+
Notes:
75+
76+
- 内容须在 10-6000 字符且不超过库的最大 chunk size。
77+
- `--content-file` 只接受纯文本;.docx/.pdf 不在这里解析。
78+
- 只切 `--exclude/--include` 不给新内容时,自动重提交现有内容。
79+
80+
```bash
81+
kscli chunk update --index-id idx-xxx --chunk-id chunk-xxx --doc-id file-xxx --content "corrected text"
82+
kscli chunk update --index-id idx-xxx --chunk-id chunk-xxx --doc-id file-xxx --exclude
83+
```
84+
85+
## `kscli chunk delete`
86+
87+
删除 chunk。**不可逆,执行前须向用户确认。**
88+
89+
```
90+
Usage: kscli chunk delete --index-id <id> --chunk-id <id> [flags]
91+
```
92+
93+
| Flag | 说明 |
94+
| --- | --- |
95+
| `--chunk-id <id>` | 要删的 chunk ID(可重复;超过 10 个自动分批发送) |
96+
| `--yes` | 跳过交互确认 |
97+
98+
```bash
99+
kscli chunk delete --index-id idx-xxx --chunk-id chunk-a --chunk-id chunk-b --yes
100+
```
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# `kscli config` / `update` — 配置与升级
2+
3+
> 通用全局 flag 见 [index.md](index.md)。这两组命令无需鉴权。
4+
5+
## `kscli config show`
6+
7+
显示当前配置。
8+
9+
```
10+
Usage: kscli config show
11+
```
12+
13+
```bash
14+
kscli config show
15+
kscli config show --output json
16+
```
17+
18+
## `kscli config set`
19+
20+
设置配置项。
21+
22+
```
23+
Usage: kscli config set --key <key> --value <value>
24+
```
25+
26+
可用 key:`base_url``output``output_dir``timeout``api_key``access_token`
27+
`access_key_id``access_key_secret``security_token``default_*_model``workspace_id`
28+
29+
```bash
30+
kscli config set --key workspace_id --value ws-xxx
31+
kscli config set --key output --value json
32+
kscli config set --key timeout --value 600
33+
```
34+
35+
## `kscli update`
36+
37+
升级 CLI 到最新或指定版本。
38+
39+
```
40+
Usage: kscli update [--to <version>]
41+
```
42+
43+
| Flag | 说明 |
44+
| --- | --- |
45+
| `--to <version>` | 安装该精确版本而非最新版 |
46+
47+
Notes:
48+
49+
- 管理命令在 `knowledge` 发行通道;若 `kscli update` 后管理命令消失(升到了 latest),用
50+
`npm install -g knowledge-studio-cli@knowledge` 装回。
51+
52+
```bash
53+
kscli update
54+
kscli update --to 0.1.14
55+
```

0 commit comments

Comments
 (0)