用 Rust + GPUI 写了个开源 SSH 客户端 ShellRS: Xshell 式终端 + WinSCP 式 SFTP

7 天前
 arg0

习惯了 Xshell + WinSCP 那一套操作,换到 macOS 后一直没找到顺手的替代,于是自己撸了一个。AI 模型主要用的是 Opus 5.5 。Opus 5.5 这波感觉成本真的如宣传中说的那样整体成本比上一代降低了 40% 左右,国庆高强度 xhigh 写了一周,max 5x 套餐才用了不到 40%。

支持在堡垒机中直接调用,兼容 Xshell 和 WinSCP 调用方式,直接在堡垒机中 Xshell 和 WinSCP 路径配置中配置 ShellRS 可执行程序路径即可,还能直接让 AI Agent 直接调用排查服务器问题。

主要特点

原生跨平台 Rust 编写,界面用的是 Zed 编辑器的 GPU 渲染框架 GPUI ,不是 Electron 等套壳浏览器,体验速度起飞的感觉。macOS 、Windows 、Linux 都能使用。

Xshell 式的主机管理和终端

WinSCP 式的 SFTP

连接方式

端口转发 本地(-L )、远程(-R )、动态(-D )三种,配置时有示意图。断线自动重连,可以设成随软件启动自动开启。

右侧栏工具 在当前终端的连接上直接查看系统监控、进程、systemd 服务、Docker 容器和网络连接,

安全 密码和私钥口令只存进系统钥匙串( macOS 钥匙串、Windows 凭据管理器、Linux Secret Service ),本地数据库里没有任何密码。

让 AI Agent 用 自带 shellrs 命令行,Claude Code 、Codex 这类 Agent 能用保存的主机执行命令、上传下载文件,不用把密码交给它们。 还支持在堡垒机中让 agent 以 --terminal 模式直接在打开的终端中执行命令(堡垒机一般不允许连接新开通道,只能复用现有通道)

4751 次点击
所在节点    分享创造
75 条回复
woniuge
6 天前
试用了一下,整体体验很不错,感谢开发者的用心!
希望软件后续能够考虑增加类似 Xshell 的自定义功能,例如支持显示或隐藏撰写栏、快速命令栏等功能模块。
希望后续版本能够考虑采纳这个建议,期待软件越做越好!
woniuge
6 天前
还有软件外观显示浅色配色,终端显示深色配色,似乎无法这样搭配,目前只能全浅色或者全深色。
rming
6 天前
强👍
liansishen
6 天前
反手就一个 star ,这 UI 看起来就很舒服
coosir
6 天前
确实挺快的。多台设备间的 ssh 主机信息同步有考虑么?
EliStone
6 天前
@coosir #25 还真有人有这个需求啊 ,我也 AI 了一个,webdav 同步密钥的 https://github.com/330079598/tTerm 就是是 rust + tauri ,内存占用终于到 1g 一下了,内存占用太难顶了
hefish
6 天前
先 star 了,后续看看,现在还在用 electerm ,因为信创的机器上也没好的工具用。
wbrobot
6 天前
单纯好奇问下楼主,为何国内访问默认英文?还要自己切换语言?
莫非获取国内 IP 判断一下那么难?
zmh69695328
6 天前
和 termark 好像
asilin
6 天前
试用了下,提几点建议:
1. 将 UI 的主题和终端的主题分开,浅色 UI 为什么不能配置深色终端主题呢?
2. 有些快捷键和 bash 冲突了,例如很常用的 ctrl + w 用于删除当前单词,但是却变成了关掉当前终端了,需要尊重下 shell 的快捷键
3. 无法矩阵选中,在 gnome-terminal 中按住 Ctrl + 鼠标滑动,就能选中一块矩阵区域来复制

总体来讲软件 UI 很棒,但是终端部分需要单独设计适配下。
arg0
6 天前
@wbrobot 现在是根据浏览器语言来的,如果是中文和日文就跳到对应语言,其他语言直接默认英文。
arg0
6 天前
@zmh69695328 程序界面和操作主要参考的就是 Xshell, WinSCP, Termark
arg0
6 天前
@ob #12 刚发了个新版本,其中有一项更新就是 Windows 能切其他可用盘符。
wbrobot
6 天前
试用了一下,提几点建议:
1 ,安装界面始终英文,和网站类似
2 ,终端中复制确实有问题
3 ,sftp 上传完能否消失,历史记录把最新的上传动态挤到下面不可见的地方去了
4 ,能否增加登录后自动执行命令片段
5 ,终端颜色应该和主题颜色分离
YGBlvcAK
6 天前
不错不错,这个真的要支持一下,已 star ,我也是用习惯 xshell 了
Wh1t3zZ
6 天前
报个 bug,报错无法读取我的私钥文件,但我检查权限应该是没问题的,系统 MacOS 27

[终端错误:无法读取私钥文件:/Users/sam.gl/.ssh/id_ed25519]
ls -l ~/.ssh/id_ed25519
-rw------- 1 sam.gl staff 419 Jul 24 2024 /Users/sam.gl/.ssh/id_ed25519
hongye
6 天前
不错不错,支持堡垒机这个真解决痛点
itiao
6 天前
我也是粘贴-----BEGIN OPENSSH PRIVATE KEY-----111111111111111111111112222222222222222222222222222222222233333333333333333333333333333333-----END OPENSSH PRIVATE KEY----- 无法识别
yangheng4922
6 天前
不错 试了下基础功能挺完善 再丰富下功能 可以替换到正在使用的 Netcatty 了
zerofiny
6 天前
不错 已经下载使用 , github 已经 star

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1247523

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX