跳到正文
FunCoding

搜索

搜索文档、智能体、博客、Skill 和 MCP

权限审批

TraeCode 的三种预设权限模式(手动审批、自动审批、完全访问)、默认资源访问权限、智能体如何申请权限、启用新权限系统,以及 global.json 自定义权限模式。

「权限审批」功能用于配置智能体执行操作时采用的安全策略,主要包括三个方面:命令是否在沙箱里隔离执行;是否启用危险命令拦截和文件保护等安全检查;需要审批时由用户、TraeCode 内置的 LLM Guardian,还是用户的自定义模型来决策。TraeCode 提供三种预设权限模式;需要更精细的控制时,可以配置自定义权限模式和全局生效的权限策略。

模式描述
手动审批沙箱开启,命令在隔离环境里执行;危险命令拦截和文件保护已启用,需审批的操作由用户逐一确认
自动审批沙箱开启,命令在隔离环境里执行;危险命令拦截和文件保护已启用,需审批的操作由 TraeCode 内置的 LLM Guardian 自动判断是否放行(开启后若你使用自定义模型,则由该自定义模型审批)
完全访问沙箱关闭,命令直接在宿主机执行;文件系统完全读写,所有安全检查已禁用,不会触发审批

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

系统内置的默认资源访问权限:在「手动审批」和「自动审批」模式下,TraeCode 为智能体应用默认的文件系统访问范围和网络访问策略。文件系统:只读的有项目目录里的受保护目录 .vscode,以及根目录 /(默认策略:所有未显式声明为可写的目录均为只读);读写的有项目目录(除 .trae、.vscode 和 .git 之外的项目文件与目录)、临时目录(macOS 的 /tmp、/var/folders、TMPDIR 路径;Windows 的 ~/AppData/Local/Temp 等;Linux 的 /tmp、TMPDIR 路径)、缓存目录(如 ~/Library/Caches、~/.cache、XDG_CACHE_HOME 路径)、通用工具依赖目录(macOS 和 Linux 的 ~/.local/lib、~/.local/bin、~/.local/share,通常用于 pip、uv/uvx、npm/pnpm、cmake 等工具的依赖;Windows 在 LOCALAPPDATA 路径内的常见工具依赖路径)和常用语言(Go、Java、Python、Node.js、Rust、C++ 等)的工具链及其依赖目录。网络访问:默认允许访问全部网络。

智能体如何申请权限:智能体执行的操作超出当前权限范围,或命中需要审批的安全规则时,TraeCode 按当前权限模式决定审批方式:手动审批模式下,智能体访问超出默认权限范围的文件路径、或执行的危险命令命中规则时,会在对话流里展示审批卡片,由用户确认是否继续;自动审批模式下,除危险命令外,原本需要用户审批的操作交给 LLM Guardian 自动判断是否放行;自定义权限模式下,可以细粒度配置哪些操作需要申请权限,例如关闭 MCP 工具的自动执行,并要求用户手动审批 MCP 工具调用。

使用流程:第一步,启用新权限系统(它让 TraeCode 对工具调用做细粒度审批控制,关闭后使用旧版自动运行设置):前往 设置 > Beta,在「新权限体系」部分打开「启用权限系统」开关。第二步,选择权限模式:在对话输入框左下方点权限模式选择图标选择,或前往 设置 > 权限审批,在 常规任务 > 权限模式 区域选择。自定义权限模式和全局配置:资源授权、规则和自定义权限模式通过 ~/.trae-cn/permission/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": []
    }
  }
}

要自定义:前往 设置 > 权限审批,在 常规任务 > 权限模式 区域点「自定义配置」右侧的「打开配置」,TraeCode 在编辑器里打开 global.json,写入自定义权限配置和全局配置;各字段的详细含义见官方的「自定义权限模式配置参考」和「自定义全局权限配置参考」。