沙箱添加 readWrite 路径无法生效

你的运行环境(版本号「点击帮助-关于-复制」):

3.3.53

问题描述(你遇到了什么问题?):

沙箱添加 readWrite 路径无法生效

复现步骤(如何才能重现这个 Bug/问题?):
1.
2.
3.

报错信息或截图(如有):

请在此处粘贴截图或日志代码

1 个赞

看了你的配置,路径写法是对的~ 但有个关键步骤别忘了:修改完 sandbox.json 后必须保存文件,然后重启 TRAE IDE 才能生效

另外注意下 Windows 路径的写法,建议用双反斜杠 \\ 或者正斜杠 /,你配置里的 C :/Workspace/ 多了个空格,改成 C:/Workspace/ 会更稳妥。

你先重启一下试试,看看权限问题能不能解决?

1 个赞

检查路径配置哈

1 个赞

对~重点检查这几点:

  1. 路径格式:Windows 下建议用正斜杠 / 或双反斜杠 \\,别在盘符后加空格
  2. 保存重启:改完 sandbox.json 一定要保存,然后重启 IDE
  3. 精确匹配:readWrite 路径要和实际使用的路径完全一致,多一级少一级都不行

你可以把配置贴出来,我帮你一起看对不对~

1 个赞

我也遇到这个问题,因为官方文档 沙箱 - 文档 - TRAE CN 中说明.git和.trae默认是只读的,而我想要写入内容,所以尝试在sandbox.json中加入这两个目录,但是不起作用。

我是在windows上远程linux,尝试过重启虚拟机、重启Trae、重启宿主机都没有用。

下图是我的sandbox.json配置和实际的目录

并且经过测试分析,沙箱起作用的配置似乎不是sandbox.json或者说是sandbox.json并没有将修改同步应用到实际的配置中,如下图:

我这里显示实际起作用的是/home/fjsi/.trae-cn-server/ai-agent/sandbox/69fbfc2cf68666b07d5845aa

1 个赞

我找到原因和解决办法了!结论:权限不足导致的配置同步失败。

DEBUG

沙箱的日志中看到报错:

sandbox upsert_config failed: System { message: "Sandbox ensure profile failed. profile=/home/fjsi/.trae-cn-server/ai-agent/sandbox/69fbfc2cf68666b07d5845aa: Permission denied (os error 13)" }

说明沙箱服务尝试更新 sandbox 配置(将 sandbox.json 中的 readWrite 映射/home/fjsi/.trae-cn-server/ai-agent/sandbox/69fbfc2cf68666b07d5845aa 配置的 mount 条目)时,当前用户沙箱进程没有权限修改配置文件。

问题过程还原

  1. Trae IDE 在客户端( ~/.trae-cn/sandbox.json )读取用户配置
  2. 客户端将配置发送到沙箱服务
  3. 沙箱服务尝试将配置写入 /home/fjsi/.trae-cn-server/ai-agent/sandbox/69fbfc2cf68666b07d5845aa
  4. 写入失败 - Permission denied (os error 13)
  5. 沙箱回退到使用旧的默认配置(不含项目目录的写权限)

解决办法

修改配置文件的所有者或权限 ,使沙箱服务能够写入:

sudo chown <current-user> /home/fjsi/.trae-cn-server/ai-agent/sandbox/69fbfc2cf68666b07d5845aa

例如我的命令是:

sudo chown fjsi /home/fjsi/.trae-cn-server/ai-agent/sandbox/69fbfc2cf68666b07d5845aa

你可能需要对应修改用户名和后面的文件名。

验证

现在已经能在配置文件中看到sandbox.json中的修改被追加到后面了,命令也能正常运行了:

cat /home/fjsi/.trae-cn-server/ai-agent/sandbox/69fbfc2cf68666b07d5845aa