18 Commits
Author SHA1 Message Date
XuzandClaude 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
XuzandClaude 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
XuzandClaude 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
XuzandClaude 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
XuzandClaude 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
XuzandClaude 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
XuzandClaude Opus 5.5 de0fafe6ee Docker:有多个容器的 compose 项目默认折叠
只有一个容器、而且它在运行的项目默认展开;多个容器的项目展开会把下面的
都挤下去,卡片上已经写着「运行中/总数」。手动展开或折叠照旧记在面板里。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 00:25:36 +08:00
XuzandClaude 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
XuzandClaude Opus 5.5 a20b3bae3b 主机右键菜单增加复制 IP 地址
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 20:23:21 +08:00
XuzandClaude Opus 5.5 ee8441e301 命令片段:右侧栏的新工具,按分类保存常用命令,点一下输入或执行
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 20:09:20 +08:00
XuzandClaude Opus 5.5 9143e387bc 历史命令:右侧栏的新工具,列出主机上 bash 的历史命令,点一下放进终端输入行
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 19:08:16 +08:00
XuzandClaude 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
XuzandClaude Opus 5.5 610cb12fbf 系统服务:右侧栏的新工具,管理 Linux 主机的 systemd 服务
- 按自定义 / 系统分组,按状态分页、搜索;启动、停止、重启,启用或禁用开机启动
- 点服务打开详情,含状态和最近的日志

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 16:51:39 +08:00
XuzandClaude 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
XuzandClaude 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
XuzandClaude 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
XuzandClaude 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 3d6801d469 README 改写成开源首页:中英文两版、真实窗口截图(主界面深浅两色、分栏、SFTP、端口转发),原来的逐项说明、发布和开发说明移到 docs/;以 MIT OR Apache-2.0 双许可发布 2026-10-01 23:36:05 +08:00