# 知識庫

**知識庫**是一個命名的知識集合，儲存一組相關記憶。可以將其視為特定領域的資料夾或資料庫。知識庫分組在[工作區](workspaces)內。

## 概念

| 屬性 | 描述 |
|---|---|
| **名稱** | 人類可讀的標籤（例如："Project Alpha"、"Personal Notes"） |
| **關鍵詞** | 用於自動路由的逗號分隔術語 |
| **工作區** | 包含該知識庫的父級工作區 |
| **記憶** | 儲存在該知識庫中的所有記憶 |

```bash
tokst atlas init --name "Project Alpha"
```

## 建立知識庫

```bash
tokst atlas init --name "MyKnowledge"
```

每個知識庫初始為空。新建立的知識庫將成為您的目前知識庫。

## 列出知識庫

```bash
tokst atlas list
```

顯示目前工作區中的所有知識庫，包括其記憶計數和關鍵詞設定檔。

## 重新命名知識庫

```bash
tokst atlas rename --atlas-id <id> --name "New Atlas Name"
```

重新命名指定的知識庫。

## 設定自動路由關鍵詞

關鍵詞啟用**自動路由**——當您儲存記憶而未指定知識庫時，TokST 會檢查記憶內容是否匹配任何知識庫的關鍵詞，並自動路由。

```bash
tokst atlas profile --atlas-id <id> --keywords architecture,backend,api,typescript
```

當您執行 `tokst remember "The API uses TypeScript with Express"` 時，TokST 會將內容與知識庫關鍵詞進行匹配，並路由到最匹配的知識庫。

## 刪除知識庫

```bash
tokst atlas delete --atlas-id <id>
```

**警告：** 這會先清理知識庫中所有記憶對應的 R2 檔案物件，再永久刪除記憶和知識庫。此操作無法復原。

## 自動路由詳解

自動路由幫助您儲存記憶而無需每次都手動指定知識庫。工作原理如下：

1. 您執行 `tokst remember "Some content"`（無 `--atlas` 標誌）
2. TokST 對照目前工作區中所有知識庫的關鍵詞設定檔評估內容
3. 關鍵詞匹配得分最高的知識庫接收該記憶
4. 如果沒有知識庫匹配超過閾值，記憶將進入目前知識庫

這對於智能體驅動的工作流程特別有用——智能體不知道使用哪個知識庫，它只管記住，TokST 會確定存放位置。

## 最佳實踐

- **每個領域建立一個知識庫** — 不要將個人筆記與專案架構混在一起
- **設定關鍵詞設定檔** — 它們使自動路由可靠地工作
- **描述性地命名知識庫** — 像"Frontend"或"Backend"這樣的名稱比"Atlas 1"更清晰
