Skip to content

RSSH:零服务器改动的 AI 运维 SSH 客户端 | 旋武社区 Rust 开源项目推荐

发表于:2026-11-12
Rust 新闻

摘要

本期推荐的开源项目 RSSH,把 AI 运维、命令块定位、隐私优先同步、容器动态发现重新在 SSH 客户端里做了一遍。MIT 协议,无登录、无订阅、无广告、无遥测——用作者的话说,这不是商业模式,是 SSH 工具本该如此。

用 SSH 的人,大概都忍过这些事:密钥和连接信息交给第三方云同步,只能祈祷对方守规矩;桌面端再漂亮,出门在外手机上也干不了活;想让 AI 帮忙排个 Bug,还得在网页和终端之间来回复制粘贴;终端刷了几十屏,想找回上一条命令的结果只能一行行往上翻。

本期推荐的开源项目 RSSH,就是冲着这些“忍了很久”的设计去的。它把 AI 运维、命令块定位、隐私优先同步、容器动态发现重新在 SSH 客户端里做了一遍。MIT 协议,无登录、无订阅、无广告、无遥测——用作者的话说,这不是商业模式,是 SSH 工具本该如此。

01 它想解决的六个老问题 ​

回忆市面上的 SSH 客户端,有没有遇到这些问题?几乎条条戳中一线开发:

  1. 云同步不放心:连接信息和密钥保存在厂商服务器上,只能希望对方遵守隐私政策。
  2. 只有桌面端:桌面端做得再好,也没有真正能干活的移动端。
  3. AI 排查靠手搬:想让 AI 帮忙,只能打开网页,把命令和日志复制粘贴来回倒。
  4. 终端只管渲染:要找某条命令的输入输出,得翻好几页、一行行找上一个 prompt。
  5. 静态地址管理:生产环境是弹性的、动态的,却还在维护静态 IP / 域名表。
  6. IDE 里临时用一下太重:想在 IDE 里顺手连一下服务器,得打开完整客户端。

02 四个核心改动 ​

① AI 运维:内置 AI + MCP 两条路 ​

RSSH 提供两种 AI 自动化方式:内置 AI 和 MCP。两者都能让 LLM 直接读取终端输出、执行命令,把“人当数据线”的复制粘贴活接了过去。

  • 内置 AI 适合排查通用系统问题、安装软件

图1

  • MCP 则让本地 Agent(Codex、Claude Code 等)一边看代码,一边复用已连接的终端排障

图2

所有命令都会经过本地脱敏与结构化校验,黑名单可自定义,危险操作可转人工审批。

② 抽象命令块:零服务器改动,快速定位输入输出 ​

执行完一条命令后回到命令开头,是极其常见却被很多客户端忽视的动作。Warp 解决得漂亮,但需要改服务器端 shell 集成脚本。

RSSH 走的是完全前端实现、零服务器改动的路线:根据回车信号划分每条命令,为输入输出附上色条,根据色条长度就能快速定位命令范围。

图3

③ 多平台同步:密钥和连接信息分开存 ​

从设计之初就把隐私放在第一位:

  • 密钥保存在操作系统的 keychain / key server 里,RSSH 本身不保存用户密钥
  • 连接信息加密后保存在你自己的 WebDAV 或 GitHub 私有仓库 没有第三方云,也没有“RSSH 云”。

图4

④ 动态发现:把 Docker context 和 K8s 容器可视化 ​

把开发机器上的 Docker context 和 kubectl 管理的容器 / pod 直接可视化,选中后自动执行:

docker exec ...

省去手工查表拼命令。实现简单,但非常实用。

图5

03 不止这些 ​

除了上面四个主打特性,RSSH 还有一批实用的能力:

  • JetBrains IDE 插件:在 IDE 工具窗口里跑完整 RSSH,和桌面端共享同一份 ~/.rssh
  • 多会话工作台:实时预览多个终端,支持向选中会话广播输入
  • SFTP + 端口转发:本地 / 远程 / 动态(SOCKS5)三种模式
  • 会话录制:asciicast v2,支持变速回放
  • 终端插件:用 HTML + JavaScript 写监控面板、自定义工具,甚至终端宠物
  • 移动端虚拟按键条:Android / iOS / 鸿蒙常驻 Ctrl / Alt / 方向键 / Tab / Esc,手机上也能真正干活

一个仓库交付七端安装包:macOS / Windows / Linux / Android / iOS / 鸿蒙手机 / 鸿蒙电脑。

04 Rust 在这里做了什么? ​

核心逻辑用 Rust 实现。Cargo workspace 包含 core(引擎,不依赖 Tauri)、app(GUI + headless server)、cli;鸿蒙通过 path 依赖复用同一套 core。桌面端基于 Tauri 2 + Svelte 5 + xterm.js(WebGL)。

Rust 主要承担:

  • 纯 Rust SSH:基于 russh(锁定修复了相关 CVE 的版本),SFTP、端口转发、Telnet、串口、PTY 统一实现
  • 信封加密:密文进 SQLite,主密钥进系统 keychain(不可用时 sticky 降级,不允许静默换钥)
  • 一个引擎,多入口:core 不依赖 Tauri,CLI / GUI / JetBrains / headless 共用同一份数据与逻辑
  • AI 安全底座:输出本地脱敏截断,命令用 tree-sitter 解析成 bash AST 后做黑名单校验
  • 终端解码:用 encoding_rs 处理 GBK 等非 UTF-8 输出,老设备中文日志不再乱码

05 上手体验 ​

从 https://github.com/shihuili1218/rssh/releases 下载对应平台安装包:

  • macOS 提供 Apple Silicon / Intel dmg
  • Windows 提供 msi / 安装器 / 便携版
  • Linux 提供 deb / rpm / AppImage
  • Android 提供 APK
  • iOS 走 App Store
  • 鸿蒙手机端和电脑端已上架华为应用市场
  • JetBrains 插件:Settings → Plugins → Install Plugin from Disk

连接信息支持从 ~/.ssh/config 一键导入,配好 WebDAV 或 GitHub 私有仓库即可开启多端同步。

源码构建(需要 Node.js + Rust 工具链):

git clone https://github.com/shihuili1218/rssh.git
cd rssh
npm install
npm run tauri -- dev     # 本地开发
npm run tauri -- build   # 打包

06 开源共建,欢迎参与 ​

RSSH 目前仍处于快速迭代期,路线图与贡献指南已放在仓库中。不同背景的开发者都能找到切入点:

  • Rust 开发者:核心连接与认证、加密存储与同步、CLI / headless server
  • 前端开发者:Svelte 终端界面和 HTML/JS 插件生态
  • 移动端与鸿蒙开发者:Android / iOS / 鸿蒙体验打磨同样重要 欢迎提交 Issue,更欢迎聚焦的 PR。

项目主页:https://xuanwu.openatom.org/articles/project/rssh


旋武社区 Rust 开源项目推荐栏目,持续发掘国内优质 Rust 开源项目。RSSH 已收录至旋武社区项目库,欢迎前往社区官网项目页查阅更多项目,也欢迎向我们投稿推荐有意思的 Rust 项目。

旋武开源社区:https://xuanwu.openatom.org

致力于在中国普及和发展 Rust 编程语言,培育中国 Rust 专家,繁荣 Rust 生态。