用途:该技能面向为 Docker Sandboxes 设计、编写、校验和分发 kit 工件(kind: sandbox 与 kind: mixin)的场景,适用于从零编写新 kit、修改仓库内已有 kit、排查命令/文件/网络规则/凭据未生效、打包发布或从 OCI 与 git 源消费 kit,以及评审 kit PR。
主要能力:覆盖 v2 规范(schemaVersion: "2")的 spec.yaml 字段与各区块,包括 mixins、licenses、extends、locked、args,sandbox 的 image:/build: 与 entrypoint/command,agentInstructions,credentials[] 的 apiKey/oauth,permissions.network、ports、environment、setup 的 install/startup/files、volumes 与 files/ 目录。同时说明生命周期:Sourcing → load → normalize → validate → extends → compose → configure → hooks → container → runtime;解释 extends 继承与 --kit 组合的差异、各区块合并策略与冲突规则;提供最小 mixin 与完整 sandbox kit 的分步示例;并介绍用户侧 ~/.config/sbx/credentials.yaml 的凭据绑定契约。
使用方式:kit 是声明式的,由 spec.yaml 加可选 files/ 树组成,sbx 引擎在创建沙箱或 kit add 时将其转换为容器定制。分发支持本地目录、OCI digest、git commit-SHA 引用,遵循严格 pinning 规则,可使用 sbx kit push/pull/inspect/validate/delete 命令。测试方面提供 TCK 套件、deny-all 下的 e2e(本地必跑)与手动 sbx kit add 验证。
限制与注意:schemaVersion 为分叉解码,v2 是破坏性语法且无兼容层,v1 仍可加载但会输出弃用警告直至后续切换;install-completed 仅看退出码,setup.startup 每次容器启动都会运行,需保证幂等;kit add 无法应用不可变设置;setup.install 存在幂等与重复执行的坑。镜像发布需在 kit 根目录放置 Dockerfile 并命名为 docker.io/sbx/<kit>-image:latest,TCK 在发布前窗口无法拉取该镜像。官方文档见 https://docs.docker.com/ai/sandboxes/customize/kits/ 。