Skip to content

本页列出 Docker Sandboxes 近期稳定版本中的变更。完整的发行历史(包括预发行版本 和下载)请参阅 GitHub 上的 Docker Sandboxes 发行版。

0.53.0 ​

2026-11-11

GitHub release

亮点 ​

Docker Sandboxes v0.53.0 新增了本地磁盘用量报告、Claude in Chrome 访问,以及 Kit 的自动回环端口发布。它还改进了宿主机网络变化后的恢复、沙箱启动、凭据处理, 以及脚本的命令输出。

NOTE

v0.52.0 已被跳过。这些发行说明涵盖自 v0.51.0 以来的变更。

破坏性变更 ​

Gemini 智能体退役 ​

内置的 gemini 智能体名称已被退役。现有的 Gemini 沙箱会继续运行,但无法使用 sbx move 迁移。

智能体参数 ​

sbx run <agent> -- <args> 在你传入提示词或子命令时会保留镜像的 entrypoint 参数,这与云端行为一致。如果 entrypoint 已经包含某个子命令,请从参数中省略该 子命令,避免运行两次。例如,使用 sbx run kiro -- "explain this project", 不必重复 chat。要运行其他子命令,请在运行中的沙箱里用 sbx exec 直接调用该 智能体。

凭据提供程序和设置 ​

  • 内置的密钥引用提供程序会在临时目录中运行宿主机工具,并忽略为空或相对的 PATH 条目。请把提供程序工具放在 PATH 中的绝对路径目录下,使用绝对配置路径, 并全局配置 asdf 或 mise 的版本,而不要依赖仅针对项目的选择。
  • 不再读取 DOCKER_SANDBOXES_USE_DHI。请使用 sbx settings set platform.images.useDHI true 来选择 Docker Hardened Image 模板。
  • 即使守护进程未在运行,sbx logout 也需要确认。在脚本中使用 --yes 或 -y。 sbx --cloud logout 会警告退出登录会影响整个账户,然后执行同样的退出登录。
  • sbx exec 和 sbx env exec 中已移除不受支持的 --detach 和 --privileged 标志。本地 exec 命令也会拒绝 --detach-keys,而不是忽略它。

HTTP 策略匹配 ​

HTTP 策略匹配对 URL 路径以及查询参数名和值中的 ASCII 字母采用不区分大小写的 处理。请检查那些依赖大小写来区分允许与拒绝请求的规则。

新增内容 ​

安全和凭据 ​

  • 沙箱重启会根据原始的静态挂载来源检查文件系统策略,并拒绝不一致的已保存挂载 元数据。如果某个挂载来源解析到了别处,请恢复原始的宿主机路径或重新创建沙箱。 对于不匹配的已保存元数据,请重新创建沙箱。删除沙箱前请先保存仍可访问的沙箱 文件。
  • 以参数列表形式表达的 Kit 安装钩子会按字面传递每个参数,不经 shell 解释。
  • Claude Code Remote Control 会把环境和会话凭据保留在宿主机上,并忽略远程提供的 环境变量和 MCP 配置。访问需要启用 claude.remoteControl 设置。
  • 诊断包会遮蔽账户名、home 目录下的安装路径,以及归档文件名中的用户名。经过 清理的错误还会遮蔽包含空格或 Unicode 字符的路径,可读性较高的检查输出则会 移除终端控制字符。
  • sbx rm、sbx prune 和 sbx env rm 会避免删除在移除确认之后接管了同名的 另一个沙箱。

Kit、智能体和技能 ​

  • 启用 claude.chrome 后,沙箱中的 Claude Code 就可以使用你已保存的 Claude 订阅 OAuth 登录来使用 Claude in Chrome。请安装宿主机上的浏览器扩展,使用 同一个账户登录,并用 --chrome 启动 Claude Code。仅使用 API 密钥认证是不够的。 关闭该设置后会阻止后续连接;请结束已有的浏览器会话以撤销当前访问权限。
  • 被授予 ports.publish 且 approval: none 的 Kit 可以请求自动分配的回环宿主机 端口,无需提示确认。这些绑定会在沙箱停止时消失。固定宿主机端口仍然需要审批。
  • 未使用的 source Kit 构建镜像在七天后可以清理。被现有沙箱、已保存模板或进行中 的操作引用的镜像会被保留。被回收的构建在以后使用时可能需要恢复或重新构建。
  • 从 Docker Console 启动的 Kit 会获得已配置的、由代理管理的 API 密钥变量, 包括 Hermes 等智能体使用的 Anthropic 和 OpenAI 变量。
  • Codex 会使用 --model 选择的本地模型,而不会回退到 OpenAI。用 tini 包装的 智能体启动器能正确处理位置参数中的提示词和子命令。
  • 使用 --clone 时,Kit 安装钩子可以访问工作区中已克隆的项目。V3 Kit 会获得 所请求的特权容器访问权限,因此 Kit 构建器可以在沙箱内启动 Docker。
  • Kit 检查和验证会对不受支持的静态文件路径发出警告。安装进度会标出缺少描述的 命令,sbx kit add 会说明某个已记录的挂载被拒绝或其宿主机路径缺失。
  • 技能导入预览按源目录对技能分组,仅在 --verbose 时显示缺失的智能体目录, 并避免给出错误的覆盖警告。

沙箱生命周期和工作区 ​

  • 当另一个同名目录占用了默认沙箱名称时,sbx run 会重新接入当前目录的沙箱。 创建时会拒绝那些仅大小写与现有本地名称不同的名称。
  • 环境文件使用最后一个匹配的端口、MCP 服务器名称或附加工作区目标,合并文件时 同样如此。替换会替换整个条目,因此你想保留的每个字段都要重复写上。无效的 宿主机 IP 绑定会在规划阶段之前被拒绝。
  • 当工作区根目录不是 Git 仓库时,沙箱会继承宿主机的全局 Git 身份配置。SSH 会话 使用沙箱用户的登录 shell。
  • 当 stdin 是 /dev/null 或已关闭的管道时,sbx run 会保留智能体的输出。 使用缓存镜像时,镜像拉取的重试会延续到智能体会话中。
  • 沙箱创建和恢复会重试临时的注册表故障,同时保留原有的镜像代理和 DHI 设置。 在 macOS 上,并发命令在读取缓存元数据时导致启动失败的可能性降低。
  • 除非沙箱的配置要求在沙箱内运行 Docker,否则当 Docker 是在沙箱内部手动安装的、 因而无法启动时,沙箱仍然可以重启。
  • 在引擎检查期间取消创建、运行或 Kit 添加会立即停止。Shell 环境恢复会终止卡住的 子进程,退出 TUI 会取消待启动的 shell,同时保留已打开的终端。
  • sbx cp 支持把目录复制到以 / 结尾的新路径,并在上传之前报告目标目录缺失。
  • 剪贴板图片粘贴会忽略大于 64 MiB 的图片,并向智能体返回空剪贴板。

网络和策略 ​

  • 默认情况下,停滞的出站连接会在约 30 秒后关闭,以便客户端在宿主机网络变化 (例如连接 VPN)之后重新连接。可以通过 egress.stalledConnectionTimeoutSeconds 调整超时时间,或将其设为 0 来禁用。修改该值后请重启守护进程,让已有沙箱生效。
  • 修复了在登录以及其他通过 TLS 检测型代理发起的请求中出现 EOF 错误的问题, 这类代理会拒绝提供 ML-DSA 证书签名的握手,包括部分 Zscaler、Palo Alto 和 F5 配置。
  • 已发布的回环端口在 WSL2 镜像网络下可以正常工作,恢复了对 clone 模式 Git 远端的 访问。
  • 取消发布自动分配的端口后,沙箱重启时该端口仍保持未发布状态。在列表和检查输出中 (包括 JSON 和 YAML),已发布端口的端点会用方括号括起 IPv6 宿主机地址。
  • 当令牌服务使用独立宿主机和私有 IP 地址时,Kit 拉取也能与 Artifactory、自托管 GitLab 等镜像仓库协同工作。配置了 GitHub 密钥后,GitHub 发行版资源的 HEAD 请求 不再因 401 而失败。
  • DNS 应答会为别名主机名包含 CNAME 记录,从而支持 Kerberos 等工具。HTTPS 代理 连接会保留目标名称末尾的点。
  • 在禁用 UDP 出站的情况下,每个沙箱网络中最先被拒绝的 20 个不同外部目标会各自 产生一条日志条目。后续目标共用一条 <further blocked attempts> 条目,并且仍被 拒绝。被拒绝的宿主机 UDP 流量会标记为 host.docker.internal。
  • 空的策略规则列表在结构化输出中返回空列表。拒绝 sbx policy reset 会返回错误, 策略初始化会拒绝显式为空的沙箱作用域。

身份验证、MCP 和模型 ​

  • 在收到速率限制导致的访问被拒响应后,Docker 登录会重试设备码轮询。在 Linux 上, 如果守护进程启动时密钥链尚不可用,它会提示执行 sbx daemon restart, 而不是反复请求登录。
  • 无法访问的 OAuth 回调会在 60 秒后超时。取消浏览器、剪贴板、MCP 元数据或镜像 拉取请求时,也会取消相关的辅助工作和凭据读取。
  • 环境文件可以为多个沙箱注册宿主机 MCP 命令,各自有独立的审批和撤销机制。损坏的 作用域注册不会再阻塞无关的 MCP 网关。
  • 当名称重复时,使用 sbx mcp inspect 或 sbx mcp rm --registration-only 加上 --sandbox 来选择某个沙箱所属的注册项。恢复操作会保留其他沙箱的注册项和已保存 的凭据。
  • MCP、模型提供程序和凭据相关的错误会给出纠正命令,涵盖不受支持的请求头、注册 冲突、缺少提供程序、移除失败以及模型服务器启动超时。
  • 确认输入结束时,密钥导入会取消。冲突的密钥来源标志、有歧义的静默密钥列表, 以及未提供 --command 就传入的 MCP 命令参数,都会被拒绝而不是被静默接受。

云端沙箱 ​

  • 沙箱迁移会在捕获或传输源沙箱之前,拒绝已被占用的显式目标名称。--name 用于 设置精确的目标名称。云端到本地的迁移会从源沙箱名称推导默认目标名称,即使是通过 ID 选中的也一样。
  • 使用 --to cloud 迁移一个已经在云端的沙箱时,会以说明性消息干净退出。恢复操作能 一致地识别正在运行的生命周期状态,容器创建失败的沙箱可以被删除,而不会一直卡住。
  • 云端登录失败会产生警告,并在适当时建议重新登录。即使有缓存的证书,无效的 SSH 证书有效期也会被拒绝。
  • 卷和模板移除失败时,JSON 和 YAML 中会包含失败记录。端口发布在结构化输出中会 包含上报的协议。
  • 云端密钥和策略命令会拒绝不受支持的仅限本地的标志和过滤器,而不是静默忽略它们。 特别地,云端密钥写入会拒绝 --ref 和 --command,而不是存储一个字面值。

CLI、模板和诊断 ​

  • sbx df 会报告本地镜像、容器和托管卷的磁盘用量以及预计可回收的空间。使用 --verbose 可查看单个资源。该估算值不等于仅运行 sbx prune 所能释放的空间。
  • sbx template ls --all --digests --no-trunc 会显示无标签和仅有摘要的本地镜像。 可以按仓库摘要或镜像 ID 移除它们。JSON 和 YAML 列表会保留完整的镜像 ID。
  • sbx inspect 已列入帮助信息和 shell 补全脚本。本地 JSON 和 YAML 检查结果包含 沙箱 ID 和创建时间。
  • 更新提示、确认预览和诊断指引会输出到 stderr,以免影响被重定向的结果。Kit 的 pull、sign 和 add 命令,以及本地的模板保存和加载命令,会把成功结果写入 stdout。
  • Shell 补全脚本覆盖了更多受支持的取值,包括拉取策略、超时动作、捕获模式、共享 技能模式和迁移目标。模板保存的补全会提示源沙箱,模板相关标志会省略匿名镜像 ID。
  • 策略检查和 MCP 授权接受 -v 作为 --verbose 的简写。MCP 列表接受 list 作为 ls 的别名,SSH 设置的移除命令接受 rm 作为 remove 的别名。
  • 更多命令会在执行工作之前拒绝无效参数和不受支持的选项。本地 exec 在宿主机某个 环境变量未设置时,会保留沙箱中的环境变量取值。需要确认的命令会说明 --no-input 如何阻止它们继续执行。
  • sbx diagnose --upload 即使在守护进程 API 无响应时也能捕获守护进程的 goroutine 堆栈,并保留更多崩溃信息和轮转后的日志。在 macOS 和 Linux 上,向 sandboxd 发送 SIGUSR1 即可保存 goroutine 堆栈而无需停止它。
  • Linux 安装包改为推荐 GNOME Keyring,而不再强制要求它。沙箱创建会说明 /dev/kvm 缺失或不可访问的原因。Windows 会处理被重定向的 AppData 路径,并在按用户进行 MSI 升级和卸载时停止守护进程,不会打开不可见的控制台。

0.51.0 ​

2026-11-03

GitHub release

亮点 ​

Docker Sandboxes v0.51.0 可以从已发布的 Kit 运行内置智能体,并新增了用于附加工作区 的自定义挂载目标、环境启动命令默认值,以及更多自动化控制项。它还加强了工作区复制 和凭据保护,并提升了网络、MCP 和沙箱启动的可靠性。

破坏性变更 ​

内置智能体和 shell 镜像 ​

内置智能体名称现在会解析到 docker.io/sbx/<name>:latest 处已发布的 Kit。这适用于 Claude、Codex、Cursor、Devin、Docker Agent、OpenCode、Kiro、Copilot 和 Droid。 sbx run sbx/<kit> 也接受已发布的 Kit,包括以内置智能体命名的 Kit。 kit.allowExtractedAgents 设置已移除。

  • 早期版本根据内置 Claude 或 Codex 规格创建的沙箱会继续运行,但必须先重新创建, 才能使用 sbx kit add、sbx run --model 或 sbx move。删除沙箱前请先保存文件和 未推送的提交。
  • shell 智能体现在使用已发布的 Debian 13 v3 Kit。首次使用需要能访问镜像仓库。要为 shell 沙箱提供提供商凭据,请添加 shell-credentials mixin。现有的 shell 沙箱会 继续运行。
  • V1 和 v2 Kit 不能与 v3 Kit 组合使用。将较早的 mixin 升级到 v3 之后,才能与新的 内置 Kit 组合。
  • docker/sandbox-templates 中 codex、cursor-agent、devin、docker-agent 和 opencode 的镜像(包括它们的 -docker 变体)不再发布。
  • docker/sandbox-templates:shell 和 :shell-docker 镜像不再更新。对于自定义工作 负载,请使用 docker.io/sbx/shell-image 和 docker.io/sbx/shell-docker-image。

剪贴板访问和自定义密钥 ​

  • 现在需要通过 clipboard.textCopy 设置显式启用,才能把本地沙箱中的文本复制到宿主机 剪贴板。支持 Codex 等原生客户端。
  • 没有目标主机的自定义密钥不再替换凭据。请通过添加显式的目标主机来修复现有映射, 同时保留其占位符和其他设置。

新增内容 ​

安全 ​

  • sbx cp 会阻止挂载目录中的符号链接逃逸到其他宿主机路径。在 Windows 上,它还会 阻止通过被替换的驱动器逃逸出工作区。
  • Unix 客户端在发送请求前会验证守护进程套接字属于同一账户。
  • sbx kit sign 在检查已签名文件内容时不再运行已配置的 Git 过滤器驱动。即使仓库 属性要求转换行尾,其恢复指引也会保留已提交的内容。
  • 在 Windows 上被 Sandboxes 替换的文件会保留其原有的访问控制列表。
  • 网络策略命令会拒绝为空的 --sandbox 取值,而不是把更改应用到全局。

Kit 和智能体 ​

  • sbx kit add 会在全 v3 沙箱中安装新增的镜像内容,同时保留文件系统改动。当基础 Kit 使用 v3 时,sbx run --model 会生成 v3 模型 Kit。
  • sbx kit inspect --resolved 会显示合并了 extends 父级后的 Kit。
  • Kit 安装日志保存在沙箱内的 /var/log/sbx-kits/<kit>/install-<n>.log。进度会显示 命令描述,调试模式会流式输出成功的安装输出和启动日志。启动命令失败时会产生带有 日志末尾内容的警告,而不会让 sbx run 失败。
  • Kit 在获得所需权限后,可以请求发布宿主机回环端口。每个请求都需要用户审批,并在 45 秒后过期。
  • 声明了 agent-context@2 指引的 Kit 可在本地和云端沙箱中使用,即使它们同时提供 agent-context@1。
  • 可选的 Kit 凭据缺失时不再阻止创建。守护进程重启后的 Kit 变更会保留已存储的 Bedrock 配置文件,Kit 变更失败后的恢复会保留对共享技能的访问权限。
  • Shell Kit 支持自定义模板,当 v3 Kit 的描述文件名为 spec.yaml 时也能正确加载。
  • 默认的 Kit 来源允许列表接受 Docker Hardened Images (DHI) Kit。
  • 当 GitHub 密钥以 --command 方式存储或以引用形式存储时,GitHub Copilot 身份验证 可以正常工作。

沙箱生命周期和工作区 ​

  • 使用 sbx create 和 sbx run 时,附加工作区接受 PATH:TARGET[:ro] 形式。环境 文件通过 additionalWorkspaces[].target 支持同样的自定义目标。
  • sbx run --workdir 会在工作区内的某个目录中启动智能体,重新接入已有沙箱时也是 如此。
  • 环境文件支持为 sbx env run 设置 entrypoint 和 cmd 默认值。命令行参数可以替换 默认命令。sandboxOptions 还接受 rootSize、dockerSize 和 clonedWorkspaceSize。
  • 交互式的 sbx env exec 会提示创建缺失的环境沙箱。交互式的 sbx env run 在环境 记录丢失时,可以在确认后接管一个匹配的现有沙箱。
  • 新建的本地沙箱支持 FUSE 文件系统,通过 sandbox.fuse 和环境选项 sandboxOptions.fuse 控制。
  • 沙箱内存上限可以设置到宿主机的总内存,超过 75% 时会给出警告。
  • 会遮蔽共享技能存储的工作区、clone、Kit 卷和挂载目标,会在创建或修改之前被拒绝。 启动时也会说明当共享技能目录被某个文件占用时如何恢复。
  • 对于从本版本开始创建的沙箱,sbx inspect 会显示创建它的 Sandboxes 版本。 sbx ls、sbx inspect 和 sbx prune --dry-run 的 JSON 包含已配置的宿主机绑定 挂载,包括工作区、Kit 和技能挂载。列表和 prune 输出还会标出缺失的挂载来源。 已有的工作区字段仍然可用。
  • sbx ls 会报告无法读取的沙箱状态,而不是静默地略过该沙箱。Clone 失败会包含 Git 的底层原因,例如所有权可疑。
  • 在启动或关闭过程中调整交互式终端的大小不再产生虚假错误。在 Windows 上,Ctrl+Z 不再终止输入转发,自动启动的守护进程在启动它的命令退出时也不太容易随之停止。

网络和策略 ​

  • 使用分流 DNS 的 Linux 宿主机(包括配置了企业域名服务器的 VPN),可以通过沙箱代理 访问内部 HTTPS 主机,并从中获取代理自动配置文件。
  • 代理在注入凭据时会复用上游连接,从而提升包安装等并行下载的效率。
  • 当宿主机网络停滞时,出站连接的突发流量不再导致守护进程崩溃。
  • 对于经过检查的 HTTPS 请求,上游连接失败时会返回标明主机和原因的 502 响应,而不是 空响应。
  • sbx policy check http 用于检查 HTTP 治理策略的行为。
  • 策略列表会保留并显示隐式的默认拒绝回退项,并将其与显式的拒绝规则区分开来。策略 设置能正确识别本地预设,Gordon 会保留 HTTP 规则限制。
  • 策略 TUI 在重置后会显示设置指引,对过期的规则发出警告,并在设置完成后恢复更新。 存储失败时会上报服务器错误,而不是错误地要求初始化策略。
  • sbx reset 会报告它将移除多少条用户添加和经审批授予的网络规则(使用 --force 时 也是如此),并指向随后的 sbx policy init。
  • sbx ports 接受 -p 作为 --publish 的简写,并在宿主机端口已被发布时标出目标 沙箱端口。

身份验证、MCP 和模型 ​

  • sbx secret set-custom --value-stdin 从标准输入读取密钥,避免密钥出现在命令参数中。
  • 守护进程的镜像拉取会使用 sbx login 会话和已存储的镜像仓库凭据。已发布的智能体 Kit 可以通过需要认证的镜像仓库代理获取。
  • 启用 mcp.useServerNamePrefixes 后,MCP 工具名称会加上其服务器名称作为前缀。
  • sbx create 和 sbx run 接受 --static-mcp none,以在不挂载服务器的情况下使用 静态 MCP 模式。
  • 受审批控制的 MCP 调用在审批通过后会继续执行,包括使用较新的 MCP 客户端时。以 -authorize 或 -revoke-auth 结尾的服务器工具重新可用。
  • MCP 服务器有更充裕的初始化时间,从而减少启动超时。Code 模式会话在退出时会取消 进行中的工具调用,并能更可靠地处理并行请求。
  • 当服务器拒绝动态客户端注册时,sbx mcp auth 和 sbx mcp add 会提示使用 --client-id。
  • 将 model.server.enabled 设为 false,然后运行 sbx daemon restart,即可禁用 内置模型服务器及其推理运行时的下载。

云端沙箱 ​

  • 在使用较早版本的沙箱仍在运行时,Kit 更新不再因 “Template has N running sandboxes” 而失败。
  • 构建 source Kit 时,上传阶段占用的临时磁盘空间更少。
  • 卷名称允许前后带有空白字符,但会拒绝仅含空白的取值。云端启动会拒绝仅限本地的 模型溢出标志,而不是静默忽略它们。
  • 端口列表在 JSON 和 YAML 输出中包含上报的协议。sbx move --ttl 接受不区分大小写 的时长单位。
  • 帮助信息和 shell 补全脚本会标明受支持的云端选项,并说明文件传输在符号链接和空目录 方面的限制。

CLI、设置和诊断 ​

  • --no-input 会阻止交互式提示(包括 Docker 登录),并报告继续所需的命令。
  • sbx run --no-progress 会抑制创建进度,同时保留命令结果。 sbx create --no-progress 在需要时仍会提示确认云端网络策略。
  • sbx --version 只打印客户端版本,不会启动守护进程。取消沙箱或环境创建会以状态码 130 退出,并给出清晰的消息。
  • 使用 sbx settings set telemetry.disabled true 持久禁用本地 CLI 和守护进程的遥测。 下一次 CLI 调用会采用该偏好设置;请运行 sbx daemon restart 使其对正在运行的 守护进程生效。
  • 兼容性错误和过期的引擎任务会把 sbx daemon restart 标识为恢复命令。守护进程 启动失败时只显示当前这次尝试的错误输出,并保留换行。
  • Windows 上的 SSH 配置同时适用于原生 OpenSSH 和 Git Bash OpenSSH。 sbx diagnose 会检测 Claude Desktop SSH 连接所需的 Windows shell 支持是否缺失, 并在状态目录使用 eCryptfs(可能导致镜像拉取 I/O 错误)时发出警告。
  • 命令帮助和空列表提示为密钥、MCP 服务器、技能、云端沙箱和模板恢复提供了更清晰的 后续步骤。

0.50.1 ​

2026-10-28

GitHub release

  • 修复了导致沙箱无法启动的问题

0.50.0 ​

2026-10-26

GitHub release

亮点 ​

Docker Sandboxes v0.50.0 新增了可配置的 Kit 宿主机挂载,在更新和重新创建沙箱后 保留持久化的 Kit 卷,并增加了云端沙箱检查。它还加强了宿主机执行、凭据和工作区复制 的保护。

新增内容 ​

安全 ​

  • 当工作区通过备用宿主机路径访问时(包括符号链接或目录联接、macOS 的 /private/tmp,或者工作区子目录的 Linux 绑定挂载),sbx cp 会拒绝逃逸出沙箱 工作区的符号链接。
  • 宿主机上的 Git 命令不再运行沙箱通过工作区仓库的 .git 目录配置的程序。
  • 浏览器、剪贴板和自我更新相关的辅助程序只从受信任的系统位置运行,防止 PATH 中沙箱可写的目录提供这些程序。
  • 只有当本地 source Kit 的摘要与已记录的本地构建一致时,才会被复用和组合。每个 本地 source Kit 在升级后会重新构建一次。
  • Git Kit 引用会拒绝有歧义的路径、非 ASCII 主机名和 SSH 传输语法。国际化主机名 请使用 IDNA ASCII 标签。HTTPS 来源限制会根据解析后的 URL 主机进行检查。
  • MCP OAuth 请求会阻止跨源的凭据重定向。被拒绝的静默刷新会保留已保存的凭据, 而不会打开浏览器。
  • 打开浏览器的日志会省略 URL 的查询字符串和片段,使这些部分中的 OAuth 参数和令牌 不会出现在守护进程日志和诊断包中。
  • Windows 客户端会验证守护进程的命名管道属于同一个 Windows 用户。在使用更新后的 CLI 之前,较旧的提权守护进程可能需要用上一个版本的 CLI 或任务管理器停止。
  • 环境 MCP 命令需要在宿主机上执行时经过审批,其作用域仅限于所属沙箱,并且可以通过 --skip-host-commands 禁用。审批提示会说明可执行文件路径是固定的,但文件内容 不是。请把可执行文件和脚本放在沙箱可写挂载之外。
  • 对话恢复时,Gordon 会清除 全部批准 和 始终允许 的授权,再次运行工具前需要 重新审批。

Kit ​

  • 创建沙箱时,使用 sbx create 或 sbx run 搭配 --mount HOST:SANDBOX_PATH, 为 Kit 声明的宿主机挂载选择宿主机目录。沙箱目标必须与解析后的 Kit 集合中某个 Kit 声明的 host-mount@1 能力的 path 完全一致。环境文件通过 mounts 支持同样的 绑定,把沙箱目标路径映射到宿主机目录。这些选项无法添加未声明的挂载目标。
  • 持久化的 Kit 卷在 Kit 更新以及同名沙箱删除并重新创建之后仍会保留数据。这适用于 用本版本创建的沙箱;已有的沙箱记录保持其原有的存储行为。
  • 从缺少 workload Kit 的 v3 Kit 集合创建沙箱时,会给出清晰的说明,而不再提示 “the kit set is not coherent”。

沙箱生命周期和工作区 ​

  • 对于使用 reftable 引用格式的仓库,宿主机的 Git 身份配置会被复制到沙箱中。
  • 使用 --clone 创建的沙箱会保留 Kit 提供的工作区文件,并报告 clone 初始化失败。
  • 即使停止 Git 也失败,取消 clone 远端配置仍会保留取消操作的错误信息。

身份验证和智能体 ​

  • 即使回调端口尚未发布,Kiro IDE 的 AWS IAM Identity Center 登录回调也能到达沙箱。
  • 使用订阅 OAuth 的 Claude 沙箱在创建时不会附带 API 密钥辅助程序。

网络和策略 ​

  • HTTP 网络规则支持查询参数限制。重复使用 --query name=value 可以要求多个参数。

云端沙箱 ​

  • sbx --cloud inspect <id|name> 会显示单个云端沙箱的详情,包括已发布端口的 URL。 编写脚本时请使用 --format json 或 --format yaml。
  • 在不带智能体的情况下运行 sbx --cloud run --name <name> 时,会提示正确的写法: sbx --cloud run <agent> --name <name>。

CLI 和诊断 ​

  • 当 sbx exec 无法运行命令时(例如沙箱不存在),会返回退出状态码 125。
  • 在 macOS 和 Windows 上,当 SSL_CERT_FILE 或 SSL_CERT_DIR 替换了系统信任库、 可能导致 HTTPS 证书验证失败时,sbx diagnose 和守护进程日志会发出警告。

实验性 Runtime 后端 ​

  • 工作负载拥有网络访问权限。
  • 当工作负载在就绪之前退出或失败时,启动过程会停止等待并清理。

更早的版本 ​

关于更早的版本,请参阅 GitHub 上的 Docker Sandboxes 发行版。