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

# 工作空间与项目

> 理解资源层级结构——工作空间用于数据隔离，项目用于组织知识

## 工作空间

工作空间是 MemoryLake 中的顶层命名空间。它提供完全的数据隔离——一个工作空间中的 Actor、项目、文档、会话和事实对另一个工作空间不可见。

您可以将工作空间理解为一个租户。如果您正在构建多租户应用，每个客户可以拥有独立的工作空间。如果您是单个团队，可以使用一个工作空间用于生产环境，另一个用于开发环境。

### 工作空间包含什么

```
工作空间
  +-- Actor（绑定到此工作空间的参与者身份）
  +-- Agent（绑定到此工作空间的 AI Agent 定义）
  +-- 项目
        +-- 文档
        +-- 会话 + 消息
        +-- 项目事实
```

MemoryLake 中的每个资源都属于某个工作空间。搜索时，您在工作空间范围内搜索。当 Actor 积累事实时，这些事实存在于会话发生的工作空间中。

### 创建工作空间

```bash theme={null}
curl -X POST https://app.memorylake.ai/openapi/memorylake/api/v3/workspaces \
  -H "Authorization: Bearer $MEMORYLAKE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Production",
    "description": "Production workspace for customer-facing agents"
  }'
```

完整的工作空间操作请参阅[工作空间 API 参考](/zh/features/memorylake/api-reference/workspaces/overview)。

## 项目

项目是工作空间中的知识容器。它包含 MemoryLake 处理的三种内容：

* **文档**——从文档库导入的文件，已建立语义搜索索引
* **会话**——用户与助手之间的消息交互
* **项目事实**——从会话中提取的结构化知识，作用域限定在本项目

### 何时创建项目

为每个不同的知识领域、用例或应用创建一个项目。以下是一些示例：

| 场景    | 项目结构                           |
| ----- | ------------------------------ |
| 客服机器人 | 每个产品线或知识领域一个项目                 |
| 个人助手  | 每个用户一个项目，或一个共享项目配合 Actor 级别的记忆 |
| 研究工具  | 每个研究主题或数据集一个项目                 |
| 编程助手  | 每个代码仓库或代码库一个项目                 |

<Tip>
  项目是轻量级的。创建多个聚焦的项目比创建一个内容混杂的大项目更好。更小、更聚焦的项目能产生更好的搜索结果。
</Tip>

### 创建项目

```bash theme={null}
curl -X POST https://app.memorylake.ai/openapi/memorylake/api/v3/workspaces/{workspace_id}/projects \
  -H "Authorization: Bearer $MEMORYLAKE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Customer Support - Billing",
    "description": "Knowledge base for billing-related support queries"
  }'
```

完整的项目操作请参阅[项目 API 参考](/zh/features/memorylake/api-reference/v3-projects/overview)。

## 工作空间与项目的选择

使用以下决策指南来选择合适的隔离层级：

| 需求                  | 使用                           |
| ------------------- | ---------------------------- |
| **租户间的数据隔离**        | 独立的工作空间                      |
| **不同环境**（开发、预发布、生产） | 独立的工作空间                      |
| **同一租户内的不同知识领域**    | 同一工作空间中的独立项目                 |
| **跨领域跟随用户的每用户记忆**   | 一个工作空间包含多个项目（Actor 的事实跨项目携带） |
| **跨多个知识源的共享搜索**     | 同一工作空间中的多个项目（搜索以工作空间为范围）     |

<Note>
  搜索在工作空间级别运行。如果您需要在一次查询中搜索多个知识领域，请将这些领域放在同一工作空间的不同项目中。
</Note>

### 多租户模式

对于多租户应用，最常见的模式是**每个租户一个工作空间**：

```
您的应用
  +-- 工作空间: "Acme Corp"
  |     +-- 项目: "Engineering Docs"
  |     +-- 项目: "Support Knowledge Base"
  |
  +-- 工作空间: "Globex Inc"
        +-- 项目: "Product Docs"
        +-- 项目: "Internal Wiki"
```

这确保了 Acme Corp 的数据永远不会对 Globex Inc 可见，反之亦然。每个工作空间拥有独立的 Actor，因此用户记忆在租户之间也是隔离的。

### 单租户模式

对于单团队或单应用的场景，通常使用**一个工作空间包含多个项目**：

```
工作空间: "My Team"
  +-- 项目: "Product Knowledge"
  +-- 项目: "Engineering Runbooks"
  +-- 项目: "Customer Feedback"
```

该工作空间中的 Actor 可以在所有三个项目中积累事实。当 Jane 在"Product Knowledge"项目中提出问题，随后与"Engineering Runbooks"项目交互时，她在两次交互中产生的 Actor 事实都是可用的。

## 下一步

<CardGroup cols={2}>
  <Card title="Actor 与记忆" icon="user" href="/zh/features/memorylake/core-concepts/actors-and-memory">
    了解 Actor 如何提供跨项目的每用户记忆
  </Card>

  <Card title="记忆管道" icon="diagram-project" href="/zh/features/memorylake/core-concepts/memory-pipeline">
    了解会话如何转化为结构化事实
  </Card>

  <Card title="工作空间 API" icon="code" href="/zh/features/memorylake/api-reference/workspaces/overview">
    工作空间操作的完整 API 参考
  </Card>

  <Card title="项目 API" icon="code" href="/zh/features/memorylake/api-reference/v3-projects/overview">
    项目操作的完整 API 参考
  </Card>
</CardGroup>
