“权限审批” 功能用于配置智能体执行常规任务和自动化任务时采用的安全策略,主要包括三个方面:命令是否在沙箱中隔离执行、是否启用危险命令拦截和文件保护等安全检查,以及需要审批时是由用户、TraeWork 内置的 LLM Guardian、还是用户的自定义模型来决策。TraeWork 提供手动审批、自动审批和完全访问三种预设权限模式;如需更精细的控制,也可以通过配置自定义权限模式和全局生效的权限策略。

了解权限模式

适用范围

“权限与审批” 功能仅作用于 TraeWork 中的本地任务。云端任务皆运行于隔离的云端环境,无需配置权限模式。

TraeWork 提供的权限模式

TraeWork 提供手动审批、自动审批、完全访问三种预设权限模式:

模式

描述

手动审批

沙箱开启,命令在隔离环境中执行;危险命令拦截和文件保护已启用,需审批的操作由用户逐一确认。

自动审批

沙箱开启,命令在隔离环境中执行;危险命令拦截和文件保护已启用,需审批的操作由 TraeWork 内置的 LLM Guardian 自动判断是否放行。

提示:开启 “自动审批” 模式后,若你使用自定义模型,则会由该自定义模型进行审批。

完全访问

沙箱关闭,命令直接在宿主机执行;文件系统完全读写,所有安全检查已禁用,不会触发审批。

除预设权限模式外,你还可以使用自定义权限模式。自定义配置通过 global.json 文件管理,可用于调整沙箱策略、审批决策方、风险场景规则、以及文件系统和网络访问策略。

系统内置的默认资源访问权限

在 “手动审批” 和 “自动审批” 模式下,TraeWork 会为智能体应用默认的文件系统访问范围和网络访问策略。

  • 文件系统访问权限
    TraeWork 默认允许智能体访问以下目录,并按目录类型授予只读或读写权限。

权限类型

目录类型

目录列表

只读

项目目录中的受保护目录

.vscode

^^

根目录

/(默认策略:所有未显式声明为可写的目录均为只读)

读写

项目目录

除 .trae、.vscode 和 .git 之外的项目文件与目录

^^

临时目录

  • macOS:/tmp、/var/folders、TMPDIR 环境变量路径

  • Windows:~/AppData/Local/Temp、~/AppData/LocalLow/Temp

  • Linux:/tmp、TMPDIR 环境变量路径

^^

缓存目录

  • macOS:~/Library/Caches、~/.cache、XDG_CACHE_HOME 环境变量路径

  • Linux:~/.cache、XDG_CACHE_HOME 环境变量路径

^^

通用工具依赖目录

  • macOS & Linux:~/.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++ 等常用语言的工具链及其依赖目录。

  • 网络访问权限:默认允许访问全部网络。

智能体如何申请权限

当智能体执行的操作超出当前权限范围,或命中需要审批的安全规则时,TraeWork 会根据当前权限模式决定审批方式。

  • 手动审批
    在 “手动审批” 模式下,如果智能体访问超出默认权限范围的文件路径,或执行的危险命令命中了规则,智能体会在对话流中展示审批卡片,由用户确认是否允许继续执行。

Image

Image

Image

  • 自动审批
    在 “自动审批” 模式下,除危险命令外,原本需要用户审批的操作会交由 LLM Guardian 自动判断是否放行。
    Image
  • 自定义
    在自定义权限模式下,你可以细粒度配置哪些操作需要申请权限。例如,你可以关闭 MCP 工具的自动执行,并要求用户手动审批 MCP 工具调用。

选择权限模式

  • 方式一:在对话书输入框中设置
    在对话框中,你仅可以为常规任务设置权限模式。
    1. 在对话输入框左下方,点击权限模式选择图标。
    2. 从列表中选择所需的权限模式。
      Image
  • 方式二:在设置中心设置
    在设置中心,你可以分别为常规任务和自动化任务设置权限模式。
    1. 前往 设置 > 权限审批。
    2. 为常规任务和自动化任务分别设置全权限模式。
      Image

自定义权限模式和全局配置

资源授权、规则和自定义权限模式配置通过 ~/.trae-cn/permission/work/global.json 文件管理。

提示

如果使用 Remote SSH 或 WSL 连接到远端设备,需要单独为该设备配置自定义配置,无法复用本机的自定义配置。

该配置文件的结构如下:

{
  "customProfiles": {
    "defaultCustomProfile": {
      "displayName": "",
      "shellSandbox": {
        "enable": true,
        "onRestrict": "request_permission_retry_sandbox"
      },
      "approval": {
        "reviewer": "user",
        "sceneRules": {
          "commandAstDangerChecker": true,
          "shellFileProtection": false,
          "deleteToolApproval": false,
          "mcpToolApproval": false
        },
        "commandRules": {},
        "mcpRules": {}
      },
      "filesystem": {
        "default": "read_only"
      },
      "network": {
        "default": "allow"
      }
    }
  },
  "resourceAuthorization": {
    "filesystem": {
      "readWrite": [],
      "readOnly": []
    },
    "network": {
      "allow": [],
      "deny": []
    }
  }
}

你可以分别为常规任务和自动化任务自定义权限模式和全局权限配置,步骤如下:

  1. 前往 设置 > 权限审批。
  2. 在 常规任务 或 自动化任务 区域,点击 自定义配置 右侧的 打开配置 按钮。
    Image
    TraeWork 将打开 global.json 文件所在的本地目录,并选中该文件。
  3. 在 global.json 文件中,写入自定义权限配置和全局配置。详情参考自定义权限模式配置参考和自定义全局权限配置参考。