跳转到内容

终端

OxideTerm 的终端由 xterm.js 6 提供支持,配合 WebGL 加速渲染,即使在高负载终端工作流下也能保持流畅的 60fps+ 输出。

三级渲染调度器根据活动自动调整帧率:

级别触发条件帧率效果
加速帧数据 ≥ 4 KB120 Hz+(ProMotion 原生)消除大输出时的滚动延迟(cat largefile.log
正常标准输入60 Hz(requestAnimationFrame)平滑基线
空闲3 秒无 I/O / 标签隐藏1–15 Hz(指数退避)接近零 GPU 负载,省电

切换完全自动——由数据量、用户输入和 Page Visibility API 驱动。后台标签页通过空闲计时器继续刷新数据,无需唤醒 requestAnimationFrame。

终端 I/O 完全绕过 Tauri IPC,使用直接 WebSocket 连接和二进制 Type-Length-Payload 协议:

+--------+--------+--------+--------+--------+-- ... --+
| Type | Length (4 bytes, big-endian) | Payload |
| (1B) | | |
+--------+--------+--------+--------+--------+-- ... --+
Type名称载荷方向
0x00Data原始终端字节双向
0x01Resizecols: u16 BE, rows: u16 BE客户端 → 服务端
0x02Heartbeatseq: u32 BE双向
0x03ErrorUTF-8 错误消息服务端 → 客户端

最大载荷 16 MB。服务端每 30 秒发送心跳;客户端 90 秒内未响应则关闭连接。

  • 打开多个终端标签页,每个连接到不同或相同的 SSH 会话
  • 支持水平垂直分屏,实现并排查看
  • 每个面板维护独立的 shell 通道
  • 拖拽标签页重新排列或拆分为新面板

同时向多个终端面板发送相同的按键——适用于管理集群或在多个会话中执行相同命令。

从工具栏切换广播模式。被选中的面板实时接收相同的输入。可以选择性地将特定面板包含或排除在广播组之外。

搜索终端缓冲区内容,支持两种模式:

搜索终端视口和 xterm.js 回滚缓冲区中当前可见的内容。快速,无需后端往返。

搜索后端回滚缓冲区,可容纳比前端多得多的历史记录。结果在终端中高亮并可导航。

两种模式均支持:

  • 区分大小写 / 不区分大小写模式
  • 正则表达式支持
  • 结果高亮并支持上一个/下一个导航

使用 Ctrl+F(macOS 上为 ⌘F)打开搜索栏。

录制终端会话以 asciicast v2 格式保存,供后续回顾:

  • 捕获所有终端输出并精确记录时间戳
  • 支持变速回放(0.5×–8×)
  • 导出录制文件以分享或归档
  • 兼容 asciinema 生态

⌘K(macOS)或 Ctrl+K(Windows/Linux)打开 命令面板——快速访问 OxideTerm 中的任何操作,包括连接、设置、搜索和快捷键。

进入禅模式可最小化干扰——隐藏侧边栏、标签栏和状态栏,让终端占据全部屏幕空间。

为终端自定义每个标签页的背景图片:

  • 13 种支持的标签类型
  • 可调整透明度模糊度
  • 多种适配模式(覆盖、包含、拉伸)
  • 会话树 — 以层级结构组织连接,支持文件夹和分组
  • 快速连接 — 直接输入主机/用户名/端口进行连接
  • 导入/导出.oxide 加密格式(ChaCha20-Poly1305 + Argon2id)
  • SSH Config 导入 — 自动解析 ~/.ssh/config 导入现有连接
  • 跳板机 / ProxyJump — 无限跳数,网络拓扑图 + Dijkstra 寻路
  • 认证方式 — 密码、SSH 密钥(RSA/Ed25519/ECDSA)、SSH Agent(跨 macOS、Linux、Windows 系统 Agent 支持)、证书、键盘交互 2FA
  • Known Hosts TOFU — 主机密钥验证,兼容 ~/.ssh/known_hosts;拒绝密钥变更(防止中间人攻击)
  • 连接池 — 终端、SFTP、转发、IDE 通过引用计数连接池共享一个 SSH 连接
  • 空闲超时 — 可配置(5m / 15m / 30m / 1h / 永不);无消费者的连接超时后自动断开
操作macOSWindows / Linux
新建连接⌘ NCtrl+N
本地终端⌘ TCtrl+T
命令面板⌘ KCtrl+K
终端搜索⌘ FCtrl+F
内联 AI⌘ ICtrl+Shift+I
快捷键列表⌘ /Ctrl+/
禅模式⌘ Shift+ZCtrl+Shift+Z

OxideTerm 还支持桌面平台的本地终端会话(PTY),基于 portable-pty。自动检测 Shell 类型:

  • macOS/Linuxzshbashfishpwsh
  • Windows:PowerShell 7、Git Bash、WSL2、CMD(原生 ConPTY——完整支持 TrueColor 和 ANSI,无传统 WinPTY)

对于活跃的 SSH 连接,OxideTerm 显示实时资源分析器:

  • 通过持久 SSH 通道读取 /proc/stat 获取 CPU内存使用率
  • 基于增量计算的精确 CPU 百分比
  • 在非 Linux 系统上自动降级为仅 RTT 指标
  • 智能端口检测 — 自动发现远程主机上的监听服务