字数 1550,阅读大约需 8 分钟
前几天刷 V2EX,看到个帖子标题挺狂——"三周时间,用 AI 辅助写了个 SSH 客户端"。
点进去瞅了眼截图,界面居然还挺好看,不是那种 "开源=UI随便糊弄" 的画风。

作者叫 BigcatChen,GitHub ID 是 binaricat。说自己在找 Termius 的替代品,找不到满意的,干脆自己撸了一个。GPL-3.0 开源,macOS、Windows、Linux 全平台。
技术栈是:Electron 40 + React 19 + TypeScript + xterm.js 5 + Tailwind CSS 4。
管主机的姿势多了
SSH 客户端第一件事:你怎么管理你连的那堆机器。PuTTY 是一台一个窗口,Termius 有自己的主机库。Netcatty 给了三种视图:
网格视图,适合机器不多的时候,图标大大的,一眼认出哪台是 Ubuntu 哪台是 CentOS。它自动识别系统版本,图标给你挂好。

列表视图,机器多了以后切这个,紧凑,能快速搜索。

树形视图,按项目或者环境分组,我比较喜欢这个。开发环境丢一个组,生产环境丢另一个组,脑子不用记。

分屏和终端
分屏这东西,没用过的人觉得花哨,用过的回不去。
左边 tail -f 盯着 nginx 日志,右边 vim 改配置,下面再开个小窗跑 htop。一个窗口全搞定,不用 Alt+Tab 在三个窗口之间切到手指抽筋。
还有个广播模式。你选了五台机器,敲一次命令,五台同时执行。批量更新或者检查集群状态的时候省大事。
对了,关键词高亮我也要提一嘴。设个规则,ERROR 自动标红加粗,WARNING 标黄。日志刷屏的时候你不用瞪大眼睛找,红色自己跳出来。这功能 PuTTY 没有,Termius 免费版也没有。
50 多套内置主题,懒得搞的直接挑。我用 Dracula,紫底灰字。
改远程文件不用下载了
运维最烦的操作:改个 nginx 配置。把文件从服务器拽下来,本地改一行 worker_connections,再传回去。就一行配置,折腾三分钟。
Netcatty 左边本地文件,右边远程文件,拖拽上传下载。更关键的是右键能直接编辑远程文件,改完 Ctrl+S,自动写回服务器。
编辑器不是什么 VS Code 级别的,但改个 yaml、json、conf 绰绰有余。语法高亮有,缩进对齐有。比 ssh 进去用 nano 舒服一百倍。
sudo 提权这个细节也到位。你普通用户登录,要改 /etc/nginx/nginx.conf,它弹窗让你输 sudo 密码提权。不用退出重连 root。Termius 也有,但它收钱。
AI Agent,重头戏
我装完 Netcatty,第一个试的不是 SSH,是那个叫 Catty 的 AI Agent。
实话讲,我对 "AI 终端" 有偏见。Warp 的 AI 我用过,就是个嵌在终端里的聊天框。你问它命令,它回答,你复制粘贴自己跑。跟我切到浏览器问 Claude 有什么区别?
Netcatty 这个不一样。它不是聊天框,是执行体。
你跟它说"帮我看看这台机器内存占用前三的进程",它自己 ssh 上去跑 ps aux --sort=-%mem | head -4,结果返回来,还顺便告诉你哪个进程该杀。
更狠的是多机操作。你连着三台机器,说"把这三台组个 Docker Swarm 集群"。它自己在 manager 上 docker swarm init,拿 join token,切到 worker 上 join。全程你看着就行。
安全方面没犯傻。rm、kill、改文件这些操作会弹确认框,默认不开,你得自己打开。AI 帮你干活,锅自己背。
模型支持敞开了接:OpenAI、Anthropic Claude、OpenRouter、Codex CLI 随便。对数据敏感的,本地 Ollama 跑也行。
说实话 AI 也有蠢的时候。复杂任务会绕圈,让它排查个深层网络问题,它在 ping 和 traceroute 来回跳了三圈。但这项目才几个月大,AI 搞成这样我已经不好意思骂了。
云同步不要钱
Termius 收钱的大头就是云同步。你免费版连了五十台主机,换台电脑打开,全没了。想同步?先付 $15/月。
Netcatty 干了什么?六种同步后端:GitHub Gist、S3、WebDAV、Google Drive、OneDrive,还有本地文件。端到端加密,主机配置、SSH 密钥、主题全给你同步过去。
WebDAV 对国内用户最友好。自己 NAS 搭一个,数据自己手里攥着,不经过第三方。
我一开始开了实时同步,结果切个标签页就触发一次,硬盘灯闪得我难受。改成手动以后清净了。
缺点
几周时间做的,才开源几个月,不完善的地方也不少。
技术选型用的 Electron,缺点大家估计也能猜到了。日常 300-500MB 内存,开七八个会话飙到 600MB。PuTTY 开十个才几十 MB。一个终端比我 IDE 还吃内存,我心里是不爽的。但作者一个人开发,Electron 是最务实的选型,也不能要求太高了。
移动端没有。Termius 有 iOS 和 Android,半夜服务器报警掏手机就能看。Netcatty 纯桌面,手机端还在"计划中"。
Zmodem(sz/rz)不支持。习惯在终端里敲 sz filename 拽文件的人得等等。走 SFTP 传没问题,但方式不一样。
端口转发的 UI 不够直觉,得点进连接设置好几层。YubiKey 的 FIDO2 认证也不支持。
macOS 第一次打开会提示"无法验证开发者",xattr -cr /Applications/Netcatty.app 解决。这不是它的锅,是 Apple 对未签名 Electron 应用的统一待遇。

看这 star 曲线。几个月从零涨到近2k,说明不是我一个人觉得这东西有意思。
总结
装 Netcatty 以后,我确实没再打开过别的 SSH 客户端,也可能是我本身对 SSH 的使用率不重度的原因。
不是它已经完美了,离完美还差移动端、差内存优化、差 Zmodem。有个让我佩服的地方:作者更新频率。我写这篇文章的时候翻了下 commit,基本每天一版 release。V2EX 上有人提需求,快的三天进版本。这节奏我只在早期 Obsidian 身上见过。
GitHub:github.com/binaricat/Netcatty,GPL-3.0 随便用。
夜雨聆风