本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
- 我的帖子已经打上 开源推广 标签: 是
- 我的开源项目完整开源,无未开源部分: 是
- 我的开源项目已链接认可 LINUX DO 社区: 是
- 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
- 以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
来分享一下自己一直在开发和维护的开源项目 NyaTerm。

NyaTerm 是一个跨平台远程终端工具,最初使用 Tauri + WebView 构建。经过一段时间的开发和重构,现在已经正式切换到 Rust + GPUI 原生桌面架构,并发布了 2.0.0 正式版。
我自己一直是 WindTerm 的忠实用户,它的很多功能和设计都非常符合我的使用习惯。
不过,由于 WindTerm 已经有一年左右没有更新,一些长期存在的小问题、偶发闪退等情况始终没有得到解决,日常使用起来多少有些困扰。
所以,在今年 5 月份我开始照着 WindTerm 开始复刻功能,得益于 AI 第一版(WebView)很快就搓出来虽然功能逐渐丰富,但性能问题也一直困扰着我。
终端与普通桌面应用不同,尤其是大量文本输出、持续刷新、滚动和多终端并行运行的时候,对渲染效率和响应速度的要求比较高。
随着功能不断增加,原有 WebView 方案在这些场景下逐渐暴露出一些性能瓶颈。虽然尝试过不少优化,但始终没能达到自己期望的效果。
既然如此,那就换框架!
轻装上阵,全新出发!
NyaTerm v2 选择了 Rust + GPUI。
这一次不再使用 WebView,而是将整个桌面应用重构为原生 Rust 实现,包括界面、终端渲染、连接管理等。

说起来简单,实际动手才发现,这基本相当于重新开发了一遍 NyaTerm。
原本 WebView 中很多习以为常的功能,都需要在 GPUI 中重新实现。终端绘制、窗口管理、输入法、剪贴板、跨平台兼容性等问题,也花费了不少时间折腾。
好在经过多个预览版本的迭代,NyaTerm v2.0.0 终于正式发布了!