# Sandbox
## 概述
Sandbox(沙箱)是 Mythra AI Agent Studio 平台的核心组件之一,为 AI Agent 提供了一个安全、隔离的运行环境。通过容器化技术实现的 Sandbox,让 AI Agent 能够在受控环境中自由地处理文件、执行脚本和程序代码,同时确保宿主系统和用户数据的安全性。
## 什么是 Sandbox
Sandbox 是一个基于容器化技术实现的隔离沙箱环境。它的主要目的是为 AI Agent 提供一个安全的运行环境,具有以下核心特性:
- **环境隔离**:通过容器技术实现系统级别的隔离,AI Agent 在沙箱内的操作不会影响宿主系统
- **资源可控**:可以精确控制沙箱的计算资源、网络访问权限和存储空间
- **操作可追溯**:沙箱内的所有操作都可以被记录和审计
- **快速重建**:沙箱环境可以快速销毁和重建,便于实验和调试
这种设计既能让 AI Agent 在里面自由修改文件、执行脚本或程序代码,又能有效避免 AI Agent 因为误操作、逻辑错误或其他原因而对生产系统造成破坏。
## 工作流程
基于 Sandbox 的工作流程遵循"拉取-处理-同步"的模式,确保 AI Agent 在安全的环境中处理用户项目:
```mermaid
%%{
init: {
"themeVariables": {
"fontFamily": "verdana arial sans-serif monospace",
"fontSize": "10px",
"primaryTextColor": "#333"
},
"flowchart": {
"htmlLabels": false,
"nodePadding": 12,
"useMaxWidth": true
}
}
}%%
flowchart TD
subgraph User [End User]
U1["Developer /
AI Agent Builder"]
end
subgraph Mythra [Mythra]
direction TB
M1["**AI Agent Studio**
(Platform for building /
running AI Agents)"]
M2["**Sandbox**
(Container-based Virtual Environment)"]
M1 -->|Creates & Manages| M2
M1 -->|Runs AI Agents In| M2
end
subgraph WDS [WDS]
W1["Project Resources /
File Storage"]
end
U1 -->|1. Create Sandbox| M1
W1 -->|2. Pull Clone/Pull Files| M2
M2 -->|3. AI Agent Modifies Files| M2
M2 -->|4. Push Sync Updated Files| W1
```
### 详细步骤说明
**1. 创建沙箱**
用户在 Mythra(AI Agent Studio)平台上创建和管理 Sandbox。平台会根据用户的需求配置沙箱的运行环境,包括操作系统、开发工具、依赖库等。
**2. 拉取项目文件**
通过 Pull 操作,将用户在 WDS 平台上的项目资源文件克隆到沙箱中。这一步确保 AI Agent 能够访问到需要处理的项目文件,同时原始文件仍然安全地保存在 WDS 平台中。
**3. AI Agent 处理文件**
在沙箱环境中,AI Agent 可以对项目文件进行任意读写操作。这包括:
- 修改源代码文件
- 创建新文件或目录
- 执行构建、测试等脚本
- 运行程序代码进行验证
所有这些操作都在隔离的沙箱环境中进行,不会影响 WDS 平台上的原始项目。
**4. 验收与同步**
用户对 AI Agent 的工作结果进行验收,确认修改符合预期且无误后,通过 Push 操作将沙箱中有价值的文件同步回 WDS 平台的项目中。这个过程确保了只有经过审核的变更才会被应用到实际项目中。
## 安全性保障
基于 Sandbox 的工作流程提供了多层安全保障:
- **原始文件保护**:WDS 平台上的原始项目文件始终安全存储,不会直接被 AI Agent 修改
- **变更可控**:所有变更都需要用户确认后才会同步到项目,避免了意外的数据损坏
- **环境隔离**:即使 AI Agent 执行了危险的命令或脚本,影响范围也仅限于沙箱内部
- **快速恢复**:如果沙箱环境出现问题,可以随时销毁并重新创建,不会造成持久性损害
通过这一系列机制,我们实现了让 AI Agent 帮助处理 WDS 项目文件的目标,并且整个过程是安全的,用户无需担心毁坏文件或系统平台。