ByteNoteByteNote
Berth:Swift 原生的 macOS SSH 工作区,终端、SFTP 和 AI 助手一个不落

字节笔记本

2026年8月27日

Berth:Swift 原生的 macOS SSH 工作区,终端、SFTP 和 AI 助手一个不落

API中转
¥120

本文介绍 xinghelee 开源的 Berth,一个用 Swift 原生编写的 macOS SSH 客户端。它把终端、SFTP、端口转发和 AI 助手收进一个工作区,Metal 渲染的终端、无限分屏和 Keychain 密钥管理是它的几个记忆点。

项目简介

Berth 今年 7 月才建仓,还处在早期阶段(stars 不多),但更新相当勤,最近一次提交就在本周。项目要求 macOS 15 以上(推荐 macOS 26),通用二进制,Release 构建 带 Developer ID 签名并通过 Apple 公证。协议是 GPL-3.0。

作者对它的定位是"保留终端的直接感,同时把连接、远程文件和上下文工具放进同一个工作区"。实际用下来,这个描述对应的是一条 Xcode 风格的检查器侧栏:AI、SFTP、服务器信息、Docker、代码片段都挂在旁边,随取随用。

核心特性

  • Metal 渲染终端:基于 SwiftTerm 做终端仿真,渲染走 Metal,分屏嵌套无上限,支持搜索、主题、断线自动重连和连接复用。
  • 完整的连接管理:密码、私钥、ssh-agent、keyboard-interactive 四种认证方式;能导入 ssh_config、配置跳板机和 HTTP/SOCKS5 代理。
  • 工作区分组:主机按 Arc 浏览器那种工作区方式组织,圆点切换器加触控板滑动翻页;分组归属通过 iCloud 同步。
  • 端口转发:本地、远程、动态 SOCKS5 三种转发模式,临时调试内网服务够用。
  • SFTP 文件面板:走当前 SSH 连接直接浏览、上传、下载、预览、编辑远端文件,双向拖拽,文件夹可以递归下载。
  • 服务器仪表盘:每台主机的 CPU、内存、磁盘、网络、负载实时可见,Docker 和 Podman 容器状态与日志也能直接看。
  • AI 助手:读取当前终端上下文,建议或直接执行命令,输出按 Markdown 渲染(含表格);每个主机的会话独立持久化,下次接着聊。

键盘优先

Berth 在快捷键上花了心思:⌘K 快速连接、⌘T 新标签页、⌘D 分屏、⌘F 搜索、⌘I 服务器信息、⌘⇧A 呼出 AI 助手。Ctrl 组合键全部透传给远端 shell,readline、vim、Emacs 的操作习惯不会被本地劫持——这是很多 Electron 系 SSH 工具做不好的地方。

AI 提供商与密钥安全

AI 面板可以在活动会话里执行命令、读输出、继续排查。内置了 Anthropic、OpenAI、Gemini、DeepSeek、OpenRouter、Ollama、LM Studio 等预设,任何 OpenAI 或 Anthropic 兼容端点都能手动配置,所以本地模型也行。

安全设计是 Berth 宣传的重点:密码、私钥、passphrase 只存 macOS Keychain,不落明文数据库或 JSON 备份;API key 同样只进 Keychain;首次连接和 host key 变化会显式提示 known_hosts 校验;SSH 连接不依赖厂商云服务,无需注册账号。

安装指南

前置要求就一个:macOS 15+。

bash
# Homebrew
brew install --cask xinghelee/tap/berth

或者到 GitHub Releases 下载 dmg 拖进 Applications,构建已签名公证,不会被 Gatekeeper 拦。

想自己编译的话:macOS 15+、Xcode 16+(含 Metal 工具链)加 XcodeGen:

sh
xcodegen generate
xcodebuild -project Berth.xcodeproj -scheme Berth -configuration Debug build

项目不签入 .xcodeproj 文件,全靠 XcodeGen 生成;缺 Metal 工具链时先跑 xcodebuild -downloadComponent metalToolchain

技术栈

  • Swift + SwiftUI,终端视图桥接 AppKit
  • SwiftTerm 终端仿真 + Metal 渲染
  • Citadel 与内置 swift-nio-ssh 做 SSH(vendor 目录带 RSA 兼容性补丁)
  • SwiftData 持久化,XcodeGen 管理工程

注意事项

  • 仅支持 macOS,Windows/Linux 用户请绕行
  • GPL-3.0 协议,二次开发注意传染性
  • 项目早期,版本迭代快,升级前扫一眼 Release notes
  • 使用云端 AI 提供商时,终端上下文内容会发给对应服务商,企业环境按自身安全策略选择提供商和上下文范围

项目链接

分享: