RSSH:零服务器改动的 AI 运维 SSH 客户端 | 旋武社区 Rust 开源项目推荐
发表于:2026-11-12
Rust 新闻
摘要
本期推荐的开源项目 RSSH,把 AI 运维、命令块定位、隐私优先同步、容器动态发现重新在 SSH 客户端里做了一遍。MIT 协议,无登录、无订阅、无广告、无遥测——用作者的话说,这不是商业模式,是 SSH 工具本该如此。
用 SSH 的人,大概都忍过这些事:密钥和连接信息交给第三方云同步,只能祈祷对方守规矩;桌面端再漂亮,出门在外手机上也干不了活;想让 AI 帮忙排个 Bug,还得在网页和终端之间来回复制粘贴;终端刷了几十屏,想找回上一条命令的结果只能一行行往上翻。
本期推荐的开源项目 RSSH,就是冲着这些“忍了很久”的设计去的。它把 AI 运维、命令块定位、隐私优先同步、容器动态发现重新在 SSH 客户端里做了一遍。MIT 协议,无登录、无订阅、无广告、无遥测——用作者的话说,这不是商业模式,是 SSH 工具本该如此。
01 它想解决的六个老问题
回忆市面上的 SSH 客户端,有没有遇到这些问题?几乎条条戳中一线开发:
- 云同步不放心:连接信息和密钥保存在厂商服务器上,只能希望对方遵守隐私政策。
- 只有桌面端:桌面端做得再好,也没有真正能干活的移动端。
- AI 排查靠手搬:想让 AI 帮忙,只能打开网页,把命令和日志复制粘贴来回倒。
- 终端只管渲染:要找某条命令的输入输出,得翻好几页、一行行找上一个 prompt。
- 静态地址管理:生产环境是弹性的、动态的,却还在维护静态 IP / 域名表。
- IDE 里临时用一下太重:想在 IDE 里顺手连一下服务器,得打开完整客户端。
02 四个核心改动
① AI 运维:内置 AI + MCP 两条路
RSSH 提供两种 AI 自动化方式:内置 AI 和 MCP。两者都能让 LLM 直接读取终端输出、执行命令,把“人当数据线”的复制粘贴活接了过去。
- 内置 AI 适合排查通用系统问题、安装软件

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

所有命令都会经过本地脱敏与结构化校验,黑名单可自定义,危险操作可转人工审批。
② 抽象命令块:零服务器改动,快速定位输入输出
执行完一条命令后回到命令开头,是极其常见却被很多客户端忽视的动作。Warp 解决得漂亮,但需要改服务器端 shell 集成脚本。
RSSH 走的是完全前端实现、零服务器改动的路线:根据回车信号划分每条命令,为输入输出附上色条,根据色条长度就能快速定位命令范围。

③ 多平台同步:密钥和连接信息分开存
从设计之初就把隐私放在第一位:
- 密钥保存在操作系统的 keychain / key server 里,RSSH 本身不保存用户密钥
- 连接信息加密后保存在你自己的 WebDAV 或 GitHub 私有仓库 没有第三方云,也没有“RSSH 云”。

④ 动态发现:把 Docker context 和 K8s 容器可视化
把开发机器上的 Docker context 和 kubectl 管理的容器 / pod 直接可视化,选中后自动执行:
docker exec ...省去手工查表拼命令。实现简单,但非常实用。

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 生态。
