为了让 SSH 客户端更快、更安静,我先造了套 Go 桌面框架:Motty × Viva

t8y2 2026-10-28 16:15 1

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:



  • 我的帖子已经打上 开源推广 标签: 是

  • 我的开源项目完整开源,无未开源部分: 是

  • 我的开源项目已链接认可 LINUX DO 社区: 是

  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是

  • 以上选择我承诺是永久有效的,接受社区和佬友监督: 是


以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出




SSH 客户端已经很多了,我还是又写了一个。


因为我想做的,不只是另一个能连接 SSH 的终端,而是一款从一开始就把性能当成设计前提的远程工作台。


它应该启动快、输入跟手,大量输出时不掉帧;没有操作时不持续重绘,也不无意义地唤醒 CPU。与此同时,SFTP、端口转发、VNC/RDP 和 AI 也不应该以牺牲这些为代价。


当然,也有人认为GPUI可行,但为什么没有选择GPUI?因为对于规模稍大的项目而言,用Rust开发的体验相当糟糕——编译时间长、硬盘占用大。这是不可避免的。


为了验证这条路,我很早就决定基于GO语言从桌面框架开始做起。


于是有了 Motty × Viva。



Motty 是应用,Viva 是它下面的开发框架。


Motty 没有 Electron、没有 WebView,也没有 JavaScript UI 层。Viva 负责窗口、输入、文本与输入法、焦点、布局和 GPU 渲染;Motty 负责 SSH、终端、SFTP、端口转发、远程桌面和产品工作流。


这里说的“安静”也不是一句形容词。


Viva 不依赖常驻帧循环维持界面。没有输入、网络结果和动画时,就不应该继续申请下一帧,也不应该因为 UI 自己持续唤醒 CPU。


我也不想只拿“原生”两个字当性能宣传,所以给 Motty 做了一轮完整的性能审计。在 Apple M2 Pro、Go 1.26.5 的无头环境中:



  • 使用全新 HOME,启动到 ready 为 80–103 ms;

  • 无窗口、无会话时,空闲 CPU 低于 0.01%;

  • 未变化的终端绘制为 40.5 µs、0 alloc;

  • 终端大量输出帧从约 1.1 ms 优化到 0.33 ms;

  • 纯文本终端解析从约 210 MB/s 提升到 305 MB/s。


Viva 的真实 Linux X11 和 Windows 窗口测试中,无变化时也不会持续绘制。


Motty是跨平台的,各平台发布包约 6–10 MiB。无头、无窗口、无会话时的基线 RSS 为 49–50 MiB;真实窗口内存会随系统、GPU 驱动和会话数量变化,所以我把它当作测量基线,而不是“只占多少内存”的宣传数字。


性能之外,Motty 现在已经可以完成一整次远程会话:


- SSH 标签页、分屏、搜索、录制和终端图片协议;

- SFTP 双栏文件管理、队列、续传、原子覆盖和远程编辑;

- 跳板链,以及本地、远程、SOCKS5、HTTP CONNECT 转发;

- 经 SSH 访问 VNC/RDP;

- 从 OpenSSH、PuTTY、Xshell、MobaXterm、WindTerm、Electerm 导入主机;

- 带风险审批和默认脱敏的 AI Agent,以及供外部 Agent 使用的 MCP;

- WebDAV、S3 兼容存储和 GitHub Gist 加密同步。


如果你需要一套日常 SSH 工作台,欢迎体验 Motty。


如果你对“不靠 WebView 的 Go 桌面应用”更感兴趣,也欢迎关注 Viva。


Motty 会一直作为 Viva 的真实验证应用:框架能力必须解决真实产品问题,而不是只在 Demo 里好看。



  • Motty(原生 SSH 客户端):t8y2/motty

  • Viva(Go 原生桌面开发框架):vivaui/viva


欢迎体验和star​^-^、提出建议。感谢

最新回复 (19)
  • AtomW 10-28 16:17
    1楼

    严肃下载区体验体验,最近正好想换ssh工具

  • baijie 10-28 16:18
    2楼

    这就下载体验一下,正好想换个工具

  • suifeng 10-28 16:22
    3楼

    不错啊,好像最近出了不少SSH客户端,确实比之前用的顺手

  • 32kfdf83 10-28 16:24
    4楼

    vivaui/viva Metal Direct3D

    最近这种自绘的框架挺多啊。是自绘变容易了吗

  • t8y2 楼主 10-28 16:24
    5楼

    如果遇到什么体验上的问题,欢迎反馈~

  • t8y2 楼主 10-28 16:25
    6楼

    实际并不容易,Viva打磨了好久才整理了一下开源第一版

  • 32kfdf83 10-28 16:26
    7楼

    感觉大佬像呼吸一样简单,原来这种东西,很多年难得见一个。

  • 苏万 10-28 16:27
    8楼

    star一下

    等我Termius到期准备再换过来

  • rtyu 10-28 16:28
    9楼

    看起来挺不错的,下载来体验一下

  • person 10-28 16:31
    10楼

    大佬的dbx用起来挺好用的。大佬真的^-^,维护一个开源项目以外还能再开一个新战线,这是全职搞开源吗 ^-^

  • GMYXDS 10-28 16:44
    11楼

    这可是个大工程啊,类似windows terminal 就很复杂了

    佬友加油!!

  • t8y2 楼主 10-28 16:45
    12楼

    一定一定~持续优化中

  • lizhiangg 10-28 16:47
    13楼

    bate版完成度惊人,做本地终端软件也足够了,已经把ghostty卸载了

  • ccq 10-28 16:49
    14楼

    大佬出手就是一个框架,太强了啊

  • 苏喂 10-28 16:52
    15楼

    gpt还不行么,openai协议,我看怎么都是authropic,看错了,ccswitch导入不行,可以手动添加

  • cmiracle 10-28 16:56
    16楼

    前来围观,dbx作者又一力作!

  • 什么凯文 10-28 17:14
    17楼

    已严肃安装使用并卸载 Warp

  • tienchiu 10-28 18:10
    18楼

    第一反应以为用的 mygo 框架


    viva是啥

  • 魔幻之地 10-28 18:19
    19楼

    体验了下,很不错,界面整体很流畅,能不能弄个便携版本,配置保存在程序运行目录,配置好可随身携带方便。

* 帖子来源Linux.do
返回