Motty

Motty

GitHub

免费开源的 SSH 客户端,用 Go 与 Viva 写成原生应用;把终端、SFTP、端口转发、VNC/RDP 与 AI 助手收进同一个窗口,不依赖 Electron。

语言:Go 403Fork 46Apache-2.0开发工具
SSHSFTP远程桌面Go原生AI助手

项目介绍

Motty 是面向 macOS、Windows 和 Linux 的免费开源 SSH 客户端,Apache-2.0 协议,写作时约 403 star。它用 Go 写于 Viva 桌面框架之上,窗口直接经 Metal、Direct3D 或 Vulkan 绘制,没有 Electron 运行时,也没有内嵌浏览器和 JavaScript 层:启动快,空闲时不调度工作,发布包本身也不携带浏览器引擎。

它的出发点是桌面运维的窗口碎片化:终端、SFTP、端口转发、VNC/RDP 各占一个客户端,上下文来回切换。Motty 选择把这些放进同一个原生窗口,并把主机密钥校验、加密保险库和逐跳验证这类安全细节做进流程,而不是留给用户自己拼。

Motty 的终端、文件面板与 AI 助手在同一个窗口里

核心特性

  • 一个窗口里的完整会话:SSH 终端、SFTP/SCP、端口转发、VNC 与 RDP 远程桌面、AI 助手共享同一工作区,不需要第二个文件工具或浏览器标签
  • 终端能力完整:真实 PTY、真彩色、5000 行回滚、内联图片、分屏、搜索、录制、同步更新与 kitty 键盘协议;标签页可重排、分屏、跨窗口移动并恢复
  • 主机与认证:发送凭据前先校验主机密钥;支持 agent、私钥、OpenSSH 证书、PuTTY .ppk(v2/v3)、密码与 keyboard-interactive;TOTP/HOTP 种子可存保险库自动填充
  • 加密保险库:AES-256-GCM,密钥放在系统密钥库;保存密码与私钥口令,按主机归类
  • 文件面板贴着终端:可续传队列、原子替换、冲突检查、内置编辑器、SCP 回退与 ZMODEM/XMODEM/YMODEM;v0.2.6 支持保存前双栏对比,以及把文件夹交给 VS Code / Zed 打开
  • 转发与跳板链:本地、远程、SOCKS5、HTTP CONNECT 四类规则默认只监听回环;跳板链逐跳校验主机密钥,支持 X11 与 ProxyCommand
  • 远程桌面:VNC 支持 RFB 3.3/3.7/3.8 与多种编码;RDP 使用 TLS、优先 NLA 并固定服务器证书;服务器只监听回环时可经 SSH 中转
  • AI 助手与 MCP:Ask 只读终端上下文,Agent 可执行命令但需按风险分级审批;终端文本默认脱敏。可选 MCP 服务器默认关闭、仅回环、bearer token 保护,另有 motty mcp-serve 走 stdio
  • 备份与同步:加密 .mottybak 导出,以及 WebDAV、S3 兼容存储或 GitHub Gist 的记录级同步,带混合逻辑时钟与 90 天删除墓碑
  • 没有遥测:官方称应用内没有统计或遥测库;可选的更新检查会访问 GitHub Releases,默认关闭

上手

从官网下载页或 GitHub Releases 取对应平台的包。每个版本为三个平台提供 10 个安装包:

macOS   (arm64 / amd64)  .dmg、.zip
Windows (amd64 / arm64)  安装程序、便携版 .zip
Linux   (amd64 / arm64)  .deb、.tar.gz

便携版把数据放在程序旁的 motty-data。首次启动后打开 Hosts → New host,填名称、地址和账号,选 agent、私钥或密码,连接时把主机密钥指纹和服务器核对一次。已有 ~/.ssh/config 可以直接导入,并支持双向同步(第一次改写会保留 .motty-backup)。

命令面板在 macOS 上是 Command+Shift+P,Windows/Linux 上是 Control+Shift+P。Windows 用户还能在「设置 → 终端 → 本地 shell」里选择 PowerShell、CMD、Git Bash 或某个 WSL 发行版。

边界

  • 没有移动端和云端保险库同步,主机与密钥只留在本机
  • 暂无 Homebrew、AUR 与 .AppImage;Linux 包未签名
  • agent 审批门是安全控制而非沙箱,不要把 agent 指向错误的命令不可接受的主机
  • 系统没有密钥库时,保险库密钥会落到数据目录旁的密钥文件
  • 远程桌面的协议缺口在仓库 docs/remote-desktop.md 中有明确说明

相关链接