| 说明 | 展示某个环境在沙箱之外会做哪些改动 |
| 用法 | 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 文件以声明方式管理沙箱