NyaTerm 2.0,轻装上阵,全新出发!

之前发 NyaTerm 的时候,我提过它是受 WindTerm 启发做的一个开源终端管理工具。

这一个多月 1.x 其实一直没停,还在持续修问题、补功能。

不过与此同时,我又给自己挖了个更大的坑:

把 NyaTerm 用 Rust + GPUI 重新做一遍。

现在这个版本已经放出来一段时间了,也迭代了几个 Preview,感觉差不多可以单独介绍一下。

NyaTerm 2.0 预览版:https://github.com/nyakang/nyaterm/releases/tag/v2.0.0-preview.4
项目地址:https://github.com/nyakang/nyaterm
官网:https://nyaterm.app

image

为什么要重做?

倒不是 1.x 不能用了。

现在的稳定版基于 Tauri / WebView,功能其实已经比较完整,但做得越多,越苦于 Webview 的性能,Terminal 这种实时快速刷新的场景,还是更适合真正的原生桌面架构。收益也很明显,一直头疼的关键词高亮性能问题得到了解决,之前一些在 Tauri 框架不好实现的特性也可以大展拳脚。

所以后来干脆开了 2.0 这条线,试着用 Rust + GPUI 做一个真正原生的版本。

刚开始其实就是个“大号 Demo”。

先把窗口跑起来,再把 Terminal 塞进去,然后 SSH、标签页、分屏、SFTP……一点一点往回补。

做到现在,终于开始有点像 NyaTerm 了。

目前常用的这些东西基本都已经陆续搬过来了:

  • SSH、Telnet、本地终端
  • 多标签、分屏
  • SFTP 和文件管理
  • RDP / VNC
  • Docker、进程管理
  • AI Assistant
  • Cloud Sync
  • 快捷命令、凭据管理等

当然,能用和好用还是两回事。

最近几个 Preview 很多时间其实都花在一些特别细碎的地方。

比如 Terminal 的选择、复制粘贴、滚动、焦点,分屏之后键盘输入到底应该落在哪个 Terminal;文件管理里的拖拽、上传下载、目录树;窗口最大化、全屏、多显示器这些东西。

单独看都不像什么“大功能”,但是天天用的话,一个地方别扭就会一直觉得别扭。

image

文件管理这块最近也改了不少。

除了原来的文件列表,现在 2.0 里也做了树形目录浏览。

有时候连上服务器只是想快速找个配置文件,目录树会比一层一层点进去方便很多。

image

不过还是得强调一下:

2.0 现在依然是 Preview。

我自己已经在不断拿它日常用了,但边边角角的问题肯定还有,尤其是 Terminal、输入法、多显示器、RDP / VNC,以及不同系统上的桌面行为,这些东西都需要慢慢磨。

所以如果只是想稳定使用,还是推荐目前的 1.x。

想尝鲜、愿意帮忙踩坑的话,可以试试 2.0。

Preview 和稳定版是分开的,可以同时装,不会覆盖现在的 1.x。

从最开始那个 WebView 版本,到现在又重新用 GPUI 做一遍,说实话工作量比我一开始想的大得多。

后面继续慢慢填坑。

感兴趣的话欢迎试试,也欢迎提 Issue。

NyaTerm 2.0 预览版:https://github.com/nyakang/nyaterm/releases/tag/v2.0.0-preview.4
项目地址:https://github.com/nyakang/nyaterm
官网:https://nyaterm.app