权限审批
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,写入自定义权限配置和全局配置;各字段的详细含义见官方的「自定义权限模式配置参考」和「自定义全局权限配置参考」。