> ## Documentation Index
> Fetch the complete documentation index at: https://docs.veadk.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# 管理知识库

`knowledge` 命令组用于管理 AgentKit 知识库，涵盖列表、详情查看、创建、更新与删除等操作。该命令同时提供 `kb` 与 `knowledgebase` 别名。

知识库用于保存可检索文档。先配置目标云厂商的管理凭证与区域，并确认账号具有 AgentKit、知识库提供方和上传所需 TOS 权限。AgentKit 知识库 ID 与提供方知识库 ID 不相同；注册已有资源时填写提供方 ID，后续命令使用创建结果中的 AgentKit ID

## knowledge list

列出所有知识库。

| 标志/参数 | 说明 | 默认值 |
| - | - | - |
| `-r, --region <region>` | 所选云厂商的区域。 | 自动检测 |
| `-p, --project <name>` | 项目名称。 | default |
| `--json` | 输出原始 JSON。 | `false` |

```bash lines theme={null}
agentkit knowledge list --project demo
```

## knowledge show

查看知识库的详情。

| 标志/参数 | 说明 | 默认值 |
| - | - | - |
| `<id>` | 知识库 id，例如 `kb-xxxxxxxx`。必填。 | — |
| `-r, --region <region>` | 所选云厂商的区域。 | 自动检测 |
| `--json` | 输出原始 JSON。 | `false` |

```bash lines theme={null}
agentkit knowledge show kb-12345678
```

<Warning>
  自动开通知识库和上传文档会使用云端存储与索引资源，可能产生费用。上传目录会递归包含文件，先排除密钥与不应进入知识库的数据
</Warning>

## knowledge create

创建知识库。

| 标志/参数 | 说明 | 默认值 |
| - | - | - |
| `-n, --name <name>` | 知识库名称。 | — |
| `--provider-knowledge-id <id>` | 待注册的、已存在于提供方侧的知识库 id；省略则自动开通（仅 viking）。 | — |
| `--provider-type <type>` | 提供方类型，例如 `viking`。 | `viking` |
| `--viking-project <name>` | 自动开通时使用的 viking 项目。 | `$DATABASE_VIKING_PROJECT` 或 `default` |
| `--viking-version <n>` | viking 集合版本：`2` \| `4`。 | `2` |
| `-d, --description <text>` | 知识库描述。 | — |
| `-p, --project <name>` | 项目名称。 | default |
| `-r, --region <region>` | 所选云厂商的区域。 | 来自环境变量/默认值 |
| `--json <jsonString>` | 高级：合并进请求体的 JSON 对象（覆盖各选项）。 | — |

```bash lines theme={null}
agentkit knowledge create --name docs-kb --provider-type viking --provider-knowledge-id pk-123
```

## knowledge add

向知识库添加文档——上传本地文件或目录（目录递归），或通过公开 URL 注册文档。

| 标志/参数 | 说明 | 默认值 |
| - | - | - |
| `<kb>` | 知识库名称或 id。必填。 | — |
| `[paths...]` | 要上传的本地文件或目录（目录递归）。 | — |
| `--url <url>` | 通过公开 URL 添加文档，替代本地文件（可重复）。 | `[]` |
| `--doc-type <type>` | `--url` 的文档类型提示（如 `md`、`pdf`）。 | — |
| `--tos-bucket <name>` | 上传所用的 TOS 桶。 | `agentkit-platform-<account-id>` |
| `-p, --project <name>` | 项目名称。 | default |
| `-r, --region <region>` | 所选云厂商的区域。 | 来自环境变量/默认值 |

```bash lines theme={null}
agentkit knowledge add docs-kb ./docs ./README.md
agentkit knowledge add docs-kb --url https://example.com/guide.pdf --doc-type pdf
```

## knowledge update

更新知识库。

| 标志/参数 | 说明 | 默认值 |
| - | - | - |
| `<id>` | 知识库 id，例如 `kb-xxxxxxxx`。必填。 | — |
| `-d, --description <text>` | 新的描述。 | — |
| `--vpc-id <id>` | 要挂载的 VPC id。 | — |
| `--subnet-ids <ids>` | 逗号分隔的子网 id（需配合 `--vpc-id`）。 | — |
| `-r, --region <region>` | 所选云厂商的区域。 | 自动检测 |
| `--json <jsonString>` | 高级：合并进请求体的 JSON 对象（覆盖各选项）。 | — |

```bash lines theme={null}
agentkit knowledge update kb-12345678 --description "更新后的文档库"
```

<Warning>
  删除前检查哪些智能体仍关联该知识库，并保留需要的文档副本。`--yes` 跳过确认；删除后的关联调用可能失败
</Warning>

## knowledge delete

删除知识库。

| 标志/参数 | 说明 | 默认值 |
| - | - | - |
| `<id>` | 知识库 id，例如 `kb-xxxxxxxx`。必填。 | — |
| `-r, --region <region>` | 所选云厂商的区域。 | 自动检测 |
| `-y, --yes` | 跳过确认提示。 | `false` |

```bash lines theme={null}
agentkit knowledge delete kb-12345678 --yes
```

添加文档后，命令成功表示上传或注册请求已完成，不等于文档已完成解析和索引。确认提供方中的文档处理状态后，再用已接入该知识库的智能体验证检索结果。若列表为空，先核对云厂商、区域和 `--project`，不要立即重复创建
