Xuz and Claude Opus 5.5
2de318a4e6
开始页加「快速连接」:搜索保存的主机,回车或单击连接
...
「最近连接」标题右边,「新建主机…」左边加一个小号的「快速连接」按钮(两个按钮都改成小号)。
打开的对话框列出所有保存的主机,连接过的按最近连接排在前面,其余按名称排;每行是系统徽章、
名称和「分组 · 用户@地址:端口」。名称、地址、用户名、备注和分组都能搜,几个词都要匹配。
打开时不高亮任何一台,输入后高亮第一个匹配的,回车或单击连接。
多选(Tab 选中、⌘A 全选、⇧↵ 批量连接)已经做好但先关掉,常量 MULTIPLE 打开即可。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-04 19:20:57 +08:00
Xuz and Claude Opus 5.5
9474c9e789
临时连接:标题栏「临时连接…」打开对话框,连一台主机而不保存
...
标题栏右上角的「新建主机…」换成「临时连接…」(新建主机还在主机列表的「+」、
右键菜单和 ⌘N)。对话框沿用主机对话框,去掉分组、连接方式和备注,名称可不填;
密码只留在内存里,不进钥匙串。连上后功能齐全(不像外部连接只开一个通道),
不进主机列表和最近连接,标签都关掉就没了;可以使用凭据,凭据改动和删除也
照顾到它。外部 CLI 不区分临时连接和外部连接,表格写「(未保存)」。
测试连接选「密码」却没填时,按「无密码」那样试(免认证、SSH Agent、默认私钥),
服务器要密码时报「未填写密码」。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-04 15:52:29 +08:00
Xuz and Claude Opus 5.5
835894625f
README:功能列表补上右侧栏工具,截图一节加右侧栏工具的拼图
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 19:03:05 +08:00
Xuz and Claude Opus 5.5
28d4799154
README:写明可以像 Xshell、WinSCP 一样从堡垒机打开
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 17:54:07 +08:00
Xuz and Claude Opus 5.5
f1a7c68907
版本号改为 0.1.1
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.1.1
2026-10-03 17:51:28 +08:00
Xuz and Claude Opus 5.5
76f832caf6
Agent skill 去掉外部连接那一条
...
ID 失效时 CLI 自己会报 host_not_found,Errors 一节已经写了重新 list;agent 也看不到
标签开没开,按名字 list --query 就能找到外部连接。skill 回到 3c0871e 之前的内容。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 17:45:02 +08:00
Xuz and Claude Opus 5.5
6dcd084840
版本号改为 0.1.0:第一个正式版
...
更新日志的 0.1.0 一节补上右侧栏和从堡垒机打开;README 不再说目前只有 Beta 版。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.1.0
2026-10-03 17:09:33 +08:00
Xuz and Claude Opus 5.5
ac6f8eaeba
版本号改为 0.1.0-beta.9
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.1.0-beta.9
2026-10-03 15:44:49 +08:00
Xuz and Claude Opus 5.5
2feae2fe3b
外部连接:sftp:// 链接打开 SFTP 标签,兼容 WinSCP 的调用方式
...
堡垒机像调 WinSCP 一样拉起 ShellRS(`ShellRS sftp://用户[:密码]@地址[:端口]`,
前面可以有 `/sessionname=名称`),开一个不保存的 SFTP 标签,左侧栏收起;
其余规则和 ssh:// 的外部连接一样。WinSCP 的其他开关忽略,链接里的路径暂不认。
补了 SFTP 不带密码、只凭账号(堡垒机令牌)登录的协议测试。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 15:44:17 +08:00
Xuz and Claude Opus 5.5
d5370f8bac
外部连接:改名并在打开时收起左侧栏
...
命名(用户定的):命令行链接打开的叫「外部连接」(不保存、只开终端);以后在
ShellRS 里直接输入地址、不保存但功能齐全的叫「临时连接」。代码里共同的「不
保存」统一叫 temporary(HostStore 的 temporary / is_temporary、
SecretRef::Temporary、TemporarySecretStore,和 CLI 的 JSON 字段一致),「只开
终端」改由来源决定:HostStore::is_external,login_of 只对它置 shell_only,右
侧栏也看它。shellrs list 表格写「(外部连接)」。
外部连接打开时左侧栏开着就收起(同 ⌘B),终端占满窗口;链接有误时不收。
命令片段面板本来就列出全部片段,外部连接照常都能看到;以后做适用范围时外部
和临时连接只显示「所有主机」的,规则记在 CLAUDE.md。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 15:17:03 +08:00
Xuz and Claude Opus 5.5
fd34edfc1c
版本号改为 0.1.0-beta.8
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.1.0-beta.8
2026-10-03 13:40:05 +08:00
Xuz and Claude Opus 5.5
4fc7704954
临时连接只用终端这一个通道
...
用户的堡垒机在同一条连接上又来一个通道(系统探测的 exec)时会结束整个会
话:正替终端登录目标机时到来,终端报「No more authentication methods
available」;探测跑完通道一关,刚出提示符就退出。Xshell 和 OpenSSH 只开终
端一个通道。HostLogin 加 shell_only(临时主机置上):不做系统探测,工具的
命令直接拒绝、不发给服务器,右侧栏只给不执行命令的命令片段。延迟测量是全局
请求,照常。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 13:39:46 +08:00
Xuz and Claude Opus 5.5
67d36c8210
版本号改为 0.1.0-beta.7
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.1.0-beta.7
2026-10-03 13:03:48 +08:00
Xuz and Claude Opus 5.5
c0bc970de8
SSH:密钥交换按 OpenSSH 的默认,连接失败写明原因
...
用户的堡垒机是老 Java 上的 Apache SSHD 2.10:没有 curve25519,DH 组交换最大
2048 位。russh 默认不带 NIST 曲线、组交换要至少 3072 位,于是选了组交换、服务
器找不到素数就断开;OpenSSH 选 ecdh-sha2-nistp256 能连上。现在照 OpenSSH 的
顺序加上 ecdh-sha2-nistp*,组交换下限 2048(OpenSSH 的),不加 SHA-1、CBC。
route_tests 用只给 2048 位组、只有 NIST 曲线的服务端守着。
终端和 SFTP 的连接失败改用 describe_login_error:沿错误链给出真正的原因,
没有共同算法时写明服务器支持哪些,找不到时给整条错误链,不再只剩「无法建立
SSH 连接,请检查地址、端口和主机密钥」。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 13:03:18 +08:00
Xuz and Claude Opus 5.5
e7fcc7ca40
Docker:同一个镜像有多个标签时每个标签一行,按标签查看和删除
...
docker images 每个「仓库:标签」一行,同一镜像的几行镜像 ID 相同,卡片和删除
按钮的 id 因此重复:调试版构建在镜像页直接崩溃,正式版里详情和删除只认第一
行,按 ID 删多标签镜像还会被 Docker 拒绝。现在每行按 Image::key 认:有标签
用「仓库:标签」(删除只去掉这个标签),没有标签用镜像 ID。只有仓库名的镜像
显示为「仓库:<none>」、按 ID 操作,不再被当成 仓库:latest;valid_id 允许 /,
带仓库地址的镜像可以删除和查看详情。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 13:03:18 +08:00
Xuz and Claude Opus 5.5
269fab6550
版本号改为 0.1.0-beta.6
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.1.0-beta.6
2026-10-03 11:45:10 +08:00
Xuz and Claude Opus 5.5
3c0871eb4e
外部 CLI:shellrs list 也列出临时连接
...
堡垒机打开的临时连接排在保存的主机后面,JSON 里 "temporary": true,表格的
分组一栏写「(临时连接)」。标签开着期间 ID 不变;每条命令照常新建连接,用
内存里的链接密码登录,一次性令牌的堡垒机会拒绝这次登录。旧版应用的回答缺
这个字段时读成保存的主机,不升协议版本。skill 里写明这些。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 11:44:33 +08:00
Xuz and Claude Opus 5.5
87c5cfb120
堡垒机用 ssh:// 链接打开临时连接(兼容 Xshell 的调用方式)
...
`ShellRS ssh://用户[:密码]@地址[:端口]` 或 `ShellRS -url … -newtab 名称`
开一个终端标签连过去。只看第一个参数判断是不是链接,外部 CLI 的命令不受
影响;Windows 发布版也认。
- 临时连接不保存:HostStore 把它放在单独的 transient 里,按 id 找得到,
但不在 hosts() 里,不写库、不进最近连接;终端和 SFTP 标签都关掉就忘掉。
- 链接里的密码只在 TransientSecretStore 的内存里(SecretRef::Transient),
不进钥匙串。
- ShellRS 已在运行时,Request::Activate 带上链接交给它打开;不带链接时消息
和以前一字不差,旧版收到也只是调出窗口,所以不升协议版本。
- 链接有问题时弹通知说明原因,文字里不带链接原文。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 11:24:42 +08:00
Xuz and Claude Opus 5.5
ba63b3d73f
在线升级:标题栏按钮更醒目,更新对话框不再列更新说明
...
标题栏的更新按钮改成 success 色的浅色按钮(出错时 warning 色),不再是
普通图标加一个小绿点。更新对话框不再显示更新说明,页脚两个按钮:「查看
更新内容」打开 https://shellrs.com/changelog,「重启并安装」照旧;去掉
「稍后」,用关闭按钮或 Esc 关。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 00:25:41 +08:00
Xuz and Claude Opus 5.5
de0fafe6ee
Docker:有多个容器的 compose 项目默认折叠
...
只有一个容器、而且它在运行的项目默认展开;多个容器的项目展开会把下面的
都挤下去,卡片上已经写着「运行中/总数」。手动展开或折叠照旧记在面板里。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-03 00:25:36 +08:00
Xuz and Claude Opus 5.5
7886cb7138
外部 CLI:Agent Skills 增加 WorkBuddy
...
安装到 ~/.workbuddy/skills(Windows 是 %USERPROFILE%\.workbuddy\skills)。
设置页的 skill 行数按 AgentKind::ALL 的长度算,不再写死。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-02 23:25:40 +08:00
Xuz and Claude Opus 5.5
e27bb0cb63
版本号改为 0.1.0-beta.5
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.1.0-beta.5
2026-10-02 20:38:29 +08:00
Xuz and Claude Opus 5.5
290650bd18
改 src/testing.rs 时也跑 Windows CI
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-02 20:38:29 +08:00
Xuz and Claude Opus 5.5
1b6a0b6b9b
修复 Windows CI:测试辅助函数 sh 只在 Unix 上编译
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-02 20:29:17 +08:00
Xuz and Claude Opus 5.5
a20b3bae3b
主机右键菜单增加复制 IP 地址
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-02 20:23:21 +08:00
Xuz and Claude Opus 5.5
ee8441e301
命令片段:右侧栏的新工具,按分类保存常用命令,点一下输入或执行
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-02 20:09:20 +08:00
Xuz and Claude Opus 5.5
9143e387bc
历史命令:右侧栏的新工具,列出主机上 bash 的历史命令,点一下放进终端输入行
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-02 19:08:16 +08:00
Xuz and Claude Opus 5.5
2576b46e43
Docker:右侧栏的 Docker 工具,管理容器、卷、镜像和网络
...
- 容器按 compose 项目分组,可启停、重启,查看详情和日志;卷、镜像、网络可查看详情和删除
- 工具图标换成 Docker 的鲸鱼;单元测试起子进程时加锁,修好外部 CLI 测试的偶发失败
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-02 18:18:27 +08:00
Xuz and Claude Opus 5.5
610cb12fbf
系统服务:右侧栏的新工具,管理 Linux 主机的 systemd 服务
...
- 按自定义 / 系统分组,按状态分页、搜索;启动、停止、重启,启用或禁用开机启动
- 点服务打开详情,含状态和最近的日志
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-02 16:51:39 +08:00
Xuz and Claude Opus 5.5
3e8f635fa7
进程管理:右侧栏的新工具,列出 Linux 主机的进程,可查看详情和结束进程
...
- 按内存或 CPU 排序、搜索,每 15 秒刷新;点进程打开详情,含完整命令
- 右键或详情里结束 / 强制结束进程,先确认
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-02 16:10:56 +08:00
Xuz and Claude Opus 5.5
0d455e02f5
网络连接:右侧栏的新工具,列出 Linux 主机的 TCP、UDP 连接和监听端口
...
- 卡片显示协议、状态、地址、进程和用户,可搜索、按协议和状态筛选
- 打开或切换终端时读取一次,点刷新再读;系统监控和它共用终端里执行命令的部分
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-02 14:41:00 +08:00
Xuz and Claude Opus 5.5
8a0436caf6
系统监控:右侧栏的第一个工具,经终端自己的 SSH 连接读取 Linux 主机的 CPU、内存、网络和磁盘
...
- 右侧栏只跟远程终端出现,已知不是 Linux 的主机不显示监控图标,最窄 320 px
- 端口转发、凭据列表和开始页的滚动条挂到不滚动的外层上,修正滑块位置
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-02 13:34:23 +08:00
Xuz and Claude Opus 5.5
616bcead0f
终端右侧栏:窗口最右边一列工具切换,右侧 Dock 里显示所选工具,先放四个占位面板
...
- 窗口级的一份右侧栏,只跟着终端出现(远程终端和本地终端):SFTP、设置、开始页在前时
右侧栏连同按钮列都不显示,回到任一终端时按原样恢复,内容对应这个终端(主机或本机)
- 右侧 Dock 只有一个面板 ToolSidebar,按钮列由工作区画在 DockArea 外面;点工具显示、
再点收起,⌘⌥B / Ctrl+Alt+B 显示或隐藏;默认收起、宽 320 px,不持久化
- 占位工具:命令片段、历史命令、Docker、系统监控,写明将来显示什么和「即将推出」
- 当前标签统一经 Workspace::set_active_tab 改,它同步右侧栏的显示与指向的终端
- 右侧 Dock 不可折叠,只在关闭时临时可折叠,避免中间区标签栏多出 gpui-kit 的折叠按钮;
按钮不抢终端焦点,收起时焦点在右侧栏里就交还给中间的标签
- 新增 UI 测试;CLAUDE.md 记下产品决定、实现要点和测试标识
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-02 11:42:31 +08:00
Xuz and Claude Opus 5.5
0ff59d07bc
侧栏三个列表的行 tooltip 统一成主机列表的样式:开在行的右侧、主题反色、在行间跟着指针移动
...
- 主机列表的 TooltipOverlay、主人判断和动画抽成 shared::RowTooltips,主机、端口转发、凭据三个面板共用;
转发和凭据原来用 ListItem::tooltip,贴着鼠标弹出、盖住下面的行、和菜单同色
- 内容一律是一行要点、下面小一号的补充:主机是 user@地址:端口加备注,转发是完整的规则说明,
凭据是行里第二行的全文,密钥凭据下面是私钥文件的完整路径
- 转发行的启停按钮有自己的 tooltip:指针在按钮上时行的 tooltip 收起,回到行里再出来;
ListItem 的 suffix 不在内容盒里,按钮区另外量一次,tooltip 按并集定位,不再压在按钮上
- 新增转发和凭据行 tooltip 的 UI 测试;主机备注的测试 id 改为 host-tooltip-note;CLAUDE.md 同步
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-02 09:57:06 +08:00
Xuz and Claude Opus 5.5
471282f3e3
SFTP 列表的框选框改用选中名称的配色:浅蓝底色加深一点的蓝色边框(table_active / table_active_border),原来是 primary 的灰底深色框,和选中的浅蓝不搭
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-02 09:18:26 +08:00
Xuz
874f3149df
增大应用图标内容边距并更新各平台图标
2026-10-02 01:18:45 +08:00
Xuz and Claude Opus 5.5
0b72cf098f
发布的最后一步调用部署挂钩,让官网 shellrs.com 重新构建:官网的下载页和更新日志在构建时读更新清单,所以放在清单上传、清 CDN 缓存之后;挂钩地址是 release 环境的 secret SITE_DEPLOY_HOOK
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-02 01:03:02 +08:00
Xuz and Claude Opus 5.5
260e5f493f
README 的下载部分加上官网 shellrs.com/download
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-02 00:54:05 +08:00
Xuz and Claude Opus 5.5
8ae0c38998
许可证改为 GPL-3.0:分发修改版本须同样以 GPL-3.0 公开源代码;README 开头一句强调 Rust 编写、GPU 渲染界面
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 23:45:21 +08:00
Xuz
3d6801d469
README 改写成开源首页:中英文两版、真实窗口截图(主界面深浅两色、分栏、SFTP、端口转发),原来的逐项说明、发布和开发说明移到 docs/;以 MIT OR Apache-2.0 双许可发布
2026-10-01 23:36:05 +08:00
Xuz
8df26abf37
版本号改为 0.1.0-beta.4
v0.1.0-beta.4
2026-10-01 21:24:13 +08:00
Xuz
e887ffc66b
Windows 上 SFTP 本地面板的路径不再带 \\?\ 前缀:读目录和上传的来源改用 dunce 规范化,Windows CI 加跑本地读目录的测试
2026-10-01 21:23:45 +08:00
Xuz
7fa7fefeb0
版本号改为 0.1.0-beta.3
v0.1.0-beta.3
2026-10-01 21:02:31 +08:00
Xuz
75a0e76e17
开始页没有连接记录时去掉「双击左侧的主机即可连接」:标题下面已经写了
2026-10-01 21:00:22 +08:00
Xuz
ef2bd8c3a6
macOS 上点关闭按钮改为把 ShellRS 隐藏到后台:连接、传输和端口转发照常运行,点 Dock 图标恢复窗口,⌘Q 才退出
2026-10-01 21:00:22 +08:00
Xuz
bcf2db0413
Windows CI 只在推送改到平台相关代码、构建脚本或依赖时运行,tag 不再触发
2026-10-01 20:12:03 +08:00
Xuz
e1a74faa53
版本号改为 0.1.0-beta.2:beta.1 打包失败、没有发布,第一个测试版改用这个版本号
v0.1.0-beta.2
2026-10-01 20:08:02 +08:00
Xuz
a9a7e7087f
发布流程:建 DMG 时显式给出映像大小和 HFS+ 文件系统,失败重试;hdiutil 自己估的大小装不下应用
2026-10-01 19:59:33 +08:00
Xuz
0fbcb7adbf
版本号改为 0.1.0-beta.1,准备第一个测试版
v0.1.0-beta.1
2026-10-01 19:34:32 +08:00
Xuz
43b5f81d51
README 去掉 SHELLRS_RELEASE_BASE 的说明:make-manifest.sh 里没有这个变量
2026-10-01 19:05:04 +08:00