终端
终端会话使用独立的 /terminal 命名空间,一个连接同时只允许一个终端会话。
接口路径:/api/ws
命名空间:/terminal
认证:与主连接一致,Authorization 头携带 Bearer <token>
客户端 → 服务端
创建会话
事件名称:terminal:spawn
参数
类型
socket.emit('terminal:spawn', { cols: 80, rows: 24, cwd: '/arcadia' })
socket.on('terminal:output', (data: string) => {
// 追加到终端
})输入
事件名称:terminal:input,载荷为字符串。
调整尺寸
事件名称:terminal:resize
参数
类型
服务端 → 客户端
就绪
事件名称:terminal:ready,无载荷。会话创建成功后可开始输入。
输出
事件名称:terminal:output,载荷为字符串。
退出
事件名称:terminal:exit,载荷为进程退出码(number)。
错误
事件名称:terminal:error,载荷为错误信息字符串。
注意事项
- 每个连接只允许一个会话,重复
terminal:spawn会返回terminal:error; - 连接断开时服务端会自动结束并清理当前会话。

