终端
Agent Spaces 集成了完整的终端功能,基于 xterm.js(@xterm/xterm 6)和 node-pty 实现,提供接近原生终端的体验。
功能特性
- 真实 PTY — 由后端
node-pty创建真实伪终端,支持所有命令行工具、彩色输出与交互式程序(vim/htop 等) - 多终端实例 — 可以同时打开多个终端标签,每个终端独立 PTY 会话
- WebSocket 连接 — 终端通过 WebSocket 与后端通信,实时双向传输输入输出,断线自动重连
- 自适应尺寸 —
@xterm/addon-fit自动随面板尺寸调整行列数并同步到后端 PTY - 可点击链接 —
@xterm/addon-web-links让终端内的 URL 可直接点击打开 - 快捷命令 — 自定义常用命令,一键运行,支持自动重启
使用方式
终端在工作空间内运行,工作目录默认为工作空间绑定的代码目录。
你可以直接在终端中:
- 运行构建和测试命令
- 执行 Git 操作
- 安装依赖
- 启动开发服务器
- 执行任何命令行工具
Agent 执行任务时也会使用终端来运行命令,你可以实时看到 Agent 正在执行的操作。
快捷命令
快捷命令系统让你可以预定义常用命令并一键执行:
创建快捷命令
- 在终端侧边栏点击「添加命令」
- 填写命令名称和执行命令
- 可选配置工作目录、Shell 类型、环境变量
- 开启「自动重启」后,命令意外退出时会自动重新运行
管理快捷命令
- 运行 — 点击命令或使用快捷键启动
- 停止 — 终止正在运行的命令进程
- 编辑 — 修改命令配置
- 删除 — 移除不需要的命令
- 导入 — 批量导入命令配置
进程管理
系统通过 command-process-manager 管理命令进程的生命周期:
- 查看所有正在运行的命令进程
- 监控进程启动时间和重启次数
- 支持优雅停止和强制终止
虚拟键盘
在移动端或触摸设备上,终端提供虚拟键盘(virtual-keyboard.tsx),方便输入 Tab、方向键、Ctrl 等特殊按键和快捷键组合。
快捷键
| 快捷键 | 功能 |
|---|---|
Ctrl+C | 中断当前命令 |
Ctrl+L | 清屏 |
| 上下方向键 | 浏览历史命令 |
终端会在 WebSocket 连接断开后自动重连,不影响正在运行的进程。