爱意满满的作品展示区。
soleilune

[开源]或许是 WindTerm 精神的续作: SSH 客户端 OxideTerm 焕新为原生软件, Windows 空载内存仅 25 MB

  •  1
     
  •   soleilune · 17h 31m ago · 1353 views

    大家好,我是 OxideTerm 的作者。

    WindTerm 是很多人的心头好,极低的内存占用、原生级的流畅度,很少有替代品能完全复现。但它已经停更一年多了,积压的 Issue 长期也似乎无人修复,当然我也很希望作者能够再度更新。现在不少朋友一直在找下一个归宿,但市面上大多是 Electron/Tauri 的 WebView 应用,空载几百兆起步,很难找回那种轻快感。

    我自己一直很尊重 WindTerm 坚持原生、不妥协的产品理念,也在做一款开源 SSH 工具 OxideTerm。我的 1.x 是用 Tauri 写的,很快就撞到了 WebView 的天花板:

    • 空载吃内存:即使没打开任何会话,浏览器引擎、DOM 和 JS 运行时的固定开销就占着几百兆。
    • 前后端跨语言通信效率受限:终端内容要跨越 Rust 和前端 JS 之间的数据链路,大日志刷屏时压力可能不小。

    我发现局部优化解决不了架构问题。所以我做了一个决定:抛弃 WebView ,用纯 Rust 和 GPUI ( Zed 编辑器用的原生 GPU 渲染框架)完全重写了它。通过移除 WebView 、DOM 和 JavaScript 运行时,更换数据链路 ,我们省去了跨语言的序列化和 IPC 。macOS 空载从 320MB 降到了 80MB 出头,Windows 则从约 180MB 降到了 25MB 。 (自己的机器实测)

    内存对比

    最近刚好过了 1000 Star 门槛,历经大量 issue 反馈,算是有了一定完成度,所以发出来再和大家分享。

    OxideTerm 和 WindTerm 有什么共同点?

    • 原生高性能(无 WebView / 零 DOM 开销):我们都彻底避开了 WebView/Electron ,界面由 GPU 硬件直接渲染,不经过任何浏览器引擎层。这带来了实打实的性能与内存优势:目前 OxideTerm 在 Windows 下的空载内存仅约 25 MB( macOS 约 80MB )。
    • 免费 & 开源:项目完全开源 (GPL-3.0),目前没有任何订阅或专业版限制。

    OxideTerm 有什么不同?

    如果说 WindTerm 是上一代经典的代表,OxideTerm 则试图在原生性能的基础上,加入现代化的能力。

    另外我们的 UI 并没有完全复刻 WindTerm——这是有意为之,目的是提供更现代的信息架构和交互体验,而不是做一个外观上的克隆。

    • 平滑迁移:支持从其他 SSH 客户端导入已有连接配置,不用从头手动录入。
    • 原生 RDP / VNC 支持:除了基础的 SSH/SFTP ,内置了基于 Rust IronRDP 的原生桌面连接的部分能力。
    • Host Tools 工作区:我们在右侧面板集成了 Docker 、进程、tmux 、systemd 服务等图形化管理工具,通过复用当前的 SSH 连接通道实时抓取。目标是消除传统 SSH “开一堆终端敲命令”的割裂感,打造一个集成驾驶舱。
    • 现代化的 AI 助手 OxideSens:内置 AI ,支持带终端上下文的对话。可以帮你分析报错、生成修复命令,你可以选择自己的大模型提供商( BYOK )。
    • 终端核心换代:底层换成了 alacritty_terminal,并添加支持 Sixel/Kitty 图像协议,可以在终端里直接预览图片。

    Host Tools

    • 云同步:支持 WebDAV 、S3 兼容存储、OneDrive 、GitHub Gist 等后端同步配置。所有数据上传前在本地加密,没有任何中央服务器。

    云同步

    • 同款 Free Type Mode 自由输入模式:可以直接用鼠标点击命令行的任何位置移动光标,选中文本直接退格删除(不用在远程机器装任何脚本,纯端侧实现)。
    • 高速 SFTP 传输:我们对 russh-sftp 做了自维护的改造优化,上传下载速度相比社区版有了显著提升。
    • 独立 CLI 工具:不启动桌面应用也能完成环境诊断、连接管理、云同步和便携包导入导出,方便接入脚本与 CI 。

    会话管理

    代码与审计

    我知道对于 SSH 客户端,大家最关心的是安全

    • 连接配置和敏感凭据在本地加密存储,加密密钥由操作系统密钥链管理
    • 内存中的敏感数据使用后即时擦除( zeroize ),避免密钥残留
    • 无遥测上报、无后台数据收集:应用不会主动向外发送任何使用数据,你不告诉我们,我们就什么都不知道
    • 项目目前分为了 80 多个独立 crate ,代码完全开源。

    写在最后

    项目完全用爱发电。当时写这个项目的初衷很简单,受够了市面上的订阅制工具,就想给自己搓个顺手的。不知不觉坚持了 8 个月,又因为尝试剥离 WebView 完全重写了底层,从 Tauri 换成了 GPUI ,熬到了 2.0 。接下来不出意外的话还会继续维护下去。

    如果你也是一个原生体验的追求者,不太喜欢 Electron 和 Tauri 架构下 Webview 的内存占用,欢迎来试试看。觉得好用的话点个 Star ,如果有任何建议或遇到了使用问题,欢迎在帖子里回复,或者直接去 GitHub 提 issue ,我看到都会尽量回复——项目比起 WindTerm 这样历经大家打磨的璞玉,毕竟还算年轻。

    GitHub: https://github.com/AnalyseDeCircuit/oxideterm

    官网:https://oxideterm.app

    22 replies    2026-07-26 14:06:28 +08:00
    Mora1n
        1
    Mora1n  
       17h 26m ago
    哇噻帮顶! nyaterm 也不错
    Salute
        2
    Salute  
       17h 8m ago
    体验了一下,感觉很棒,star 了。这么大的项目,一个人能维护的过来吗
    soleilune
        3
    soleilune  
    OP
       15h 59m ago
    @Mora1n 谢谢! NyaTerm 也是很好的项目。我稍稍看了一眼,他目前是基于 Tauri 的,UX 更贴近 WindTerm 老用户的操作习惯,当然也有可能有很多优点我没有仔细挖掘;我们选择的方向是彻底去掉 WebView ,用 GPUI 原生渲染,也都算是各自继承了 WindTerm 精神的一部分吧,也希望他能做的越来越好。
    rainrdx
        4
    rainrdx  
       15h 21m ago via iPhone
    以前觉得没有好用的,现在终端怎么出来这么多!我的要求其实就是底层高效,前端跨平台原生,简单同步密码和 ssh key ,长期保持更新。先围观下这个…
    liuliuliuliu
        5
    liuliuliuliu  
    PRO
       14h 58m ago
    别的先不说,抛弃 WebView/Electron 的软件我就要支持一下
    SayHelloHi
        6
    SayHelloHi  
       14h 7m ago
    @soleilune

    macOS 版本能添加一个 brew 的安装方式么~ 😁
    soleilune
        7
    soleilune  
    OP
       14h 6m ago
    @SayHelloHi 有的,

    'brew install --cask AnalyseDeCircuit/tap/oxideterm'
    Salute
        8
    Salute  
       12h 49m ago
    RDP 可以做保存配置的功能吗(和 ssh 一样保存用户名 ip 端口等)
    soleilune
        9
    soleilune  
    OP
       12h 48m ago
    @Salute 还好吧,有 AI 辅助的话问题基本不大
    soleilune
        10
    soleilune  
    OP
       12h 47m ago
    @Salute 这个是我忘记做了,应该要作为一种资产能够保存下来的,我看看后面补上吧
    zhs227
        11
    zhs227  
       12h 2m ago
    用 vi 查看日志文件的时候,发现有一些形似文件名的地方会被高亮,找了一圈没有找到关闭的地方,能否做个配置。同样的文件用 less 等查看时也会自动高亮。
    fryrice
        12
    fryrice  
       6h 47m ago via iPhone
    非常棒,推荐给很多人用了
    xinyana
        13
    xinyana  
       5h 3m ago via Android
    神器,我梦想中的终端
    hvsy
        14
    hvsy  
       4h 43m ago
    为什么清屏这些操作没有快捷方式......
    xinyana
        15
    xinyana  
       4h 17m ago via Android
    密码可以在明文和**切换吗?经常需要查看密码
    kirbyzhu
        16
    kirbyzhu  
       3h 42m ago
    很奇怪 设置好 ssh 登录不上 不管是用密码还是密钥

    用其他 term 都没问题
    echoyangjx
        17
    echoyangjx  
       3h 40m ago
    看着不错
    kirbyzhu
        18
    kirbyzhu  
       3h 16m ago
    奇怪的问题 基本同样的配置另一台终端就都能正常登录。
    ysbreh
        19
    ysbreh  
       2h 54m ago
    多内置几个 light 配色,比如 vscode light 配色
    smilenceX
        20
    smilenceX  
       2h 9m ago
    下载简单看了一下,我想要的功能都有了。
    已 Star ,正在试用,感谢 OP
    soleilune
        21
    soleilune  
    OP
       4 mins ago
    @zhs227
    已实现配置。
    设置位置:设置 → 终端 → “将文件路径识别为链接”。
    关闭后:自动识别的文件路径不再高亮或响应点击;网页 URL 仍然可用;程序明确输出的 OSC 8 超链接仍然可用;默认保持开启,兼容现有行为。

    下次新版本就可以了
    soleilune
        22
    soleilune  
    OP
       4 mins ago
    @ysbreh 这个可以有
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2789 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: c2a72e2c · 49ms · UTC 06:10 · PVG 14:10 · LAX 23:10 · JFK 02:10
    ♥ Do have faith in what you're doing.