伪终端管理

index.js - HTTP API文档

生成时间: 2026-01-30T10:19:52.754Z 源文件: index.js API端点数量: 8

根据提供的Node.js代码文件,我识别出以下HTTP API端点。这些端点都使用了Express.js(或类似框架)的app.all()方法定义,并共享相同的路由前缀/rtptyx/terminal/

API 文档

路由分组:终端管理

所有API端点都位于/rtptyx/terminal/路径下,用于管理伪终端(PTY)实例。

公共中间件

所有端点都应用了以下中间件:

  1. urlParser - URL解析器
  2. rtptyx_c.key_filter - 密钥验证中间件
  3. session_filter - 会话过滤器

密钥验证要求

所有请求都需要通过secret_key参数验证,密钥从请求数据中获取(通过str_filter.get_req_data(req))。

API端点表格

HTTP方法 路由路径 描述 请求参数 响应格式 状态码
ALL /rtptyx/terminal/create 创建新的终端实例 cols (可选): 终端列数,默认80
rows (可选): 终端行数,默认24
secret_key: 验证密钥
json { "ret": boolean, "msg": "string", "termId": "string" } 200
ALL /rtptyx/terminal/write 向指定终端写入数据 termId: 终端ID
data: 要写入的数据
secret_key: 验证密钥
json { "ret": boolean, "msg": "string" } 200
ALL /rtptyx/terminal/resize 调整终端大小 termId: 终端ID
cols: 新的列数
rows: 新的行数
secret_key: 验证密钥
json { "ret": boolean, "msg": "string" } 200
ALL /rtptyx/terminal/destroy 销毁终端实例 termId: 终端ID
secret_key: 验证密钥
json { "ret": boolean, "msg": "string" } 200

业务数据存储格式

终端实例存储

{
  "terminals": {
    "rtptyx-[随机ID]": {
      "pid": "number",
      "shell": "string",
      "cols": "number",
      "rows": "number",
      "cwd": "string",
      "env": "object"
    }
  }
}

终端事件数据格式(通过WebRTC发送)

{
  "channel": "rtterm",
  "notify_type": "terminalId",
  "data": "string | number",
  "err_flag": "boolean",
  "ended": "boolean",
  "code": "number (仅退出事件)"
}

配置格式(rtptyx_setting.json)

{
  "closed": "boolean",
  "secret_key": "string"
}

注意事项

  1. 所有端点都使用app.all(),因此支持所有HTTP方法(GET、POST、PUT、DELETE等)
  2. 请求参数通过str_filter.get_req_data(req)获取,具体获取方式取决于请求方法和内容类型
  3. 终端数据通过WebRTC通道实时发送给连接的客户端(req.peer
  4. 终端ID格式为:rtptyx- + 9位随机字符串(如:rtptyx-abc123def

元数据

{
  "sourceFile": "index.js",
  "generatedAt": "2026-01-30T10:19:52.754Z",
  "endpointCount": 8,
  "hasHttpApis": true
}

本文档由HTTP API文档生成Agent自动生成