-
Notifications
You must be signed in to change notification settings - Fork 1
PTY Session zh
pawaca edited this page Aug 30, 2026
·
1 revision
未实现。上游提供持久化交互式终端会话;Edge 当前使用非交互式的 just-bash。
上游参考:PTY 会话
持久化 PTY 子系统通过 ctx.terminals(TerminalSessionService)管理交互式终端会话。核心能力:
-
持久化 shell 会话 — 跨工具调用存活的长生命周期终端,由
TerminalSessionId标识,Agent 独占所有权。 -
交互式 I/O — 独占 send 操作,等待原因检测(
stdin_read、inferred_idle、timeout、session_exit),SIGINT 传递,滚动缓冲区分页。 -
可替换后端 —
TerminalBackend接口;上游使用node-pty进行原生 PTY 创建。 -
输出流 — 有界视口增量、截断标志和 owner 可见快照。状态保持进程本地;模型输入通过
tool/call和tool/result事件持久化。
未实现 Edge 未安装 TerminalSessionService 或任何 TerminalBackend。命令执行使用 createEdgeBashTool(),基于 just-bash——一个运行在 Computer VFS 内的纯 JS shell。这是非交互式的:每条命令运行到完成、返回输出、退出。没有持久 shell 状态、没有滚动缓冲区、没有 SIGINT。
模型的系统提示词明确声明:"Shell 是 just-bash,不是 Linux:原生二进制文件和后台进程不可用。"
| 产品 | 能力 | Plan 要求 |
|---|---|---|
| Containers | 完整 Linux 环境,支持真实 bash、进程创建、TTY。Container 连接到 DO 后可作为 TerminalBackend——在容器内创建 PTY 会话,通过内部网络流式传输 I/O。 |
Workers Paid 或 Enterprise |
| Computer(当前) | Computer 的 WorkerShellBackend 已提供隔离的命令执行。如果 Computer 演进支持持久化 shell 会话或 PTY,可以作为更轻量的后端替代,无需完整的 Containers。 |
当前 plan 可用 |
| 组件 | 状态 | 备注 |
|---|---|---|
| TerminalSessionService | 缺失 | 未安装 |
| TerminalBackend | 缺失 | 无后端提供者 |
| 交互式 shell | 替代 | just-bash(非交互式,逐命令执行) |
**评估 Container 支撑的 PTY。**Cloudflare Containers 提供完整的 Linux 环境,可以运行
node-pty或直接创建 PTY。集成路径:Container 运行 PTY 进程,通过内部网络或 WebSocket 流式传输 I/O 到 DO,DO 桥接到浏览器。需要 Workers Paid plan。上游的TerminalBackend接口正是为这种可替换提供者设计的。
**评估 Computer 持久化 shell。**如果 Cloudflare 的 Computer 产品增加持久化 shell 会话支持(超越一次性命令执行),可以作为 Containers 的更轻量替代——在当前免费层可用,无需升级 plan。
- Home
- Architecture
- Core & Scope
- Session & Persistence
- Model & Context
-
Execution & Tools
- Tools
- Bash
- Subprocess 🚫
- PTY Session 🚫
- Background Jobs 🚫
- Filesystem
- LSP Navigation 🚫
- Code Runtime 🚫
-
Web Access
⚠️ -
Skills
⚠️ - Workflow 🚫
- Subagent 🚫
-
Policy & Interaction
- Goal
- Approval 🚫
- Permission Presets 🚫
-
Sandbox
⚠️ - Plan Mode 🚫
- User Interaction 🚫
- Commands 🚫
- Schedule 🚫
- Message Feedback 🚫
- Platform & Access
- Development
- 首页
- 架构
- 核心与作用域
- 会话与持久化
- 模型与上下文
- 执行与工具
- 策略与交互
- 平台与接入
- 开发