• 请不要在回答技术问题时复制粘贴 AI 生成的内容
CoderKang
V2EX  ›  程序员

NyaTerm:这样的终端用起来不烧心

  •  
  •   CoderKang · 3h 32m ago · 1079 views

    来分享一下自己一直在开发和维护的开源项目 NyaTerm。

    https://github.com/nyakang/nyaterm

    4685b1ae0cde121d009bea9c60a65541|690x375

    NyaTerm 是一个跨平台远程终端工具,最初使用 Tauri + WebView 构建。经过一段时间的开发和重构,现在已经正式切换到 Rust + GPUI 原生桌面架构,并发布了 2.0.0 正式版。

    我自己一直是 WindTerm 的忠实用户,它的很多功能和设计都非常符合我的使用习惯。

    不过,由于 WindTerm 已经有一年左右没有更新,一些长期存在的小问题、偶发闪退等情况始终没有得到解决,日常使用起来多少有些困扰。

    所以,在今年 5 月份我开始照着 WindTerm 开始复刻功能,得益于 AI 第一版( WebView )很快就搓出来虽然功能逐渐丰富,但性能问题也一直困扰着我。

    终端与普通桌面应用不同,尤其是大量文本输出、持续刷新、滚动和多终端并行运行的时候,对渲染效率和响应速度的要求比较高。

    随着功能不断增加,原有 WebView 方案在这些场景下逐渐暴露出一些性能瓶颈。虽然尝试过不少优化,但始终没能达到自己期望的效果。

    既然如此,那就换框架!

    轻装上阵,全新出发!

    NyaTerm v2 选择了 Rust + GPUI。

    这一次不再使用 WebView ,而是将整个桌面应用重构为原生 Rust 实现,包括界面、终端渲染、连接管理等。

    0651188d54b0a77fefc63c22729a2c60|690x375

    说起来简单,实际动手才发现,这基本相当于重新开发了一遍 NyaTerm 。

    原本 WebView 中很多习以为常的功能,都需要在 GPUI 中重新实现。终端绘制、窗口管理、输入法、剪贴板、跨平台兼容性等问题,也花费了不少时间折腾。

    好在经过多个预览版本的迭代,NyaTerm v2.0.0 终于正式发布了!

    27 replies  •  2026-10-29 15:45:34 +08:00
    isAK47
        1
    isAK47  
       3h 20m ago
    支持,体验很棒!
    fstab
        2
    fstab  
       2h 49m ago
    支持,的确不烧心。
    clacf
        3
    clacf  
       2h 29m ago
    支持 tui 吗?
    wanguorui123
        4
    wanguorui123  
       2h 23m ago
    不错
    Niphor
        5
    Niphor  
       2h 12m ago
    请问 能不能直接 命令行传参 启动并且支持多窗口或者多个 tab ,
    比如 传 --ssh/sftp ip:port -pass xxx 打卡
    初衷想找一款可以在 mac 上适配各种堡垒机的客户端。。。
    clacf
        6
    clacf  
       2h 8m ago
    大佬,可以开发个,从 windterm 迁移主机记录的工具吗
    ycl10875222
        7
    ycl10875222  
       2h 7m ago
    咨询个问题大佬,我现在也在做一款原生应用用 C++做的 你觉得 C++和 Rust 有什么开发上的体验区别吗 UI 必须自己手绘妈
    CoderKang
        9
    CoderKang  
    OP
       1h 50m ago
    @clacf
    NyaTerm 支持从 WindTerm 直接导入的。`顶部工具栏 > 文件 > 导入配置`
    Sodacooky
        10
    Sodacooky  
       1h 47m ago
    2.0 后确实界面没那么多闪烁了,windterm 停止更新后最接近它的一个工具了,现在用来取代 termora 变成主力工具,非常好用。
    不过顶部的资源监控加载变慢了,tmux integration 不知道有没有计划。
    fusxcs
        11
    fusxcs  
       1h 43m ago
    用上了,大佬牛逼
    565656
        12
    565656  
       1h 40m ago
    这个剧本怎么这么像一个叫 oxideterm 的,也是第一版 xx 然后第二版 gpui
    zepc007
        13
    zepc007  
       1h 37m ago
    习惯了 nettycat 了,感觉都大差不差
    CoderKang
        14
    CoderKang  
    OP
       1h 34m ago
    @ycl10875222
    可以说一下我现在 Rust 开发流程中所遇到的一个最大问题,就是 Rust 的编译速度,以及构建产生的中间产物特别占磁盘空间。UI 我是借鉴了一些主流软件的设计(例如 NyaTerm 的布局就是参考的 JetBrains 家的软件),再让 AI 去实现。
    dbak
        15
    dbak  
       1h 28m ago
    做的很不错呀 不过 我用 vim 打开文件 用鼠标双击一行代码进行选定的时候 会触发 vim 的 VISUAL 模式 请问在哪个选项里可以解决这个问题呀
    smilenceX
        16
    smilenceX  
       1h 24m ago
    从上次看到 OP 的帖子就下载下来,一直在用了。很不错
    CoderKang
        17
    CoderKang  
    OP
       1h 10m ago
    @dbak
    这个是 Vim 开启鼠标支持后接管了终端的鼠标事件,属于正常行为。

    可以在 NyaTerm 的 **设置 → 交互 → 剪贴板和鼠标** 中开启「**鼠标报告需按 Alt**」。

    开启后,正常双击就可以使用 NyaTerm 的文本选中功能,按住 Alt 操作鼠标才会将事件发送给 Vim 。

    也可以在 Vim 中执行 `:set mouse=` 关闭鼠标支持,不过更推荐使用 NyaTerm 的这个设置。
    zdf3
        18
    zdf3  
       1h 8m ago
    ui 很差 win98 的感觉
    dbak
        19
    dbak  
       1h 5m ago
    @CoderKang 非常感谢 已经解决了
    raycloud
        20
    raycloud  
       1h 4m ago
    感觉目前你的主要竞争对手是 Netcatty ,哈哈哈😂,两个都很不错
    russ44
        21
    russ44  
       55 mins ago
    下载试用
    oldManNewThought
        22
    oldManNewThought  
       39 mins ago
    牛逼,一直再用,2.0 版本是去掉 tauri 了吗?那是用哪个跨平台方案啊
    senooo
        23
    senooo  
       29 mins ago
    @CoderKang
    1. 支持 Ctrl+V 粘贴了没有
    2. 左侧的目录树能不能跟随 cd 命令或者 pwd 命令
    fusxcs
        24
    fusxcs  
       24 mins ago
    不支持 双击后按住拖拽连选文本吗?
    uni
        25
    uni  
       9 mins ago
    星星了

    我现在用的是 electerm ,改天试试你的
    mgcnrx11
        26
    mgcnrx11  
       8 mins ago
    之前已经 star 了,但 Tauri 就没有用下去了。看到 Rust GPUI 再支持一下
    Hconk
        27
    Hconk  
       1 min ago
    从 1.x 开始用,切到 2.0 了,不错
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5110 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 73ms · UTC 07:47 · PVG 15:47 · LAX 00:47 · JFK 03:47
    ♥ Do have faith in what you're doing.