# 使用 dvina 指令

> 了解 Dvina 為你執行程式碼時，dvina 指令的用途、提供哪些指令，以及哪些指令需要你核准。

當 Dvina 為你執行程式碼或指令時，它可以使用自己的指令：`dvina`。透過這個指令，指令碼或一連串步驟就能以你的身分搜尋你的 Dvina、讀取及新增文件、記憶與任務，以及查看誰有權存取某個項目。

你不需要安裝任何東西，也不需要登入。Dvina 會在處理你的要求時，視需要使用這個指令；你也可以直接要求使用，例如：「用 dvina 列出我的任務，並將摘要寫成一則筆記。」

## 運作方式

- `dvina` 會以你的身分操作你自己的 Dvina，遵守你的角色權限和一般使用限制。
- 存取權只在 Dvina 處理你的要求期間有效。回覆結束後，這個指令就無法再存取你的 Dvina。
- 只有在指令指定檔案或資料夾時，才會讀取該檔案或資料夾，例如要上傳的檔案。

## 指令

指令依群組分類：`dvina <group> <command>`，後面接該指令的引數和旗標。

| 群組      | 指令                                                                                                                 |
| ---------- | ------------------------------------------------------------------------------------------------------------------------ |
| `search`   | `dvina search <query>`：一次搜尋你的聊天、文件、記憶和世界。                                          |
| `memory`   | `ls`、`show`、`add`、`edit`：列出、讀取、新增或修改你的記憶檔案。                                                |
| `world`    | `topics`、`topic`、`recall`、`feed`：你的主題、Dvina 對某件事的了解，以及你的 Feed。                       |
| `docs`     | `ls`、`show`、`read`、`search`、`create`、`upload`、`update`、`mv`、`mkdir`、`rm`：你的 Library 中的文件和資料夾。 |
| `canvas`   | `ls`、`show`、`create`、`write-page`：列出、讀取、建立或重寫畫布頁面。                                        |
| `tasks`    | `ls`、`show`、`start`、`continue`、`stop`：你的背景任務。                                                        |
| `goals`    | `show`、`start`：朝目標推進的任務。                                                                          |
| `schedule` | `ls`、`add`、`cancel`：單次或重複的排程訊息與提醒。                                              |
| `agents`   | `ls`、`show`、`create`、`update`：你的代理程式。                                                                           |
| `skills`   | `ls`、`show`、`add`、`edit`：你的技能。                                                                                |
| `projects` | `ls`、`show`：你的專案。                                                                                             |
| `settings` | `get`、`set`：你的偏好設定，例如開啟或關閉記憶。                                                           |
| `share`    | `state`、`with-me`、`add`、`rm`：查看誰有權存取某個項目、其他人與你分享的內容，以及授予或移除存取權。  |

`dvina` 無法永久刪除任何內容、開啟公開連結、連接或中斷連接 app，也無法變更管理員或帳務設定。

### 說明與輸出

- `dvina --help` 會列出群組，`dvina <group> --help` 會列出群組中的指令，`dvina <group> <command> --help` 則會列出指令的引數和旗標。
- 輸出是簡短文字。加上 `--json` 可取得 JSON；或加上 `--fields` 和以逗號分隔的清單，例如 `--fields id,title`，只保留部分欄位。
- 較長的清單會以 `next: --cursor <c>` 結尾。再次執行指令並加上該 `--cursor`，即可取得下一頁。
- 若要從檔案讀取值，在對應的旗標後加上 `-file`，例如 `--content-file notes.md`。`dvina docs upload <file>` 會上傳檔案，`dvina skills add <folder>` 則會新增技能資料夾及其中的 SKILL.md。

### 結束代碼

| 代碼 | 意義                                                                       |
| ---- | ----------------------------------------------------------------------------- |
| `0`  | 已完成。                                                                         |
| `1`  | 發生其他錯誤。                                                    |
| `2`  | 指令有誤。請查看該指令的 `--help`。                                     |
| `3`  | 找不到。                                                                    |
| `4`  | 已拒絕：你的存取權、公司規則或資料保護規定不允許這項操作。 |
| `5`  | 需要你核准。                                                       |
| `6`  | 你已達到使用量上限。                                              |

## 核准變更

- 讀取內容的指令會直接執行，不會詢問你。
- 新增內容的指令，例如 `docs create`、`memory add` 或 `tasks start`，會直接執行，不會詢問你。這些指令絕不會變更現有內容。
- 變更或移除內容的指令會先詢問你，包括：移動、重新命名、移至垃圾桶、取代筆記或記憶檔案、重寫畫布頁面、變更代理程式或技能、停止任務、取消排程訊息，以及分享。Dvina 會在聊天中顯示核准卡片，附上它對這次變更的摘要，而且每次都會詢問你。你若拒絕，就不會有任何變更。

`dvina` 新增或變更的內容，都會經過你公司的資料保護規則檢查，並記錄在你的[稽核記錄](/docs/teams/audit-log)中，與 Dvina 的其他操作相同。

## 相關資訊

- [透過 MCP 從其他 app 使用 Dvina](/docs/dvina-mcp/overview)
- [任務](/docs/use-dvina/features/tasks)
- [連接器概覽](/docs/connectors/overview)
