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

肝了大半年,我的原生三端 SSH 客户端 Shellby 上架了——内置一个 AI Agent

  •  
  •   mahui · 8 days ago · 1253 views

    做了大半年的 SSH 客户端 Shellby 今天正式上架 App Store 了,来 V 站交个作业。

    一句话:一套原生 Swift 代码,同时跑 iPhone / iPad / Mac。不是套壳、不是 Electron——在 Mac 上是能分屏、多窗口、命令广播的专业工作站,揣进兜里又是随时能连服务器排障的终端。

    Shellby 三端

    📦 下载(一次下载,三端通用): https://apps.apple.com/cn/app/shellby-ssh-client-terminal/id6786177565

    为什么又造一个 SSH 客户端的轮子

    市面上的选择要么是订阅制的跨平台大件,要么是好几年没更新的老工具。作为一个天天连服务器的人,我想要的其实很简单:原生、快、安全边界清楚,并且在 AI 时代能真正帮我干活——而不是只帮我补全命令。于是就有了 Shellby 。

    亮点一:AI Agent ,但每一步都过审批门

    这是我自己最想要的功能:说句人话,它帮你在服务器上干活。「装好 nginx 并反代到 :3000 」——AI 现场拆解计划、逐条执行、盯着输出决定下一步。

    但它和「把终端交给 AI 」有本质区别:每条命令都要过一道本地分类器审批门——

    • 只读命令(cat / ls / uname 这类)自动放行;
    • 会改状态的命令,弹卡片等你点批准;
    • 破坏性操作(rm -rfdrop database 这类)强确认,想跳都跳不过去。

    改文件先给你看 diff 再落盘,你拒绝时的理由会回传给模型重新规划。执行的命令和输出同步镜像进终端,全程可见、可回溯。

    真实工作画面( Mac 版):

    Shellby AI Agent 实拍

    三级审批门

    模型是 自带 API Key ( BYOK ):Anthropic 或任意 OpenAI 兼容端点都能接——DeepSeek 、Kimi 、GLM 、通义,或者干脆 Ollama 跑本地模型。回传给模型前,输出会先在端上脱敏( IP 、密钥这类敏感串)。

    亮点二:Mac 上是真·工作站

    • 分屏多 pane:一个窗口并排盯多台机器;
    • 命令广播:一次输入,同步发往所有会话——批量改配置、滚动重启是真的香;
    • 多窗口、原生菜单栏和快捷键,不是「手机 App 放大版」。

    命令广播

    亮点三:该有的都有

    • SFTP:内置文件浏览器,断点续传、多任务并发;
    • 端口转发:本地 -L / 远程 -R / 动态 -D SOCKS ,独立隧道断线自动重连;
    • 跳板机:ProxyJump 多跳链路,防环检测;
    • 服务器监控:CPU / 内存 / 磁盘 / 负载实时面板,连上即看。

    亮点四:安全

    Secure Enclave

    • 私钥优先存 Secure Enclave,硬件绑定、永不离开设备;
    • 主机指纹 TOFU 校验,中间人当场拦下;
    • 全程离线可用、不强制注册账号,没有自建服务器中转你的任何流量;
    • 多端同步走 iCloud:主机/分组经 CloudKit 、凭据经 iCloud 钥匙串,端到端加密,连 Apple 也读不到。

    技术栈

    Swift + SwiftUI 三端共享一套代码; SSH 层基于 SwiftNIO SSH ( Citadel ),终端渲染 SwiftTerm ,数据层 SwiftData + CloudKit 。最低 iOS / iPadOS 17 ,macOS 14 。

    收费

    • 免费:3 台主机 + 完整终端体验 + AI Agent ;
    • Pro:无限主机、密钥管理(生成/导入 Ed25519 、RSA )、SFTP 、端口转发/隧道、服务器监控、iCloud 同步;
    • 订阅和永久买断都有,价格见商店页。独立开发,用爱发电之余总得回点血 🙏

    链接

    第一个版本肯定还有糙的地方,欢迎拍砖——尤其想听重度 SSH 用户觉得还缺什么。评论必回。

    Supplement 1  ·  6 days ago
    v1.0.5 已经上线,去 App Store 就能更新了。

    这版更新的全部改进,都来自本帖 @break 的三条反馈,特此感谢——商店的更新说明里也给你署名了:

    - AI 面板:消息文本可选中复制,每条回复带一键复制按钮
    - AI 面板:命令输出完整显示、不再截断;宽度可自由调整( Mac 拖面板左缘,iPad 拖分隔条)
    - 终端新增「选中即复制」:选中文字即入剪贴板,iTerm 同款习惯( Mac ,设置 ▸ 终端)

    顺手一起发布的还有:文件写入的 diff 预览可展开看全部变更;修复指纹确认弹窗可能被新建主机表单/隧道面板遮挡; iPhone / iPad 修复 vim 等全屏程序的花屏残留; Mac 长按字母键可连发( vim / less 里按住 j / k 连续滚动);弱网下会话更稳; Mac 图标重制。
    14 replies    2026-07-17 12:13:50 +08:00
    spediacn
        1
    spediacn  
       8 days ago via iPhone
    linux 和 windows 也支持我就愿意下手了
    JunJian
        2
    JunJian  
       8 days ago
    跟我 WARP 本地 + codex cli 服务器有什么区别
    mahui
        3
    mahui  
    OP
       7 days ago via iPhone
    @spediacn 感谢支持!跨平台已经在我们的 Long-term Roadmap 里面了。
    目前第一阶段想先把 iOS/macOS 端的原生体验、iCloud 同步以及基础的 SSH/SFTP/AI Agent 功能打磨好。一旦 Apple 生态的功能稳定,我们就会着手规划 Windows/Linux 客户端的开发,到时候一定第一时间在社区通知大家,敬请期待!
    mahui
        4
    mahui  
    OP
       7 days ago via iPhone
    @JunJian 这个问题问得很专业! Shellby 的定位和应用场景和它们有一些不同,主要体现在以下几点:
    1. 全平台/移动端原生体验:Warp 目前主要在桌面端,而 Shellby 提供了完整的 iOS 客户端,支持手机/iPad 随时随地应急运维。
    2. 开箱即用与跨端同步:Shellby 内置了多端同步( iCloud ),不需要你手动去配置各种 SSH 密钥、Config 文件的多端同步。在手机上配置好,Mac 上直接就能用。
    3. AI 能力的集成方式:Shellby 的 AI Agent 更加针对移动端和临时运维场景做了优化,提供更直观的 UI 交互,而不需要在纯 CLI 里去记复杂的 AI 触发指令。
    4. 轻量与原生:Shellby 追求的是轻量、快速启动和低系统资源占用,尤其在移动端做了很多性能和触控上的细节优化。
    简单来说,如果你一直坐在电脑前,Warp 组合非常香;但如果你需要经常在多设备间切换、或者有随时随地用手机/iPad 连服务器排查问题、查看监控的需求,Shellby 会是一个更省心、更优雅的互补选择。欢迎体验对比,多提宝贵意见!
    break
        5
    break  
       7 days ago
    AI Agent 面板的信息不能复制,有些分析结论可能需要复制
    break
        6
    break  
       7 days ago
    终端面板信息没有选中即复制功能,突然有点不习惯,用 iTerm 习惯了每次是选中默认复制
    break
        7
    break  
       7 days ago
    AI 面板信息有显示不全的问题,而且该面板尺寸不能自定义宽度
    spediacn
        8
    spediacn  
       7 days ago via iPhone
    核心问题是:各个平台授权各算各的还是一个平台获得授权,全栈可用?
    spediacn
        9
    spediacn  
       7 days ago via iPhone
    包括 lts 下的 windows/linux
    mahui
        10
    mahui  
    OP
       7 days ago
    @break 感谢这么细致的反馈,三个问题都收到了,已经全部修复,会随下个版本一起发布:

    1. AI 面板不能复制 —— 已支持:消息文本现在可以直接选中复制,另外每条 AI 消息旁边加了一个复制按钮,一键复制整条分析结论(窄面板里拖选不方便,按钮更顺手)。
    2. 选中即复制 —— 已做成设置项:「设置 ▸ 终端 ▸ 选中即复制」,默认关闭。打开后就是 iTerm 的行为:选中即写入剪贴板,选区高亮保留。对已打开的会话实时生效,不用重连。
    3. 显示不全 / 宽度不能调 —— 这条你说得对,是实打实的问题。修了两处:命令输出原来超过 64KB 会被静默截断,这个截断已经彻底移除,现在看到的输出永远是完整的; AI 面板宽度也可以调了,拖面板左边缘即可( 320–720pt ),宽度会记住。

    再次感谢,这三条都提得非常准。有其他问题随时说。
    mahui
        11
    mahui  
    OP
       7 days ago
    @spediacn 好问题,分两层说:

    Apple 生态内( iPhone / iPad / Mac ):一次购买、全端可用。三端是同一个 App (同一条商店记录),走 Apple 账号的通用购买,换设备装上就自动解锁,不需要注册任何账号。

    将来的 Windows / Linux / 我还想到了 Android:我的想法是明确的——授权就该是全平台一份,不想让大家按平台重复买单。但实话说这块还得想点办法:Apple 端走的是苹果原生的购买体系,出了这个生态就没有现成的凭证可以互认;而这个 App 管的是 SSH 密钥这类敏感数据,我又不想为了授权互通去搞用户注册登录那一套(多一个账号体系就多一份数据风险,跟产品初衷相悖)。所以跨生态授权大概率会走类似离线授权码的轻量方案,具体形式等 Windows/Linux 版立项时定,但"一份授权全栈可用"这个方向不会变,Apple 端的老用户到时候也会有妥善的互通安排。
    break
        12
    break  
       6 days ago

    1 、出现了多次 ai 接口返回数据报错,然后就不能继续,只能开新的对话窗口

    2 、ai 窗口的命令执行,需要在设置里面添加白名单、黑名单,大部分命令都要手动确认不太合理。比如 find 、grep 、sed 、awk 这些高命中无害的命令,可以配置白名单直接默认执行,一些高危的敏感命令可以自定义黑名单,这样使用过程中会更舒服

    3 、对话现在还只支持纯文本,如果能够支持图片和文件会更好~~

    4 、希望有“命令工具库”或者说“脚本库”,就是在终端底部或者头部有一行常用的命令工具,一键执行那种,可以自定义添加扩展这个工具库,有一些比较复杂的自己日常常用的命令行,可以一键点击执行。这个比和 ai 对话和自己输入都更方便

    工具挺好用,够简洁,很适合我的使用习惯。希望越做越好~~
    break
        13
    break  
       6 days ago


    还有一点,这个复制功能还有点别扭。比如刚刚报错的地方,我更多的是想复制这个报错信息,但是报错信息是不支持一键复制的,那个复制按钮只能复制上面那一段。但是窗口里面鼠标框选复制,有点奇怪,好像跨行复制有点卡顿还是限制,就不是正常的按住左键滑动到哪就选择到哪的那种感觉
    mahui
        14
    mahui  
    OP
       4 days ago
    @break 感谢这么详细的反馈,对我们帮助很大!逐条回复一下:

    1 、AI 接口 400 报错后对话卡死 —— 问题已定位并修复。根因是部分 AI 服务返回的工具调用参数不是合法 JSON(或网络中断留下半截数据),存进对话历史后每次续聊都会被服务端拒绝,导致整个对话卡死。修复后会自动清理这类脏数据,之前已经卡死的旧对话在升级后点"继续"也能恢复,不用弃掉重开。修复将随下个版本发布,近期就会提审。

    2 、命令白名单/黑名单 —— 目前审批弹窗里已支持"批准并加入白名单",加过一次后同类命令不再询问。你提的"find 、grep 、sed 、awk 等只读安全命令默认放行"是个好主意,我们会考虑内置一份默认安全命令白名单,减少不必要的确认。

    3 、对话支持图片/文件 —— 这个需求已记下,不过涉及的改动较大,近期版本暂时不会加入,计划在后续版本中支持,还请耐心等待~

    4 、命令工具库/脚本库 —— 很实用的建议,一键执行常用命令确实比每次输入或问 AI 更顺手,我们会纳入功能规划。

    5 、报错信息复制、跨行框选 —— 已确认这块体验确实别扭,会在后续版本改进:报错信息支持一键复制,框选复制也会优化得更跟手。

    再次感谢支持,有问题随时反馈~置的破坏性命令(rm -rf 、dd 、mkfs 等)始终拦截,白名单不会打穿这条底线。下个版本随更新。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   998 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 22:22 · PVG 06:22 · LAX 15:22 · JFK 18:22
    ♥ Do have faith in what you're doing.