一款精致的 macOS 原生 SSH 终端客户端,为日常服务器工作而生。
English README · Releases 发布页 · 主页
Bonk 是一款快速、功能丰富的 macOS SSH 终端。它把原生 SwiftUI 界面与完全可自定义的 AppKit 工具栏结合在一起,并内置了日常服务器工作所需的一切:SFTP 浏览、端口转发、AI 助手、代码片段、工作区,以及 Quake 风格的下拉终端。
| SSH 终端 | 标签页 + 分屏,支持 arm64 与 x86_64 |
| SFTP | 独立窗口浏览器,支持拖拽上传 |
| 端口转发 | 本地、远程、动态(SOCKS5) |
| 串口 | 连接 /dev/tty.* 设备 |
| 跳板机 | 通过堡垒机链式连接 |
| 安全 | 主机密钥校验、Secure Enclave P256 密钥、凭据钥匙串 |
| 扩展 | Zmodem 传输、SSH 配置导入 |
敬请期待。
| 操作 | 快捷键 |
| — | — |
| Quake 下拉终端 | ⌘ |
| 检查更新 | ⌥⌘U |
| 工作区 | ⌥⌘S` |
其余大部分快捷键(新建终端、分屏、SFTP、AI、查找等)都可在 设置 → 键盘 中自定义。
| 分层 | 技术 |
|---|---|
| 界面 | SwiftUI + AppKit(Swift 6) |
| 终端渲染 | SwiftTerm |
| SSH | Citadel / swift-nio-ssh |
| 存储 | SwiftData |
| 更新 | Sparkle |
| AI | OpenAI 兼容接口、Copilot、Claude、Gemini、Ollama 等 |
需要 Xcode 26。支持 macOS 15+。
git clone https://github.com/iamJoyLiam/Bonk.git
cd Bonk
open Bonk.xcodeproj
主窗口是 AppKit 自持的 NSSplitViewController 壳层,内部托管 SwiftUI 内容——保证完全可自定义的 NSToolbar 稳定运行,避免与 SwiftUI 的窗口工具栏所有权冲突。
欢迎提交 Issue 和 Pull Request。有功能想法或 Bug,请先开 Issue 讨论。