| 说明 | 以声明式方式从 sbxenv.yaml 文件管理沙箱 |
| 用法 | sbx env COMMAND |
实验性
此命令为实验性功能。
实验性功能仅用于测试和反馈,其功能或设计可能在不同版本之间无预警地发生变化,也可能在未来的版本中被完全移除。
描述
管理 sbxenv.yaml 文件中声明的沙箱。该文件用于选择智能体、 Kit、工作区挂载、环境变量、密钥和凭据绑定。
用 create 置备沙箱,用 run 启动或加入其智能体会话, 用 exec 运行命令,用 rm 移除沙箱及其置备的密钥。 用 plan 预览变更。变更需要审批;--force 可跳过提示。
生命周期命令、基于命令的密钥和由命令驱动的 MCP 服务器会以你的权限 在宿主机上执行。请把密钥 helper 及其依赖放在 可写沙箱挂载之外,并使用绝对 helper 路径。
MCP 命令审批在沙箱和守护进程重启后依然有效。使用 --skip-host-commands 可跳过生命周期命令,并禁用托管的宿主机 MCP 命令,直到之后不带该 flag 运行 "sbx env run"。如果 initialize 创建了 缺失的 MCP 可执行文件或改变了它的解析路径,注册或创建沙箱之前 需要再次审批。
与沙箱共享时,环境文件默认以只读方式挂载。只有当你信任该 智能体不会改变之后在宿主机上运行的内容时,才设置 sandboxOptions.writableEnvFiles。
使用 --cloud 时,用同一个文件管理云端沙箱。不支持宿主机工作区挂载、 宿主机端口绑定、MCP 定义、镜像仓库凭据,以及未做快照的 动态密钥源。请改为在沙箱内部克隆项目。
密钥和绑定在创建时置备;变更需要重建沙箱。移除会删除由此环境置备的密钥; 绑定会保留,除非传入 --prune-bindings。后续命令请使用相同的云端目标、 身份和有序文件列表。
文件语法和工作流参见: https://docs.docker.com/ai/sandboxes/configuration/environment-files/
子命令
| 命令 | 说明 |
|---|---|
sbx env create | 从 sbxenv.yaml 创建沙箱环境 |
sbx env exec | 在沙箱环境中执行命令 |
sbx env plan | 展示某个环境在沙箱之外会做哪些改动 |
sbx env rm | 删除沙箱环境及其作用域内的资源 |
sbx env run | 创建(如需要)沙箱环境并接入 |
全局选项
| 选项 | 默认值 | 说明 |
|---|---|---|
--cloud | 改为调用 Docker Cloud Sandboxes API,而不是本地 sandboxd(支持的动词正在逐步增加,运行 sbx --cloud --help 查看当前列表) | |
-D, --debug | 启用调试日志 | |
--no-input | 从不提示;需要应答的命令会直接失败,并给出应当运行的命令 |
参见
sbx— 管理 AI 编程智能体沙箱。sbx env create— 从 sbxenv.yaml 创建沙箱环境sbx env exec— 在沙箱环境中执行命令sbx env plan— 展示某个环境在沙箱之外会做哪些改动sbx env rm— 删除沙箱环境及其作用域内的资源sbx env run— 创建(如有必要)并接入沙箱环境