我的日常工作大概一半时间在 SSH 里度过:看日志、跑发布、查线上问题。另一半时间在写工具,让前一半时间少一点。
Mac 上的 SSH 方案我几乎都长期用过:系统终端加 ssh 命令、通用跨平台终端、浏览器插件,还有几款老牌客户端。它们都能连上服务器,但每天用八小时之后,差距会出现在两个地方:一是界面是否像一个 Mac 应用,二是连接本身是否被当作一等公民。
跨平台方案的共同短板
跨平台终端要照顾所有系统,于是每个系统都只照顾到平均值:
- 深浅色跟随系统、字体渲染、快捷键约定,总有一两处不顺手
- 连接配置、标签、分屏各自一套心智模型,和系统的窗口管理合不上拍
- 密码存在哪里、怎么迁移,往往是最含糊的部分
- 遇到问题只能等上游修,等一个跨平台框架为 Mac 的边角案例发版,周期很长
这些问题单独看都很小,加起来就是每天多花的十几分钟,和一层永远隔着的玻璃。
原生到底指什么
对 Docklark 来说,原生不是一句宣传语,而是一串具体承诺:
- 在 Apple Silicon 上原生运行,不经过转译
- 浅色、深色、跟随系统三种外观随时切换,和系统设置同步
- 操作符合 macOS 菜单和快捷键约定,紧凑工具栏和系统菜单共用一套动作
- 连接密码交给 macOS 钥匙串保管,而不是自造一个加密文件
- 窗口、标签、分屏的行为跟其他 Mac 应用一致
连接是一等公民
原生 SSH 客户端和「带 SSH 功能的终端」最大的区别,在于连接被当成对象来管理:
- 多级连接目录、收藏、排序和批量操作,机器清单长了也不用靠背
- 超时、保活、压缩,以及本地、远程和动态端口转发,都是连接上的属性
- SFTP 和资源监控复用这条已认证的 SSH 连接,不需要再输一次密码
- 会话可以复制、锁定、按主机排序,断线后可以回到本地 Shell 或等待重连
这些能力靠「终端加一段脚本」拼不出来,因为它们需要客户端理解连接的整个生命周期。
终端体验也要原生
连接之外,终端本身同样有一份清单:全局可设的终端历史上限(1 到 100000 行)、随输出更新的实时搜索、可视与可选的声音响铃、每个连接独立的标签色,以及七套终端配色加自定义 ANSI 色。这些不是花活,是每天盯八小时的界面里最影响手感的那部分。
诚实的边界
截至 2026 年 10 月 18 日,v0.2.61 已提供下载。此前版本在真实设备上验证过直接 SSH、JumpServer 登录和目标服务器访问,但更广泛的验收还没完成,比如真实局域网下的传输速度对比。这些我会持续写在这里。
如果你也想要一个把 Mac 当 Mac 对待的 SSH 客户端,可以看 Docklark 的开发进展。