跳转到内容

常见问题

OxideTerm 是一个基于 Tauri 2.0(Rust)和 React 19(TypeScript)构建的本地优先 SSH 工作区。它把 SSH 终端、本地 Shell、SFTP、IDE 模式、端口转发、trzsz 传输、BYOK AI 辅助、插件系统、主题和 11 种语言整合在一个原生应用里。

OxideTerm 采用 GPL-3.0(GNU 通用公共许可证 v3.0):

  • 所有人:可免费用于个人、教育、研究和商业用途。
  • 衍生作品:分发时必须继续使用 GPL-3.0。
  • 源代码:分发修改版本时必须提供源码。

OxideTerm 曾使用 PolyForm Noncommercial,后来转为 GPL-3.0,是为了避免 source-available 陷阱、非商用歧义和竞业禁止附加条款。

公开代码不自动等于开源。如果许可证在熟悉的开源名称之外又加上“禁止再分发”“禁止重新打包”“禁止竞争产品”或平台审批条款,那它更像 source-available 的包装,而不是开源自由。OxideTerm 不添加这些附加限制:GPL-3.0 就是完整许可证。

macOS(Apple Silicon 和 Intel)、Windows(x64 和 ARM64)、Linux(x64 和 ARM64)。

OxideTerm 和基于 Electron 的终端有什么区别?

Section titled “OxideTerm 和基于 Electron 的终端有什么区别?”

OxideTerm 使用 Tauri 2.0,利用系统原生 WebView 而不是捆绑 Chromium:

对比项ElectronTauri (OxideTerm)
二进制体积~150 MB25–40 MB
内存占用~300 MB~50 MB
安全模型ChromiumRust 内存安全 + 沙箱
SSH 实现Node.js 绑定(ssh2)纯 Rust(russh)

密码存储在操作系统原生钥匙串中(macOS 钥匙串、Windows 凭据管理器、Linux Secret Service),不会以明文形式存储在配置文件中。已保存连接的元数据也会在本地静态加密。

能从其他 SSH 客户端导入连接吗?

Section titled “能从其他 SSH 客户端导入连接吗?”

可以。OxideTerm 支持:

  • .oxide 加密格式导入。
  • SSH config 导入:解析 ~/.ssh/config 中的主机、跳板机、密钥路径和常见选项。
  • 通过连接向导手动创建连接。

支持。OxideTerm 支持多跳 ProxyJump 和拓扑图:

  • 在连接向导中配置跳板链。
  • ~/.ssh/config 自动解析 ProxyJump。
  • 可视化展示节点和连接关系。
  • 每一跳可使用不同认证方式。
  • 直连场景支持 keyboard-interactive / 2FA;ProxyJump 链路中的显式 keyboard-interactive 仍有限制。

支持密码、Ed25519/RSA/ECDSA 密钥、带口令密钥、SSH 证书、SSH Agent 和直连 keyboard-interactive。Agent Forwarding 可按连接开启。

OxideTerm 内置优雅期重连

  1. 检测断连后先探测旧连接。
  2. 如果旧 SSH TCP 流在短时间内恢复,vim、htop、yazi 等 TUI 程序可以继续保留。
  3. 如果恢复失败,则建立新 SSH 连接,并恢复端口转发、SFTP 和 IDE 相关消费者。

多个功能可以共享一个 SSH 连接吗?

Section titled “多个功能可以共享一个 SSH 连接吗?”

可以。终端、SFTP、端口转发和 IDE 模式共享同一个物理 SSH 连接,避免重复握手和重复认证。

可以。OxideSens 采用 BYOK(自带密钥) 模式,支持 OpenAI、Anthropic、Google、DeepSeek、Ollama 和 OpenAI 兼容端点。密钥存储在系统钥匙串。OxideTerm 的核心 SSH 工作区不需要应用订阅;AI provider 费用由你选择的 provider 决定。

AI 功能会把终端数据发送到云端吗?

Section titled “AI 功能会把终端数据发送到云端吗?”

只在你主动请求并让 OxideSens 使用相关上下文时才会发送给你配置的 AI provider。OxideTerm 不做遥测,也不会自动收集终端内容。需要完全离线 AI 时,可以使用 Ollama 本地模型。

OxideSens 不再把大量底层工具直接摊给模型,而是把保存连接、活动 SSH 会话、终端缓冲区、SFTP 路径、设置和知识库看成工作区目标。模型需要先明确目标,再执行连接、命令、文件或设置操作。

可以。SSH/SFTP/端口转发/本地 Shell 工作流不需要 OxideTerm 账号或订阅。访问远程网络目标、检查更新、可选 Cloud Sync 或云端 AI provider 时才需要网络。AI 可通过 Ollama 本地模型离线使用。

远程 Agent 是一个可选的小型 Rust 二进制,用于增强 IDE 模式,例如更快的文件树、符号搜索和文件监听。IDE 模式在没有 Agent 的情况下也可以工作。

oxt 是用于从命令行控制 OxideTerm 的伴侣工具,通过 Unix Socket(macOS/Linux)或 Named Pipe(Windows)使用 JSON-RPC 2.0 通信。

可以。OxideTerm 以 asciicast v2 格式录制终端会话,支持变速回放和导出。

开启广播模式后,相同按键会发送到选中的多个分屏面板,适合管理多台服务器或同时运行相同命令。

有。官方插件提供可选工作流,而不是强制账号体系:

  • Cloud Sync:通过 WebDAV、HTTP JSON、Dropbox、Git 或 S3 同步加密 .oxide 快照。
  • Telnet Client:面向旧路由器、交换机和设备的原生 Telnet 客户端。

插件是按需启用的。核心应用仍然是本地优先,不要求云账号。

插件存储在 ~/.oxideterm/plugins/{plugin-id}/。每个插件包含 plugin.json 清单和 ESM 入口文件。

是。插件运行在多层安全机制下:冻结 API surface、Proxy 权限 ACL、IPC 命令白名单、熔断器和 React 错误边界。

插件可以直接访问文件系统吗?

Section titled “插件可以直接访问文件系统吗?”

不能直接访问。插件通过 PluginContext API 中的 SFTP、storage 等命名空间访问允许的能力。

首次启动时 macOS Gatekeeper 可能会阻止应用。右键点击应用 → 打开,或前往 系统设置隐私与安全性允许

  • 检查网络稳定性。
  • OxideTerm 的优雅期重连会先尝试恢复旧连接。
  • 在连接配置中调整 keepalive。
  • 默认 SSH keepalive 间隔为 15 秒。
  • 确保系统启用了 WebGL。
  • 如果 WebGL 实际走软件渲染,OxideTerm 会在 auto 模式下回退 Canvas。
  • 检查 GPU 驱动是否正常。
  • 可尝试减小字体大小或切换渲染器。
平台路径
macOS~/Library/Application Support/com.oxideterm.app/
Windows%APPDATA%\com.oxideterm.app\
Linux~/.config/com.oxideterm.app/

数据存储在该目录中的本地 redb 嵌入式键值数据库中。

  1. 删除应用(拖入废纸篓 / 卸载 / 删除 AppImage)。
  2. 删除配置目录(见上方路径)。
  3. 删除钥匙串条目:在系统钥匙串管理器中搜索 com.oxideterm
  4. (可选)删除插件:删除 ~/.oxideterm/