sandbox 命令组用于创建和管理 AgentKit 沙箱工具,并在沙箱会话中执行命令、调用智能体、传输文件、打开 Web 预览或注入本地模型订阅凭据。sandbox create 与 sandbox config 对外支持的工具类型包括 All-in-one、Skill、CodeEnv、DevEnv、ArkClawEnv、HermesEnv 和 Private。
多数沙箱命令从
.agentkit/sandbox.yaml 或 AGENTKIT_SANDBOX_REGION 读取 AgentKit 控制面区域;sandbox dashboard 还支持用 --region 指定本地控制台会话的区域。TOS 挂载区域可通过 AGENTKIT_SANDBOX_TOS_REGION 指定;未设置时,CLI 会根据 TOS bucket 或当前云环境推断。-s, --session-id <id>, --sid <id> 指定用户会话 ID;--tool-id <id> 指定沙箱工具 ID;--tool-name <name> 按工具名称查找;--tool-type <type> 指定工具类型。若本地配置中已经保存 tool-id、tool-name、tool-type 或 session-id,相关命令会按各自参数表在未显式传参时读取配置默认值。
命令总览
sandbox build
在云端 Code Pipeline 中构建自定义沙箱镜像。构建完成后,CLI 会把tool-type 设置为 Private,并把生成的镜像地址写入 .agentkit/sandbox.yaml,便于后续 sandbox create 使用。
sandbox init
生成沙箱 Dockerfile 模板。未指定模板时,默认生成skill 模板。
sandbox config
配置沙箱命令的本地默认值。配置文件位于当前项目的.agentkit/sandbox.yaml,--list 会输出合并默认值后的 YAML,并自动隐藏模型 API Key 和 WebSearch API Key。
sandbox create
创建沙箱工具。创建完成后,CLI 会等待工具进入Ready 状态,并把工具 ID 与名称写入本地沙箱配置。
Private 工具时需要先准备镜像地址:
sandbox dashboard
启动本地 Web 控制台,用于查看和操作沙箱工具与会话。该命令会在本机监听一个端口,默认在交互终端中打开浏览器;在 CI 或传入--no-open 时只输出访问地址。
sandbox delete
删除沙箱工具或工具下的指定会话。传入会话 ID 时删除会话;不传会话 ID 时删除工具本身。删除工具时必须且只能用--tool-id 或 --tool-name 指定一个目标。
sandbox list
列出本地缓存的沙箱会话,或查看某个本地缓存会话。该命令读取本地会话缓存并输出 JSON,不会列出云端所有沙箱工具。sandbox mount
使用 TosBrowser 打开已挂载 TOS 的沙箱会话目录。该命令需要目标工具已配置 TOS 挂载,并且本地已通过agentkit login 保存可用于挂载授权的登录 profile。
sandbox exec
连接沙箱终端并执行命令。--command 可用于指定进入终端后执行的初始命令;未设置时打开终端连接。--mode tmux 会附加或创建与会话 ID 同名的 tmux 会话。
sandbox invoke
通过 A2A 调用沙箱中的智能体。默认工具类型为SkillEnv,输出 JSON。传入 --async 时,命令在创建任务后立即返回;传入 --task-id 时,命令轮询已有任务。
sandbox run
读取 YAML 文件并把其中的条目转换为agentkit sandbox exec 命令。默认文件名为 agentkit-sandbox-run.yaml。配置根节点可以是列表,也可以是包含 exec、execs、tabs 或 commands 的对象。
agentkit-sandbox-run.yaml
session_id、sid、tool_id、tool_type、command、mode、shell_id、git_config、model_name、model_api_key、model_provider、model_base_url、cwd、workdir、copy 和 copies。也可以使用 args 或 argv 直接提供 sandbox exec 的原始参数列表。
sandbox shell
在沙箱中执行非交互 shell 命令并输出 JSON 结果。该命令要求传入--command,适合自动化脚本;需要交互终端时使用 sandbox exec。
sandbox web
打开沙箱 Web 预览,并输出包含 URL、工具 ID、会话 ID 与会话是否新建的 JSON。sandbox codex-login
将本地 Codex 或 Claude 订阅凭据注入沙箱会话。model-login 与此命令等价。
sandbox model-login
model-login 与 codex-login 等价,用于将本地 Codex 或 Claude 订阅凭据注入沙箱会话。
sandbox scp
在本地与已有沙箱会话之间传输文件或目录。远端路径必须以sandbox: 开头;相对远端路径会解析到 /home/gem 下。该命令使用本地会话缓存,因此目标会话需要先通过 sandbox exec、sandbox shell、sandbox web、sandbox invoke 或登录命令创建。