SSH 原生图形化外壳
摘要
Outer Shell 是一款 SSH 原生图形化外壳,通过基于浏览器的方式为远程服务器提供交互界面。它利用 Unix 套接字上的 HTTP 应用与 SSH 加密,从而构建图形化服务器应用的新生态。
暂无内容
查看缓存全文
缓存时间: 2026/06/29 17:05
# SSH 本地图形化 Shell
来源:https://probablymarcus.com/blocks/2026/06/28/native-graphical-shell-for-SSH.html
通过网页浏览器,我们确实找到了一种很好的方式,让一台设备(“服务器”)在另一台设备(“客户端”)上提供交互体验。
这引出一个有趣的想法:设想一下,如果服务器和边缘设备能够提供基于浏览器的图形化“Shell”,以便其他设备可以远程使用它们。这个 Shell 会提供一个应用主屏幕,其中每个应用都是一个微型 HTTP 服务器,提供网页用户界面。Shell 会提供 API,让应用可以互相查找对方的 URL。例如,应用可以注册为文本编辑器,这样你在一个应用中双击文本文件,就能在编辑器应用中打开它。这些图形化应用将成为终端应用的一种替代方案。
这些 HTTP 服务器通常是私有的,网络中其他设备无法访问。相反,你可以通过 SSH 或本地使用它们。与大多数现有的基于 Web 的服务器工具不同,这些 HTTP 服务器通常不会使用 localhost 端口,而是使用 Unix 域套接字文件——它们类似于端口,但存在于文件系统上,并带有明确的用户权限。每个 HTTP 服务器可以非常简单,没有依赖关系,因为它不需要处理加密——加密在 SSH 层完成。
应用可以是传统的基于 HTML 的 Web 应用,也可以是原生 Outerframe 应用 (https://probablymarcus.com/blocks/2026/05/10/like-a-web-view-but-native.html)。
我已经将 Outer Loop (https://outerloop.sh/) 打造成一个针对这种图形化 Shell 的 SSH 浏览器,并且现在正在发布一个开源版本的 Outer Shell (https://outershell.org/)。
## 屏幕录像:Outer Shell
这里我演示了 Outer Shell 及其工作原理,并试图让你感受到这个领域还有多少唾手可得的机会。
## 文档
为了避免写一篇冗长的博客文章,我撰写了一系列文档:
- 浏览器的工作原理:https://outerloop.sh/
- Outer Shell API 以及如何向其中添加应用:https://outershell.org/
- 这些原生应用的工作原理:https://outerframe.org/
## 思考
奇怪的是,这竟然还不存在?对于浏览器来说,连接 Unix 套接字等功能一直被认为非常小众,但当你将其与一组合适的其他功能(包括 SSH 和 sudo 感知)结合起来时,整个技术树上就会出现全新的分支。我们不必将 Linux(及其他)服务器视为拥有传统本地图形化操作系统的设备,而是可以专注于为它们提供用于远程设备的“外部”图形化 Shell。在另一条时间线上,我们本可以用传统的 HTML/JavaScript 应用来构建这个生态系统几十年。许多独立的服务器端 Web 应用(如 Jupyter 和 Tensorboard)确实出现了,但它们各自采用了一次性的安全协议,却从未真正实现“正确”地交付它们。
而现在,机会更加巨大,因为我们可以让应用变得真正原生 (https://outerframe.org/)。既然有了能帮助我们编写代码的 AI,为每个应用针对每个目标平台维护一套代码库就变得切实可行。我认为这正在成为 Web 的自然架构:用 HTML 来阅读和开发休闲应用,用针对平台原生的应用来高效工作。为什么非要退而求其次呢?
*(感谢 Rosanne Liu、Mirko Klukas、Adam Zethraeus 和 Felix Andrews 阅读/观看本文和屏幕录像的初稿。)*
相似文章
ShellMate
ShellMate 是一款工具,允许用户从单一位置管理 SSH 服务器、凭据和团队。
Otty
Otty 是一款 macOS 原生终端模拟器,兼具原生性能与精美设计。
@Saboo_Shubham_: 有人刚刚开源了 Hermes Agent 的 Web 界面。现在你可以通过浏览器使用 Hermes,完全拥有终端级别的功能。1…
Hermes Agent 的 Web 界面已开源,支持通过浏览器使用,并完全兼容终端功能。
Corv: 终于为AI代理和人类打造的SSH客户端
Corv 是一个全新的SSH客户端,专为AI代理和人类用户设计,弥合了自动化与手动远程访问之间的差距。
@geekbb: 基于 Tauri(Rust + Svelte)的桌面应用,将编程 AI 代理、API 客户端、SQL/NoSQL 编辑器、SSH 终端、远程文件浏览器和项目管理看板整合在一个界面中,开发者不用在多个应用之间切换。 https://gith…
Clauge 是一个基于 Tauri(Rust + Svelte)的桌面应用,将编程 AI 代理、API 客户端、SQL/NoSQL 编辑器、SSH 终端、远程文件浏览器和项目管理看板集成在同一界面内,让开发者无需在多个应用间切换。