AI 助手
TRAE 智能问答助手
你好,我是 TRAE 文档问答助手 🎉 你在阅读当前文档的过程中,无论对文档概念的解释,还是文档内容方面的疑问,都可以随时向我提问,我会全力为你解答
推荐问题
TRAE IDE 里最热门的 Skill 是哪些?
如何创建自定义智能体?
如何配置 Rules?
文档反馈

沙箱

沙箱为智能体生成的命令提供受限的执行环境,确保智能体在安全隔离的环境中运行命令,防止未经授权的文件访问。

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/foldersTMPDIR 环境变量路径
  • Windows:~/AppData/Local/Temp~/AppData/LocalLow/Temp

缓存目录

macOS:~/Library/Caches~/.cacheXDG_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 的 sandbox-exec 工具,TraeWork 会自动为你创建一个受限的命令执行环境。你无需进行任何额外配置。

基于自研的沙箱 SDK,TraeWork 会自动为你创建一个受限的命令执行环境。你无需进行任何额外配置。

在 TraeWork 中启用沙箱

在 TraeWork 中启用沙箱后,智能体将自动在沙箱中运行命令。为 TraeWork 启用沙箱的步骤如下:

  1. 在界面左下角,点击 头像 > 设置
    你将进入设置中心。
  2. 在左侧导航栏中,选择 对话流
    你将进入对话流设置面板。
  3. 自动运行 部分,将 命令运行方式 设置为 沙箱运行(支持白名单)
  4. (可选) 在 白名单列表 处,按需将命令前缀加入白名单。
    白名单中的命令将跳过沙箱,直接在沙箱外执行。

Image

(Windows) Work / Design 模式

在 Windows 系统中,TraeWork 桌面版的 Work 和 Design 模式为你提供了一个安全、隔离的虚拟化运行环境,具有以下特点:

  • 完全隔离:AI 生成的所有代码和命令都在沙箱内执行,与你的主机系统完全分离,确保主机安全。
  • 开箱即用:沙箱镜像预装了完整的 Skills 工具链,你无需手动配置环境,即可立即使用。
  • 安全共享:你的项目文件通过受控方式挂载到沙箱中,既方便了文件使用,又有效保障了数据安全。

沙箱默认启用,且无法关闭。项目内的文件写入会同步到本地项目目录,因此可在本地环境中查看;对项目目录之外路径的读写将写入沙箱隔离区,不会影响系统环境,也不会在本地环境中可见。

TraeWork 网页版

在 TraeWork 网页版的 Work、Code 与 Design 模式中,所有云端任务均运行于独立的安全沙箱容器内。每个云端会话拥有隔离的运行环境(包括磁盘、缓存等资源),以确保会话之间互不干扰。

在云端会话中,智能体执行命令时的文件访问权限默认遵循 “自动运行”(Auto-Run)模式的策略。

启用沙箱后,智能体的文件访问范围将被严格限制在当前会话对应的沙箱容器内,无法访问宿主机或其他会话的数据。这种隔离机制确保了各会话的工作目录、临时文件、缓存及运行环境彼此独立,从而提升整体安全性与稳定性。

文件访问权限如下:

权限类型

目录类型

权限范围

读写 当前会话的工作目录 仅当前项目或当前会话内创建、同步的文件与目录。
读写 沙箱容器内的临时与缓存目录 仅当前会话运行所需的临时文件及依赖缓存路径。
不可访问 宿主机的文件系统 无法访问用户本地设备或平台宿主机上的任何目录。
不可访问 其他会话的数据目录 无法访问其他会话的文件、缓存、磁盘及运行环境资源。

高风险命令的运行策略

普通命令

启用沙箱后,系统将根据命令是否在白名单内,决定其执行方式:

  • 在白名单内:命令会自动在沙箱外运行。
  • 不在白名单内:命令会自动在沙箱内运行。如果运行失败,系统会询问你是否需要在沙箱外重试。

高风险命令

为了防范系统风险,当智能体生成 rm -rf 等高风险命令时,系统会拦截该操作并向你弹出提示。你可以选择:

  • 跳过:跳过该命令,不运行。
  • 添加 {runningCommandList} 到白名单:将该命令的前缀添加到白名单,之后可在沙箱外运行相关命令。
  • 运行:本次在沙箱内运行该命令。

Image