Skip to content
说明展示某个环境在沙箱之外会做哪些改动
用法sbx env plan [PATH...] [flags]

实验性

此命令为实验性功能。

实验性功能仅用于测试和反馈,其功能或设计可能在不同版本之间无预警地发生变化,也可能在未来的版本中被完全移除。

描述 ​

从 PATH(默认:当前目录)读取环境文件,并打印应用它时会设置的一切: 它运行的宿主机命令、它置备的凭据和绑定、它注册的 MCP 服务器、 它创建的目录、它发布的端口,以及沙箱本身和它运行时的变量。

该计划会与该环境上次在这台机器上应用的内容、在未曾应用之处获得批准的内容, 以及当前实际存在的内容进行对比,因此第二次运行时只会显示发生变化的部分。 不会应用、批准或记录任何内容:请改用 "sbx env create" 或 "sbx env run"。

每个 PATH 可以是目录(文件为 <PATH>/sbxenv.yaml),也可以是环境文件本身的路径。 传入多个 PATH 时会按顺序深度合并它们,与其他 "sbx env" 子命令一致。

目录形式的 PATH 选定 sbxenv.yaml;文件形式的 PATH 选定该文件。 不传 PATH 时,如果存在 ~/.sbxenv.yaml,则它提供共享默认值。 显式指定的 PATH 会跳过这些默认值。后面的文件会覆盖前面的值。 沙箱端口和生效协议都相同的端口、名称相同的 MCP 服务器,以及容器目标相同的 额外工作区,都以后出现的条目为准,同一文件内重复出现的条目也一样。 Kit 参数按来源合并。entrypoint 和 cmd 数组会替换之前的值;其他列表则拼接。

选项 ​

选项默认值说明
--clone覆盖 sbxenv.yaml 中的 workspace.clone(参见 'sbx create --clone')
--env-arg为环境文件声明的参数指定值,形式为 name=value(可重复)
--env-args-file包含 name=value 形式环境参数的文件,每行一个(可重复);--env-arg 会覆盖它
--kit-arg为 Kit 声明的参数指定值,name=value 表示所有 Kit,kit.name=value 表示某一个(可重复);会覆盖 sbxenv.yaml 中 kits: 条目固定的参数
--kit-args-file包含 name=value 形式 Kit 参数的文件,每行一个(可重复);--kit-arg 会覆盖它
--name沙箱名称,覆盖 sbxenv.yaml 中的 'name:' 以及推导出的 <agent>-<directory>(每个指向该环境的 'sbx env' 命令都需要使用相同的值)
--skip-host-commands预览方案时,排除该环境声明的宿主机生命周期命令和由命令驱动的 MCP 服务器

全局选项 ​

选项默认值说明
--cloud改为调用 Docker Cloud Sandboxes API,而不是本地 sandboxd(支持的动词正在逐步增加,运行 sbx --cloud --help 查看当前列表)
-D, --debug启用调试日志
--no-input从不提示;需要应答的命令会直接失败,并给出应当运行的命令

示例 ​

console
sbx env plan
sbx env plan ./project

参见 ​

  • sbx env — (实验性)通过 sbxenv.yaml 文件以声明方式管理沙箱