2026-10-14 对抗结论
四份审查对着同一套代码。结论是:provider 先不要从 SDK 里搬走;OpenCode、Amp、Droid 保持 experimental。
Provider
主张一方:按产品规则,不用安装的只有 alicloud-express。容器版、CubeSandbox、E2B、OpenSandbox 应该出现在 awesome-providers,用 abx provider install 安装。Python get_provider 在查安装目录之前写死了这四个 id,installer.py 又把它们放进保留 id,所以现在装不进去。
反对一方:现在删掉这四个短路,Sandbox.create(provider=...) 当天就会失败。e2b 和 alicloud-container 会被保留 id 挡住。CLI 在 loadInstalled 之前就对非极速版抛 E8001,仓库里即使有插件,abx --provider 也用不上。awesome-providers 里的 Node 版 OpenSandbox 不是 SDK 里 engine/opensandbox.py 的替代:数据面、入口命令和镜像短名字都不一样。
因此这次只改目录站的说法:内置记 1 个。四个适配器标成「仍编在 SDK 里」。不从 wheel 里删除文件。
模板
攻击一方:OpenCode、Amp、Droid 三条验收门都没有过。本地 e2e 在 PATH 上没有这三个二进制时仍是退出码 0,模型调用是 SKIP。没有 docker build 记录。带密钥的运行没有核对约定输出。README 里把 sandbox.run 写成 E2B 上可用,而 E2B 的具名命令是 E8004。
辩护一方:这三份测试证明的是 server SDK 的 HTTP 契约:/health、/commands、缺 prompt 时 HTTP 400。experimental 是对的。official 会把 SKIP 说成已经支持这三家 CLI。
下一次验证,每个模板只做一件事:装上 Dockerfile 里写死的 npm 版本,设置对应密钥,再跑该目录的 e2e_test.py,并要求输出里出现约定标记。空密钥必须失败,不能再记成 SKIP 通过。
SWE-bench、OSWorld、Windows Agent Arena、Android World、手机沙箱继续留在 docs/backlog.md。下一批同形态的 CLI 才是 Gemini CLI。