2026年9月24日
SwiftServer 2.2.0:本地 Shell、菜单栏面板,以及进入任意容器的 Shell
SwiftServer 2.2.0 在 Mac 上新增本地终端和关闭窗口后仍持续监控的菜单栏面板,并带来进入运行中 Docker 容器的 Shell、Compose 日志实时跟随、重启机器和暂停监控开关。

SwiftServer 2.2.0 现已在 App Store 上架,支持 iPhone、iPad 和 Mac。Mac 上新增本地终端、关闭最后一个窗口后仍持续监控的菜单栏面板,以及暂停监控的开关。所有平台都新增了进入运行中 Docker 容器的 Shell、Compose 日志实时跟随,以及状态页上的重启操作。
Mac 上的本地 Shell
本地 Shell 在 SSH 和 Mosh 会话所在的窗口里打开本机的 Shell,标签页、主题、字体和代码片段全部通用。按 ⌘T、选择“终端 → 新建本地终端”,或点按仪表板工具栏里的按钮即可打开。
会话使用你的登录 Shell,启动方式与 Terminal.app 相同。profile 照常执行,Homebrew、nvm、asdf 等都在 PATH 里。ssh-agent 套接字会透传,会话从个人文件夹开始,支持真彩色,并以 TERM_PROGRAM=SwiftServer 标识自己。
SwiftServer 运行在 App Store 沙盒里,沙盒内启动的 Shell 读不到个人文件夹,也无法运行你的工具。因此,本地 Shell 依赖一个小巧的配套程序 SwiftServer Helper,在“设置 → 终端 → 本地 Shell”里安装一次即可。安装包经过签名和公证,装在个人文件夹中,无需管理员密码。它不开放任何网络端口,只在有本地终端打开时运行,并在同一个设置页里自行更新。安装步骤、Shell 环境,以及 macOS 可能要求的登录项批准,见本地 Shell 指南。
本地 Shell 对所有用户开放,需要 macOS 15 或更新版本,仅在 Mac 上提供。
菜单栏面板
在“设置 → 菜单栏”里打开“在菜单栏中显示”,关闭最后一个窗口后,SwiftServer 仍会从菜单栏继续采样你的机器。有机器离线时,状态图标旁会显示离线数量。
面板列出与仪表板相同的状态卡片、总数与在线离线汇总,以及正在进行的终端、SFTP 和端口转发会话。点按卡片打开该机器的状态页,右键菜单可以打开终端或 SFTP。底部一栏可以打开 SwiftServer、新建本地终端、暂停监控或退出。
面板跟随哪些机器由你选择,也可以跟随小组件的选择。没有窗口打开时,采样间隔可设为 30 秒到 5 分钟,并可在使用电池时暂停。Mac 上的小组件以同样的节奏刷新。重新打开窗口后,恢复完整的机器列表和仪表板自身的刷新频率。你还可以在没有窗口时隐藏程序坞图标,并让 SwiftServer 登录时启动。
菜单栏面板属于高级版。
进入运行中的容器
在 Docker 面板中打开一个运行中的容器,在“操作”下选择“打开 Shell”。镜像里有 bash 就用 bash,否则用 sh。Shell 以终端会话打开,有自己的边栏条目,支持代码片段,在 Mac 上可以弹出为独立窗口。复制会话,即可再开一个进入同一容器的 Shell。Shell 退出时,终端显示退出码。
和 Docker 面板的其他功能一样,这个 Shell 经由你已有的 SSH 连接,无需开放 Docker 端口。“打开 Shell”属于高级版的 Docker 管理功能。
Compose 日志与 Compose 文件
Compose 项目现在与容器共用同一个日志查看器。“日志”先加载最近 400 行;打开“跟随”后,新日志随产生随显示,错误输出以单独的颜色标出。
项目启动时用到的每个 compose 文件都显示为一个“编辑”按钮。SwiftServer 根据 Docker Compose 在容器上记录的信息找到文件,在所在文件夹打开 SFTP 会话,再把文件载入编辑器。“在 SFTP 中打开项目”直接打开项目目录。
暂停监控
在 Mac 上,可以暂停本次会话的监控。开关位于 Dock 菜单的“打开但不监控”、仪表板的刷新菜单、“显示”菜单,以及菜单栏面板。
暂停会关闭所有监控连接。终端、SFTP、端口转发和 Docker 面板照常工作,小组件保留最后一次快照。下次启动照常监控。
重启机器
机器的状态页在“操作”菜单里新增了“重启机器”。确认后,SwiftServer 按系统发送对应命令:Linux 上是 systemctl reboot 或 reboot,macOS 上是 shutdown -r now,Windows 上是 shutdown /r /t 0;非 root 账户加上 sudo -n。
SwiftServer 不会索要 sudo 密码。执行需要特权的操作前,它先检查账户是否为 root 或属于可用 sudo 的用户组,不满足时会停下来询问。随后,进度面板跟随关机过程,以最长 30 秒的间隔等待机器恢复并重新连接。机器启动标识发生变化,即确认重启完成。指向该机器的终端和 SFTP 会话会自行重连。
在同一目录打开终端与 SFTP
终端里的“在此打开 SFTP”会在 Shell 当前目录打开 SFTP 会话。目录通过同一条 SSH 连接读取,因此会跟随每一次 cd;Mosh 会话则使用窗口标题里的目录。SFTP 里的“在此打开终端”会在正在浏览的文件夹打开终端。iPhone 上配套会话以浮层打开,iPad 和 Mac 上是工具栏按钮。
本版本的其他改动
- 全球视图快照可存储图像。iOS 上分享地图快照时,分享面板直接提供“存储图像”。
- 代码片段编辑器。代码片段改用 SwiftServer 自带的编辑器,带行号和 Shell 语法高亮。
- 终端超链接。命令行工具输出的链接,在 Mac 上按住 ⌘ 点按即可打开。
- 小组件。开启 iCloud 钥匙串同步后修改密码或密钥,小组件保持连接;采样失败时保留最后一次数值。
- 跳板机修复。先开启跳板机再选择跳点,或切换到键盘交互式登录,可能会关闭“在仪表板中显示状态”,让机器从仪表板消失。如果有机器曾这样消失,请在它的偏好设置里重新打开该选项。
- macOS 27 与 iPadOS 27 上的终端焦点。在边栏选中终端后会获得键盘焦点,iPadOS 27 上的硬件键盘可以正常输入到终端。
- 适配 iOS 27、iPadOS 27 和 macOS 27。
一次购买即可在 iPhone、iPad 和 Mac 上使用。历次版本的改动见更新日志。有问题或反馈,请联系:[email protected]