# 共享知识库 RAG 简化结构

更新时间：2026-05-16T13:23:31+0800

## 当前简化约定

这个知识库场景不做复杂的数据管线，按三层处理：

1. **NAS 放知识库原始文件**
2. **NAS 另放切片后的资料**
3. **本地只跑 RAG 代码/模型/索引等运行系统**

## NAS 侧目录

```text
/Users/bot1/Volumes/root_for_ai/00_共享区/共享知识库/
├── 原始资料/      # 知识库原始文件：md、pdf、docx、图片说明、json 等
├── 切片资料/      # 从原始资料切出来的 chunk，供本地 RAG 建索引用
└── 运维环境配置/  # 这个知识库自己的说明文档
```

说明：现有 `README.md`、`Agent标准/`、`多机器人协作/`、`密钥位置索引/` 等仍保留原处，作为共享知识库现有资料和管理文档；后续新放入的正式原始资料优先放 `原始资料/`，切片产物放 `切片资料/`。

## 本地侧只保留运行系统

本地 `/Users/bot1/Documents/knowledge-base` 只放运行 RAG 需要的代码、模型、索引数据库、脚本和临时状态，例如：

```text
/Users/bot1/Documents/knowledge-base/rag/              # RAG 代码/CLI
/Users/bot1/Documents/knowledge-base/vector/           # 本地向量索引/数据库
/Users/bot1/Documents/knowledge-base/catalog/          # 本地 catalog/FTS/运行索引
/Users/bot1/Documents/knowledge-base/models/           # 如后续需要本地 embedding/rerank 模型
/Users/bot1/Documents/knowledge-base/cache/            # 临时缓存，可重建
```

不要把本地运行数据库、模型缓存、虚拟环境、日志、`.env`、token、auth 文件放回 NAS 共享知识库。

## 后续实际流程

1. 人或机器人把原始资料放到 NAS：`共享知识库/原始资料/`。
2. 本地 RAG 脚本读取 NAS 原始资料，生成 chunk 文件，写回 NAS：`共享知识库/切片资料/`。
3. 本地 RAG 代码读取 `切片资料/`，在本地生成/更新向量索引。
4. 查询时，本地 RAG 系统跑代码、模型和索引；回答时引用 NAS 上的原始资料路径或 chunk 元数据。

## 不放在这里的事情

“如何把现在机子上的经验总结到 NAS”是单独流程，不属于这个 RAG 简化结构。不要在当前流程里自动汇总 profile 经验、聊天记录、memory、日志或未审核经验到 NAS。

## 安全边界

- NAS 原始资料和切片资料都不得包含明文 API key、token、Feishu secret、NAS 密码、cookie、私钥。
- 切片资料应能从原始资料重新生成；不要把它当唯一原件。
- 本地索引/模型/代码可以重建，不作为 NAS 原始知识库的一部分。
