PTY (Pseudo-Terminal) 资源提供 PTY 会话管理功能,包括创建、更新、删除和连接 PTY 会话。
- list - 列出所有活动的 PTY 会话
- create - 创建新的 PTY 会话
- get - 获取指定 PTY 会话的详细信息
- update - 更新 PTY 会话属性
- remove - 移除并终止 PTY 会话
- connect - 建立 WebSocket 连接
列出所有活动的 PTY 会话。
返回值:
List[Dict[str, Any]]- PTY 会话列表
示例:
sessions = client.pty.list()
for pty in sessions:
print(f"{pty['id']}: {pty['title']}")创建新的 PTY 会话。
参数:
command(Optional[str]) - 要执行的命令(可选)args(Optional[List[str]]) - 命令参数列表(可选)cwd(Optional[str]) - 工作目录(可选)title(Optional[str]) - PTY 会话标题(可选)env(Optional[Dict[str, str]]) - 环境变量字典(可选)
返回值:
Dict[str, Any]- 创建的 PTY 会话信息
示例:
# 创建默认 shell 会话
pty = client.pty.create()
# 创建自定义命令会话
pty = client.pty.create(
command="python",
args=["-m", "http.server"],
cwd="/path/to/project",
title="HTTP Server",
env={"PORT": "8000"}
)获取指定 PTY 会话的详细信息。
参数:
pty_id(str) - PTY 会话 ID
返回值:
Dict[str, Any]- PTY 会话信息
示例:
pty = client.pty.get("pty_123")
print(pty["title"])更新 PTY 会话属性。
参数:
pty_id(str) - PTY 会话 IDtitle(Optional[str]) - 新标题(可选)size(Optional[Dict[str, int]]) - 终端大小 {"rows": 24, "cols": 80}(可选)
返回值:
Dict[str, Any]- 更新后的 PTY 会话信息
示例:
# 更新标题
pty = client.pty.update("pty_123", title="新标题")
# 更新终端大小
pty = client.pty.update(
"pty_123",
size={"rows": 30, "cols": 120}
)移除并终止 PTY 会话。
参数:
pty_id(str) - PTY 会话 ID
返回值:
bool- 是否成功移除
示例:
success = client.pty.remove("pty_123")建立 WebSocket 连接以与 PTY 会话实时交互。
注意: 此方法返回连接状态,实际的 WebSocket 连接需要使用 WebSocket 客户端。
参数:
pty_id(str) - PTY 会话 ID
返回值:
bool- 是否可以连接
示例:
can_connect = client.pty.connect("pty_123")
if can_connect:
# 使用 WebSocket 客户端连接到 ws://host/pty/pty_123/connect
pass- 创建会话 - 使用
create()创建新的 PTY 会话 - 管理会话 - 使用
list(),get(),update(),remove()管理会话 - 实时交互 - 使用
connect()建立 WebSocket 连接进行实时交互
- Session 资源 - 会话管理
- Command 资源 - 命令管理