跳到主要内容

终端

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 正在执行的操作。

快捷命令

快捷命令系统让你可以预定义常用命令并一键执行:

创建快捷命令

  1. 在终端侧边栏点击「添加命令」
  2. 填写命令名称和执行命令
  3. 可选配置工作目录、Shell 类型、环境变量
  4. 开启「自动重启」后,命令意外退出时会自动重新运行

管理快捷命令

  • 运行 — 点击命令或使用快捷键启动
  • 停止 — 终止正在运行的命令进程
  • 编辑 — 修改命令配置
  • 删除 — 移除不需要的命令
  • 导入 — 批量导入命令配置

进程管理

系统通过 command-process-manager 管理命令进程的生命周期:

  • 查看所有正在运行的命令进程
  • 监控进程启动时间和重启次数
  • 支持优雅停止和强制终止

虚拟键盘

在移动端或触摸设备上,终端提供虚拟键盘(virtual-keyboard.tsx),方便输入 Tab、方向键、Ctrl 等特殊按键和快捷键组合。

快捷键

快捷键功能
Ctrl+C中断当前命令
Ctrl+L清屏
上下方向键浏览历史命令

终端会在 WebSocket 连接断开后自动重连,不影响正在运行的进程。