TraeWork 沙箱
TraeWork 沙箱
沙箱为智能体生成的命令提供受限的执行环境,确保智能体在安全隔离的环境中运行命令,防止未经授权的文件访问。
TraeWork 桌面版
沙箱策略概览
| 操作系统 | 模式 | 沙箱形态 | 描述 |
|---|---|---|---|
| macOS | Code Work * Design |
本地:本机受限执行环境。 云端:独立的云端沙箱容器。 |
本地任务:项目目录可写;受保护目录和未显式声明为可写的目录只读。 云端任务:仅可访问当前云端会话内的工作目录、临时目录和缓存目录。 |
| Windows | * Code | 本地:本机受限执行环境。 云端:独立的云端沙箱容器。 |
本地任务:项目目录可写;受保护目录和未显式声明为可写的目录只读。 云端任务:仅可访问当前云端会话内的工作目录、临时目录和缓存目录。 |
| Work Design |
隔离的虚拟化运行环境。 | 仅能读写当前项目目录。 |
提示
自 0.1.20 版本起,TraeWork 桌面版在 macOS 上的 Work 模式采用与 Code 模式一致的沙箱策略。Windows 上的 Work 模式仍使用独立虚拟化运行环境。
(macOS) Work / Code / Design 模式 + (Windows) Code 模式
安全策略
-
云端任务 在 macOS 系统中,TraeWork 桌面版的 Work、Code 和 Design 模式,以及 Windows 系统中的 Code 模式,所有云端任务均运行于独立的安全沙箱容器内。每个云端会话拥有隔离的运行环境(包括磁盘、缓存等资源),以确保会话之间互不干扰。 在云端会话中,智能体执行命令时的文件访问权限默认遵循 “自动运行”(Auto-Run)模式的策略。 启用沙箱后,智能体的文件访问范围将被严格限制在当前会话对应的沙箱容器内,无法访问宿主机或其他会话的数据。这种隔离机制确保了各会话的工作目录、临时文件、缓存及运行环境彼此独立,从而提升整体安全性与稳定性。 文件访问权限如下: 权限类型 目录类型 权限范围 读写 当前会话的工作目录 仅当前项目或当前会话内创建、同步的文件与目录。 读写 沙箱容器内的临时与缓存目录 仅当前会话运行所需的临时文件及依赖缓存路径。 不可访问 宿主机的文件系统 无法访问用户本地设备或平台宿主机上的任何目录。 不可访问 其他会话的数据目录 无法访问其他会话的文件、缓存、磁盘及运行环境资源。 - 本地任务
提示
当前安全策略不涉及网络访问。
读写权限继承当前用户权限;当读写与只读权限冲突时,以只读权限为准。
在 macOS 系统中,TraeWork 桌面版的 Work、Code 和 Design 模式,以及 Windows 系统中的 Code 模式,在执行本地任务时,对文件的访问权限如下:
| 权限类型 | 目录类型 | 目录列表 |
|---|---|---|
| 只读 | 项目目录中的受保护目录 | .vscode |
| 根目录 | /(默认策略:所有未显式声明为可写的目录均为只读) |
|
| 读写 | 项目目录 | 除 .trae、.vscode 和 .git 之外的项目文件与目录 |
| 临时目录 | macOS:/tmp、/var/folders、TMPDIR 环境变量路径Windows: ~/AppData/Local/Temp、~/AppData/LocalLow/Temp |
|
| 缓存目录 | macOS:~/Library/Caches、~/.cache、XDG_CACHE_HOME 环境变量路径 |
|
| 通用工具依赖目录 | macOS:~/.local/lib、~/.local/bin、~/.local/share(通常用于 pip、uv/uvx、npm/pnpm、cmake 等工具的依赖目录)Windows: LOCALAPPDATA 环境变量路径内的常见工具依赖的路径(pip、uv/uvx、npm/pnpm 等) |
|
| 常用语言的工具链及其依赖目录 | Go、Java、Python、Node.js、Rust 和 C++ 等常用语言的工具链及其依赖目录。 |
配置沙箱的运行环境
macOS
基于 macOS 的 sandbox-exec 工具,TraeWork 会自动为你创建一个受限的命令执行环境。你无需进行任何额外配置。
Windows 基于自研的沙箱 SDK,TraeWork 会自动为你创建一个受限的命令执行环境。你无需进行任何额外配置。
在 TraeWork 中启用沙箱
在 TraeWork 中启用沙箱后,智能体将自动在沙箱中运行命令。为 TraeWork 启用沙箱的步骤如下:
- 在界面左下角,点击 头像 > 设置。 你将进入设置中心。
- 在左侧导航栏中,选择 对话流。 你将进入对话流设置面板。
- 在 自动运行 部分,将 命令运行方式 设置为 沙箱运行(支持白名单)。
- (可选) 在 白名单列表 处,按需将命令前缀加入白名单。 白名单中的命令将跳过沙箱,直接在沙箱外执行。

(Windows) Work / Design 模式
在 Windows 系统中,TraeWork 桌面版的 Work 和 Design 模式为你提供了一个安全、隔离的虚拟化运行环境,具有以下特点:
- 完全隔离:AI 生成的所有代码和命令都在沙箱内执行,与你的主机系统完全分离,确保主机安全。
- 开箱即用:沙箱镜像预装了完整的 Skills 工具链,你无需手动配置环境,即可立即使用。
- 安全共享:你的项目文件通过受控方式挂载到沙箱中,既方便了文件使用,又有效保障了数据安全。
沙箱默认启用,且无法关闭。项目内的文件写入会同步到本地项目目录,因此可在本地环境中查看;对项目目录之外路径的读写将写入沙箱隔离区,不会影响系统环境,也不会在本地环境中可见。
TraeWork 网页版
在 TraeWork 网页版的 Work、Code 与 Design 模式中,所有云端任务均运行于独立的安全沙箱容器内。每个云端会话拥有隔离的运行环境(包括磁盘、缓存等资源),以确保会话之间互不干扰。
在云端会话中,智能体执行命令时的文件访问权限默认遵循 “自动运行”(Auto-Run)模式的策略。
启用沙箱后,智能体的文件访问范围将被严格限制在当前会话对应的沙箱容器内,无法访问宿主机或其他会话的数据。这种隔离机制确保了各会话的工作目录、临时文件、缓存及运行环境彼此独立,从而提升整体安全性与稳定性。
文件访问权限如下:
| 权限类型 | 目录类型 | 权限范围 |
|---|---|---|
| 读写 | 当前会话的工作目录 | 仅当前项目或当前会话内创建、同步的文件与目录。 |
| 读写 | 沙箱容器内的临时与缓存目录 | 仅当前会话运行所需的临时文件及依赖缓存路径。 |
| 不可访问 | 宿主机的文件系统 | 无法访问用户本地设备或平台宿主机上的任何目录。 |
| 不可访问 | 其他会话的数据目录 | 无法访问其他会话的文件、缓存、磁盘及运行环境资源。 |
高风险命令的运行策略
普通命令
启用沙箱后,系统将根据命令是否在白名单内,决定其执行方式:
- 在白名单内:命令会自动在沙箱外运行。
- 不在白名单内:命令会自动在沙箱内运行。如果运行失败,系统会询问你是否需要在沙箱外重试。
高风险命令
为了防范系统风险,当智能体生成 rm -rf 等高风险命令时,系统会拦截该操作并向你弹出提示。你可以选择:
- 跳过:跳过该命令,不运行。
- 添加 {runningCommandList} 到白名单:将该命令的前缀添加到白名单,之后可在沙箱外运行相关命令。
- 运行:本次在沙箱内运行该命令。
