# 钉盘与知识库

这两个是**不同的产品**，最容易混。

| | 钉盘 / 文档空间 | 知识库 |
| --- | --- | --- |
| 是什么 | 文件的**存储层** | 有层级结构的**知识组织** |
| 命令前缀 | `dws drive` | `dws wiki` |
| 典型操作 | 查找、上传下载、移动、复制、改名、删除、回收站、权限、评论 | 空间管理、节点层级、成员权限、动态 |

## 判据

问自己：**「换个文件类型这个操作还成立吗？」**

- **成立** → 存储层，走 `drive`。移动、复制、改名、删除、权限对任何文件都成立
- **不成立** → 内容层，走 `doc` / `sheet` / `aitable`

另一条：**只说「文档空间」「我的文档」不触发 wiki**。必须明确提到「知识库 / wiki / 知识空间」才走 wiki。

## 钉盘

| 场景 | 命令 |
| --- | --- |
| 最近访问/编辑的文档 | `drive +recent` |
| 按名称搜文件 | `drive +find-file` / `+search` |
| 分页列出文件和文件夹 | `drive +list` |
| 建文件夹 | `drive +create-folder`（建完读回验证） |
| 复制 | `drive +copy` |
| 下载 | `drive +download`（**会验 `sizeBytes > 0`**） |
| 删除（移入回收站） | `drive +delete` —— 危险操作，先确认目标存在 |
| 建快捷方式 | `drive +create-shortcut` |
| 封面/缩略图 | `drive +cover` |

还支持本地与钉盘文件夹的**比较、拉取、推送、双向同步**。

### 实际用法

```
我最近编辑过哪些钉盘文件？
```

真机实测：

```bash
dws drive +recent --operate-type 1 --limit 20 --format json
```

`--operate-type 1` 是「编辑过」这个筛选条件的落地——助手把疑问句里的动词正确转成了参数，而不是理解成「要你去编辑」。

## 知识库

| 场景 | 命令 |
| --- | --- |
| 列出知识空间 | `wiki space list` |
| 按名称解析唯一 spaceId | `wiki +resolve-space` |
| 分页列节点 | `wiki +node-list` |
| 空间动态 | `wiki +feed-list` |
| 成员管理 | `wiki +member-list` / `+member-add` / `+member-remove` / `+member-update` |
| 删除知识库 | `wiki +delete-space` —— **高危**，必须强确认 |

### 实际用法

```
我有哪些知识库？
```

真机实测助手**分别查了两类**：

```bash
dws wiki +space-list --type orgWikiSpace --limit 50 --page-all --format json
dws wiki +space-list --type myWikiSpace  --limit 50 --page-all --format json
```

组织知识库和个人知识库是两个不同的 type——助手一次查全再合并呈现，不会反问你「要查哪一类」。

## 常见误判

| 你说 | 容易误判 | 实际 |
| --- | --- | --- |
| 「把文档移到某文件夹」 | doc | **drive**（移动是存储操作） |
| 「上传文件到知识库节点下」 | wiki | **drive**（上传是存储操作） |
| 「知识库里有哪些文档」 | drive | **wiki**（明确提了知识库） |
| 「编辑知识库里那篇文档的正文」 | wiki | **doc**（正文编辑是内容层） |
