简介
OxideTerm 是一个面向远程服务器的原生工作区。连接服务器后,你可以围绕同一节点使用 SSH 终端、SFTP、端口转发、远程桌面、轻量编辑、主机监控、trzsz 传输和 OxideSens AI;本地 Shell 和串口会话也可以在同一界面中管理。
桌面应用使用 Rust + GPUI 构建。GPUI 直接在 GPU 表面绘制界面,终端状态、连接状态和各项工具都留在同一 Rust 进程中,不依赖浏览器、WebView、JavaScript 或前后端桥接。当前安装包通常约为 50–70 MB。
为什么选择 OxideTerm?
Section titled “为什么选择 OxideTerm?”| 需求 | OxideTerm 的实现 |
|---|---|
| 把远程工作集中到一个节点 | 终端、SFTP、端口转发、IDE、远程桌面、主机工具和 AI 共用同一工作区 |
| 保留本地命令行工作流 | zsh、bash、fish、PowerShell、WSL2 等本地 Shell 与远程会话并列 |
| 网络切换后尽量保住 TUI | 优雅期重连先探测旧连接,再决定是否重建 SSH 连接和恢复消费者 |
| 避免重复 SSH 握手 | 终端、SFTP、端口转发和 IDE 通过节点路由共享连接 |
| 使用原生桌面渲染 | GPUI 直接绘制界面与终端,不需要 DOM、CSS 或浏览器运行时 |
| 自动化配置与诊断 | oxideterm 提供可独立运行的无头管理命令,不要求先启动桌面应用 |
OxideTerm 的界面、终端和领域服务运行在同一个 Rust 进程中:
┌─────────────────────────────────────┐│ GPUI 渲染循环 ││ 工作区 · 标签页 · 面板 · 原生控件 │└──────────────────┬──────────────────┘ │ 进程内状态与异步任务┌──────────────────▼──────────────────┐│ Rust 领域 crate ││ NodeRouter · SSH · TerminalState ││ SFTP · Forwarding · IDE · AI │└─────────────────────────────────────┘SSH 或本地 PTY 的字节直接更新 Rust 中的 TerminalState,GPUI 再读取状态并绘制到 GPU 表面。连接、SFTP、转发、IDE、AI 和设置操作通过进程内函数调用协作,不需要序列化为本地网络消息。
| 层级 | 技术 | 说明 |
|---|---|---|
| 桌面界面 | GPUI | GPU 加速的纯 Rust 原生界面 |
| 异步运行时 | Tokio + DashMap | 后台任务与并发连接状态 |
| SSH | russh + ring | 纯 Rust SSH,支持 SSH Agent、证书和 ProxyJump |
| 终端 | alacritty_terminal | Rust 终端模拟、滚动缓冲、选择、搜索和图形协议 |
| 本地 PTY | portable-pty | macOS/Linux PTY 与 Windows ConPTY |
| 编辑器 | 原生 GPUI 编辑器 + tree-sitter | 语法高亮、折叠、搜索与远程文件编辑 |
| 插件 | wasmtime + 类型化 Rust Host API | WASM 沙箱与声明式原生界面 |
| CLI | oxideterm | 直接调用领域 crate 的无头管理工具 |
| 分类 | 功能 |
|---|---|
| 终端 | 本地 PTY、SSH、Telnet、串口、分屏、广播、录制/回放、Sixel/Kitty 图形 |
| SSH 与认证 | 连接池、ProxyJump、优雅期重连、Agent Forwarding、密码/密钥/证书/SSH Agent、主机密钥 TOFU |
| SFTP | 双面板浏览、预览、传输队列、书签、并发与限速控制 |
| IDE | 原生编辑器、远程文件树、多标签、脏状态、冲突处理和可选远程 Agent |
| 端口转发 | 本地、远程和动态 SOCKS5 转发,支持保存规则与重连恢复 |
| 远程桌面 | RDP 和 VNC 标签页,支持键鼠、剪贴板和视口适配 |
| AI | BYOK 的 OxideSens,支持工作区上下文、MCP、RAG 和需批准的操作 |
| CLI | 设置、连接、转发、备份、云同步、诊断和支持报告等无头管理能力 |
平台与运行要求
Section titled “平台与运行要求”OxideTerm 发布 macOS、Windows 和 Linux 的 x64 与 ARM64 构建。桌面环境需要具备可用的 GPU 图形能力;应用不需要安装 WebView 运行时。
本地优先边界
Section titled “本地优先边界”- SSH、SFTP、端口转发、本地 Shell、连接配置和设置不要求 OxideTerm 账号。
- 密码、私钥口令和 API 密钥由系统钥匙串保存。
- OxideSens 采用 BYOK 模式;只有在你主动请求并选择相关上下文时,内容才会发送给已配置的服务商。
- CLI 与桌面应用读取相同的数据模型,但管理命令可独立运行。