爱意满满的作品展示区。
arg0

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

  •  3
     
  •   arg0 · Oct 10 · 5559 views

    习惯了 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 式的主机管理和终端

    • 分组可任意嵌套,支持搜索、拖动整理
    • 多标签,标签可拖成左右 / 上下分屏,终端和 SFTP 并排看
    • 标签栏实时显示连接延迟,连上后自动识别远程系统

    WinSCP 式的 SFTP

    • 双栏 Commander 布局,沿用 WinSCP 的列和快捷键( F5 / F2 / F7 / F8…)
    • 传输队列:传输进行中也能继续发起新的
    • 断点续传,断线自动重连
    • 内置编辑器:双击远程文件直接改,保存直接写回服务器;图片和 Markdown 可预览

    双栏 SFTP

    连接方式

    • 多级 SSH 跳板、HTTP / SOCKS5 代理
    • JumpServer 等堡垒机可以像调用 Xshell / WinSCP 一样调用它(将 Xshell 和 WinSCP 安装路径配置为 ShellRS 执行文件路径即可)

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

    端口转发

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

    右侧栏工具

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

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

    87 replies  •  2026-11-02 09:39:04 +08:00
    shakukansp
    1
    牛逼啊,起名字越随便越牛逼
    ffalex
    ffalex
    Oct 10 via Android
    2
    ai 时代真是想怎么把玩就怎么把玩啊,现在 rust+gpui 的应用也在慢慢增加
    arg0
    arg0
    OP
    Oct 10
    3
    @ffalex 感觉 GPUI Kit 现在挺成熟了,Rust 界的 shadcn/ui
    default996
    4
    在 win 下本地终端只能使用 cmd.exe ?
    khao
    khao
    Oct 10
    5
    能提个需求吗,右下角的编码可以像 Xshell 一样支持实时修改。
    IBMall
    IBMall
    Oct 10
    6
    很棒的 shell 终端,以及具备很高的可用性;
    期待越来越强;
    676529483
    676529483
    Oct 10
    7
    很强完全不卡,以前常有的都顿顿的,已 star 。
    提个建议哈,能不能增加配置项选中文字自动复制,对于运维很管用,感谢
    arg0
    arg0
    OP
    Oct 10
    8
    @676529483 是指选中的文字,点右键就自动复制吗?下次更新加一个。
    zlevai
    zlevai
    Oct 10
    9
    牛逼 好用
    root71370
    root71370
    Oct 10
    10
    全民制作人
    ob
    ob
    Oct 10
    11
    还没支持 ZModem 协议吗?建议加上
    ob
    ob
    Oct 10
    12
    SFTP 本地目录不能切到 D 盘,默认只能是 C 盘
    ala2008
    ala2008
    Oct 10
    13
    先 star 了,是不是只有老中才这么热衷于造轮子
    676529483
    676529483
    Oct 10
    14
    @arg0 #8 不用点右键,选中文字就自动复制到剪切板了,item2 可以,我记得以前用 xshell 里好像也可以
    mindddd
    mindddd
    Oct 10
    15
    已用
    zlevai
    zlevai
    Oct 10
    16
    @676529483 终端里已经可以 我刚试了可以
    zlevai
    zlevai
    Oct 10
    17
    @zlevai 好像是仅限本地终端里
    mpi2018
    mpi2018
    Oct 10
    18
    终端颜色怎么搞出来,设置里选主题没有效果
    PopRain
    PopRain
    Oct 10
    19
    先 STAR 再慢慢看
    mpi2018
    mpi2018
    Oct 10
    20
    @mpi2018 明白了,Debain 默认就没有颜色,ll --color=auto 可以
    woniuge
    woniuge
    Oct 10
    21
    试用了一下,整体体验很不错,感谢开发者的用心!
    希望软件后续能够考虑增加类似 Xshell 的自定义功能,例如支持显示或隐藏撰写栏、快速命令栏等功能模块。
    希望后续版本能够考虑采纳这个建议,期待软件越做越好!
    woniuge
    woniuge
    Oct 10
    22
    还有软件外观显示浅色配色,终端显示深色配色,似乎无法这样搭配,目前只能全浅色或者全深色。
    rming
    rming
    Oct 10
    23
    强👍
    liansishen
    24
    反手就一个 star ,这 UI 看起来就很舒服
    coosir
    coosir
    Oct 10
    25
    确实挺快的。多台设备间的 ssh 主机信息同步有考虑么?
    EliStone
    EliStone
    Oct 10
    26
    @coosir #25 还真有人有这个需求啊 ,我也 AI 了一个,webdav 同步密钥的 https://github.com/330079598/tTerm 就是是 rust + tauri ,内存占用终于到 1g 一下了,内存占用太难顶了
    hefish
    hefish
    Oct 10
    27
    先 star 了,后续看看,现在还在用 electerm ,因为信创的机器上也没好的工具用。
    wbrobot
    wbrobot
    Oct 10
    28
    单纯好奇问下楼主,为何国内访问默认英文?还要自己切换语言?
    莫非获取国内 IP 判断一下那么难?
    zmh69695328
    zmh69695328
    Oct 10 via Android
    29
    和 termark 好像
    asilin
    asilin
    Oct 10
    30
    试用了下,提几点建议:
    1. 将 UI 的主题和终端的主题分开,浅色 UI 为什么不能配置深色终端主题呢?
    2. 有些快捷键和 bash 冲突了,例如很常用的 ctrl + w 用于删除当前单词,但是却变成了关掉当前终端了,需要尊重下 shell 的快捷键
    3. 无法矩阵选中,在 gnome-terminal 中按住 Ctrl + 鼠标滑动,就能选中一块矩阵区域来复制

    总体来讲软件 UI 很棒,但是终端部分需要单独设计适配下。
    arg0
    arg0
    OP
    Oct 10
    31
    @wbrobot 现在是根据浏览器语言来的,如果是中文和日文就跳到对应语言,其他语言直接默认英文。
    arg0
    arg0
    OP
    Oct 10
    32
    @zmh69695328 程序界面和操作主要参考的就是 Xshell, WinSCP, Termark
    arg0
    arg0
    OP
    Oct 10❤️1
    33
    @ob #12 刚发了个新版本,其中有一项更新就是 Windows 能切其他可用盘符。
    wbrobot
    wbrobot
    Oct 10
    34
    试用了一下,提几点建议:
    1 ,安装界面始终英文,和网站类似
    2 ,终端中复制确实有问题
    3 ,sftp 上传完能否消失,历史记录把最新的上传动态挤到下面不可见的地方去了
    4 ,能否增加登录后自动执行命令片段
    5 ,终端颜色应该和主题颜色分离
    YGBlvcAK
    YGBlvcAK
    Oct 10
    35
    不错不错,这个真的要支持一下,已 star ,我也是用习惯 xshell 了
    Wh1t3zZ
    Wh1t3zZ
    Oct 10
    36
    报个 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
    hongye
    Oct 10
    37
    不错不错,支持堡垒机这个真解决痛点
    itiao
    itiao
    Oct 10
    38
    我也是粘贴-----BEGIN OPENSSH PRIVATE KEY-----111111111111111111111112222222222222222222222222222222222233333333333333333333333333333333-----END OPENSSH PRIVATE KEY----- 无法识别
    yangheng4922
    39
    不错 试了下基础功能挺完善 再丰富下功能 可以替换到正在使用的 Netcatty 了
    zerofiny
    zerofiny
    Oct 10
    40
    不错 已经下载使用 , github 已经 star
    tangqiu0205
    41
    好用, 但是希望文件浏览可以侧边展示像下面这样, 如果想要左右 2 屏,可以加个放大面板按钮

    ![3b3527fb8a9e97ba6d51a3c61fdd43d4.png]( https://i.mji.rip/2026/10/10/3b3527fb8a9e97ba6d51a3c61fdd43d4.png)
    hesetiema
    hesetiema
    Oct 10
    42
    Slint vs GPUI-Kit 有没有什么说法?
    mamumu
    mamumu
    Oct 10
    43
    可以 已 star
    IamJ
    IamJ
    Oct 10
    44
    看着不错,晚上试用一下
    CyberZCS
    CyberZCS
    Oct 10
    45
    牛逼!严肃下载,认真使用,必须 Star !
    bigtan
    bigtan
    Oct 10
    46
    ssh agent 的密钥调用似乎有些问题 没有办法正确唤起 bitwarden 的 ssh agent
    lstt
    lstt
    Oct 10
    47
    看了一下似乎还不错,一直想找一个体积小一些的,有不少开始用的时候都还比较小,然后更新几次就上百 MB 了,希望这个能保持住这个体积
    bigtan
    bigtan
    Oct 10
    48
    @arg0 发了个 pr 把我 46 楼的问题修了。
    nextone
    nextone
    Oct 10
    49
    出个便携版呗
    iorilu
    iorilu
    Oct 10
    50
    这半年各种 shell 工具爆发啊

    可以说 3 个月比以前十年东西都多
    bigtan
    bigtan
    Oct 10
    51
    chatgpt 爆肝一小时 搞定了 ssh agent 使用 bitwarden 认证的问题,解决了 ssh agent forward 问题。都 pr 给楼主了,仅在 macOS 测试通过,windows 要明天测试了,我媳妇这会儿打游戏在
    arg0
    arg0
    OP
    Oct 10
    52
    @676529483 #7 0.1.8 版本新增了设置:
    在“终端”->“终端交互”下:“选中复制” 和 “右键行为” 两个配置项,可以实现想要的效果。
    arg0
    arg0
    OP
    Oct 10
    53
    @lstt 0.1.8 版本开始,macOS 安装包拆分为 Apple Silicon 和 x86 架构了,安装包更小了,20M 左右。
    arg0
    arg0
    OP
    Oct 10
    54
    @bigtan #51 macOS 按 Apple Silicon 和 Intel 分别发布安装包的 pr merge 了,不过构建有点小问题,后面的提交修复了。
    arg0
    arg0
    OP
    Oct 10
    55
    @zlevai #17 0.1.8 版本新增了设置:在“终端”->“终端交互”下:“选中复制” 和 “右键行为” 两个配置项,可以实现想要的效果。
    ZeroDu
    ZeroDu
    Oct 11
    56
    最近 max 订阅闲置,也用 AI 借鉴了几个项目搞了一个,不过还是你这个功能全,就用你这个了😭
    RayLin
    RayLin
    Oct 11 via Android
    57
    把 mcp server 功能开发一下,这样可以和 ai 共同使用。
    sn0wdr1am
    sn0wdr1am
    Oct 11
    58
    软件美观,响应流畅丝滑。

    下面特性是否支持?

    1. 导入 ssh 密钥
    2. 导入 ssh 配置中的主机?
    3. 从其他常用 ssh 客户端配置中导入主机
    lstt
    lstt
    Oct 11
    59
    @arg0 #53 不错不错体积小对于丐版电脑太友好了。就是不知道以后是不是会更新更多功能,然后因为功能的增加而体积增大。
    ZeroDu
    ZeroDu
    Oct 11
    60
    @RayLin #57 有 cli 的,搭配 skills 使用
    Dukewill
    Dukewill
    Oct 11 via iPhone
    61
    厉害,看起来真的能替代 windows 上那一套,希望项目能做下去
    zmh69695328
    zmh69695328
    Oct 11 via Android
    62
    点赞,已重度使用中,不过 sftp 能否可以选择单栏布局,只在窗口右侧展示远程服务器的文件目录呢?
    charley008
    63

    sftp 的界面有没有更多主题?类似 xftp 那种,图中右侧。
    mightofcode
    64
    wow
    arg0
    arg0
    OP
    Oct 12
    65
    @wbrobot #34 windows 安装界面多语言问题 0.1.9 版本解决了。
    arg0
    arg0
    OP
    Oct 12
    66
    @default996 0.1.9 版本,新增了设置项,终端 -> 本地终端 -> shell 设置,Windows 默认优先 PowerShell 了
    arg0
    arg0
    OP
    Oct 14❤️1
    67
    @charley008 已支持这个功能,根据 gpui-kit 设计规范默认还是单色图标,可以在 “设置 › SFTP › 图标风格” 启用彩色风格。
    arg0
    arg0
    OP
    Oct 14
    68
    @zmh69695328 #62 已支持这个功能,终端右侧栏增加了“文件”侧栏,另外还增加了目录追随。
    arg0
    arg0
    OP
    Oct 14
    69
    @tangqiu0205 已支持这个功能,终端右侧栏增加了“文件”侧栏,另外还增加了目录追随。
    charley008
    70
    还有几个建议
    1 增加同步功能。
    2 我的私钥 貌似是明文保存在 C:\Users\xxx\AppData\Roaming\shellrs\keys
    3 当我输入 exit 的时候标签页没有自动关闭。
    46fo
    46fo
    Oct 14
    71
    搞个 win 便携单文件绿色版的吧 有 AI 不难
    arg0
    arg0
    OP
    Oct 14
    72
    @charley008 #70 私钥本身是原样保存,但“密码”和“私钥口令”存进的是 macOS 钥匙串、Windows 凭据管理器和 Linux Secret Service

    如果对安全性有要求,加个私钥口令
    arg0
    arg0
    OP
    Oct 14
    73
    @46fo Windows 绿色版本身不麻烦,但在线升级功能要单独为便携版特殊处理下,所以还没加这功能。如果大家都喜欢便携版的,加上也行。
    lighter
    lighter
    Oct 14
    74
    快速好用,已 star ,期待未来更新更多功能
    no2cat
    no2cat
    Oct 14
    75
    mac 服务器终端配色好像只会显示纯白。
    arg0
    arg0
    OP
    Oct 19
    76
    @sn0wdr1am 已支持从 ~/.ssh/config, ~/.ssh/known_hosts 中导入
    arg0
    arg0
    OP
    Oct 19❤️1
    77
    @ob #11 已支持 ZModem 协议,rz, sz 可以直接上传下载了。
    arg0
    arg0
    OP
    Oct 19
    78
    @nextone 已支持便携版
    zookao
    zookao
    Oct 19
    79
    已使用,已 star ,卸载了 tabby ,希望作者持续维护
    nextone
    nextone
    Oct 19
    80
    @arg0 👍便携版已用上,Windows 准备作为主力。
    yangxiaopeipei
    81
    能支持一下 jumpserver 吗
    woniuge
    woniuge
    Oct 20
    82
    @arg0
    功能优化建议

    命令片段排序:支持对命令片段进行排序,默认按照添加时间排序。

    命令片段列表精简显示:希望右侧命令片段列表支持切换为仅显示名称的精简模式,隐藏详细命令内容,以便在同一屏幕内展示更多命令,减少上下滚动查找的操作。鼠标悬停在命令名称上时,再显示对应的完整命令内容。

    增加命令撰写栏:希望增加类似 Xshell 的命令撰写栏,支持在撰写栏中输入多条命令,并一次性发送到服务器执行,减少频繁发送命令带来的等待时间,尤其能够改善高延迟服务器环境下的操作体验。
    52loli
    52loli
    Oct 22
    83
    看着很舒服,终于可以卸载 xshell 了
    52loli
    52loli
    Oct 22
    84
    希望可以加密保存私钥
    sn0wdr1am
    sn0wdr1am
    2 days ago
    85
    ShellRS ,会自动修改 bashrc ? @arg0

    这一段是预期的?必要的?是否有必要提前通知用户?


    ```bash
    # >>> ShellRS directory follow >>>
    # Reports the shell's folder to the terminal (OSC 7) before each prompt.
    __shellrs_osc7() {
    local rc=$? url= i ch hex LC_CTYPE=C LC_COLLATE=C LC_ALL= LANG=
    for ((i = 0; i < ${#PWD}; i++)); do
    ch=${PWD:$i:1}
    case $ch in
    [/._~A-Za-z0-9-]) url+=$ch ;;
    *) printf -v hex '%02X' "'$ch"; url+="%${hex: -2:2}" ;;
    esac
    done
    printf '\033]7;file://%s%s\a' "${HOSTNAME-}" "$url"
    return $rc
    }
    case ";${PROMPT_COMMAND-};" in
    *";__shellrs_osc7;"*) ;;
    *) PROMPT_COMMAND="__shellrs_osc7${PROMPT_COMMAND:+;$PROMPT_COMMAND}" ;;
    esac
    # <<< ShellRS directory follow <<<
    ```
    arg0
    arg0
    OP
    2 days ago
    86
    @sn0wdr1am #85 这是打开了右侧侧栏中的“文件”浏览功能,第一次打开的时候,会有确认框弹出,是否启用“目录跟随功能”,如果确定的话,就会加入上面脚本,用于在终端中切换目录,让右侧文件浏览也一起同步切换目录。
    sn0wdr1am
    sn0wdr1am
    2 days ago
    87
    @arg0 👌
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2157 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 124ms · UTC 16:03 · PVG 00:03 · LAX 08:03 · JFK 11:03
    ♥ Do have faith in what you're doing.