终端连接

最近更新时间:2026-06-03 09:09:00

我的收藏

概述

终端连接用于在浏览器中进入 Sandbox Instance 的交互式 Shell,适用于调试、查看日志或直接操作沙箱内文件系统等场景。
只有 Instance 状态为 RUNNING 时,控制台才会显示登录实例入口。mobileandroid-worldosworld 类型的沙箱当前不支持终端连接。

相关对象

对象
说明
Sandbox Instance
终端附着的运行中实例。
终端页
控制台前端页面,携带地域和实例标识,用于建立终端连接。
实例访问令牌
默认鉴权模式下,终端页在建立连接前申请的短期访问令牌。
终端会话
终端页为当前实例创建的交互式 Shell 会话。

终端页 URL

点击登录实例后,控制台跳转到以下路由:
/sandbox/sandbox/terminal-connect?rid=<regionId>&sandboxId=<sandboxId>&instanceId=<instanceId>[&authMode=<authMode>]
参数说明:
参数
必填
说明
rid
地域 ID。缺失时页面无法建立终端连接。
sandboxId
Sandbox ID。控制台通常会携带该参数,用于从终端页返回对应的 Sandbox 详情页。缺失时不影响终端连接,但返回路径可能无法定位到原详情页。
instanceId
目标 Instance ID。缺失时页面无法建立终端连接。
authMode
鉴权模式。值为 NONE 时跳过令牌申请,直接建立连接。
示例:
/sandbox/sandbox/terminal-connect?rid=1&sandboxId=sb-7f3a2c&instanceId=asd-asd-sad-4f1b2d9a&authMode=NONE

连接流程

1. 在实例列表或详情页点击登录实例
2. 控制台确认 Instance 状态为 RUNNING,否则不显示登录入口。
3. 终端页读取 ridinstanceId 和可选的 sandboxIdauthMode
4. authMode=NONE 时跳过令牌申请,直接进入连接阶段;其他情况下先为当前实例申请访问令牌。
5. 连接建立后,页面进入已连接状态,持续显示终端输出。
访问令牌的有效期以服务端实际返回为准,控制台不对 token 有效时长做固定承诺。

终端会话行为

终端页会为当前实例创建一个交互式 Shell 会话,具体行为如下:
行为
说明
会话类型
带终端能力的交互式 Shell。
窗口自适应
创建会话时按当前终端窗口大小初始化。
输入输出
用户输入发送到当前会话,终端输出持续显示在页面中。
会话隔离
每次进入终端页都创建新的终端会话,不复用已有会话。

终端尺寸调整

终端页加载后会执行一次自适应排版,并在浏览器窗口尺寸变化时重新计算列数和行数,将最新尺寸同步到当前终端会话。
如果尺寸同步连续失败,页面会在终端区域提示异常,但不会销毁当前会话。

断开与重新进入

Shell 正常结束

用户执行 exit 或 Shell 以其他方式正常结束时,页面显示会话结束状态并自动返回 Sandbox 详情页。

连接异常结束

终端连接在建立后中断时,页面将状态切换为已断开;创建会话或建立连接时出现错误,页面直接显示连接失败。
当前页面不会自动重连,也不会恢复之前的终端会话。如需继续使用终端,应重新点击登录实例,由控制台创建新的会话。
用户点击返回或直接离开页面时,当前终端会话结束,页面随后清理连接资源。

使用限制

限制
说明
仅支持运行中实例
Instance 状态为 RUNNING 以外时,登录入口不可见。
部分沙箱类型不支持终端
mobileandroid-worldosworld 类型不显示登录入口。
ridinstanceId 缺一不可
缺少任一参数时页面直接报错,无法建立连接。
鉴权模式影响前置步骤
authMode=NONE 跳过令牌申请;其他模式需先获取访问令牌。
不支持自动重连
连接中断后需重新进入终端页,无法恢复原会话。