TraeWork/系统设置/沙箱
沙箱为智能体生成的命令提供受限的执行环境,确保智能体在安全隔离的环境中运行命令,防止未经授权的文件访问。
|
操作系统 |
模式 |
沙箱形态 |
描述 |
|---|---|---|---|
|
macOS |
|
|
|
|
Windows |
|
|
|
|
隔离的虚拟化运行环境。 |
仅能读写当前项目目录。 |
提示
自 0.1.20 版本起,TraeWork 桌面版在 macOS 上的 Work 模式采用与 Code 模式一致的沙箱策略。Windows 上的 Work 模式仍使用独立虚拟化运行环境。
|
权限类型 |
目录类型 |
权限范围 |
|---|---|---|
| 读写 | 当前会话的工作目录 | 仅当前项目或当前会话内创建、同步的文件与目录。 |
| 读写 | 沙箱容器内的临时与缓存目录 | 仅当前会话运行所需的临时文件及依赖缓存路径。 |
| 不可访问 | 宿主机的文件系统 | 无法访问用户本地设备或平台宿主机上的任何目录。 |
| 不可访问 | 其他会话的数据目录 | 无法访问其他会话的文件、缓存、磁盘及运行环境资源。 |
提示
在 macOS 系统中,TraeWork 桌面版的 Work、Code 和 Design 模式,以及 Windows 系统中的 Code 模式,在执行本地任务时,对文件的访问权限如下:
|
权限类型 |
目录类型 |
目录列表 |
|---|---|---|
| 只读 | 项目目录中的受保护目录 | .vscode |
|
根目录 |
|
|
| 读写 | 项目目录 | 除 .trae、.vscode 和 .git 之外的项目文件与目录 |
|
临时目录 |
|
|
|
缓存目录 |
macOS: |
|
|
通用工具依赖目录 |
|
|
|
常用语言的工具链及其依赖目录 |
Go、Java、Python、Node.js、Rust 和 C++ 等常用语言的工具链及其依赖目录。 |
基于 macOS 的 sandbox-exec 工具,TraeWork 会自动为你创建一个受限的命令执行环境。你无需进行任何额外配置。
基于自研的沙箱 SDK,TraeWork 会自动为你创建一个受限的命令执行环境。你无需进行任何额外配置。
在 TraeWork 中启用沙箱后,智能体将自动在沙箱中运行命令。为 TraeWork 启用沙箱的步骤如下:
在 Windows 系统中,TraeWork 桌面版的 Work 和 Design 模式为你提供了一个安全、隔离的虚拟化运行环境,具有以下特点:
沙箱默认启用,且无法关闭。项目内的文件写入会同步到本地项目目录,因此可在本地环境中查看;对项目目录之外路径的读写将写入沙箱隔离区,不会影响系统环境,也不会在本地环境中可见。
在 TraeWork 网页版的 Work、Code 与 Design 模式中,所有云端任务均运行于独立的安全沙箱容器内。每个云端会话拥有隔离的运行环境(包括磁盘、缓存等资源),以确保会话之间互不干扰。
在云端会话中,智能体执行命令时的文件访问权限默认遵循 “自动运行”(Auto-Run)模式的策略。
启用沙箱后,智能体的文件访问范围将被严格限制在当前会话对应的沙箱容器内,无法访问宿主机或其他会话的数据。这种隔离机制确保了各会话的工作目录、临时文件、缓存及运行环境彼此独立,从而提升整体安全性与稳定性。
文件访问权限如下:
|
权限类型 |
目录类型 |
权限范围 |
|---|---|---|
| 读写 | 当前会话的工作目录 | 仅当前项目或当前会话内创建、同步的文件与目录。 |
| 读写 | 沙箱容器内的临时与缓存目录 | 仅当前会话运行所需的临时文件及依赖缓存路径。 |
| 不可访问 | 宿主机的文件系统 | 无法访问用户本地设备或平台宿主机上的任何目录。 |
| 不可访问 | 其他会话的数据目录 | 无法访问其他会话的文件、缓存、磁盘及运行环境资源。 |
启用沙箱后,系统将根据命令是否在白名单内,决定其执行方式:
为了防范系统风险,当智能体生成 rm -rf 等高风险命令时,系统会拦截该操作并向你弹出提示。你可以选择: