Xuz and Claude Opus 5.5
613287aedd
主题:可选让界面也按主题配色,默认保持中性
...
- 「外观 › 终端主题」改名「主题」,组里第一项「界面跟随主题」,默认
关闭:界面是中性的黑白灰,只有终端按所选主题配色。
- 打开后侧栏、标签栏、对话框等也换成主题的底色和文字色,成功、警告、
错误等状态用主题的绿、黄、红;次要文字在正文偏淡的主题里也保持可读。
ShellRS Light / Dark 就是原来的界面。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-06 22:27:23 +08:00
Xuz and Claude Opus 5.5
d791dad8ae
终端主题:浅色、深色外观各选一套,界面切深浅时终端跟着换
...
- 设置 › 外观新开「终端主题」组,左栏浅色、右栏深色各 10 套内置主题,
卡片是主题名加一段 ls 示例,选中的整张加底色、右上角蓝底对勾。同一
主题的浅、深两版在同一行,没有另一版的排最后。应用外观(含跟随系统、
标题栏按钮)决定用哪一栏。
- 默认 ShellRS Light / Dark:背景、文字、光标、选区和原来一样,16 色
按 Tailwind 色阶重调,浅色下黄字等不再看不清。第三方主题取自各项目
自己的终端配色(MIT、Apache-2.0),出处写在源码里。
- 终端格子、边距、选区、链接都取自终端主题;程序查询颜色(OSC 4 / 10
/ 11 / 12)按当前主题回答,不再一律答深色背景。字体和关键字高亮的
预览也用当前主题。
- 不做自定义主题、导入、按主机指定。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-06 21:39:22 +08:00
Xuz and Claude Opus 5.5
2aa5d5be49
关键字高亮设置改成可直接编辑的规则表,总开关默认关闭
...
- 设置页分三组:常规(启用关键字高亮,默认关闭)、预览(当前终端字体和
配色下的一段示例日志)、规则(N)。
- 规则表在行里直接改,不再弹对话框:拖动把手排序、启用、正则表达式、
备注、颜色(取色器加 #rrggbb 输入框)、通知、删除。规则都是正则,区分
大小写;颜色可任意取,不跟主题;去掉加粗。通知标题用备注。
- 预置 ERROR、WARN、IPv4 三条示例,各自启用、不通知,打开总开关就能用。
- 取色器自带一行与调色板不重复的常用色:gpui-kit 默认的常用色也在调色板
里,同色两格是重复的无障碍节点,调试版会因此崩溃。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-06 19:46:18 +08:00
Xuz and Claude Opus 5.5
5f588a4a18
终端关键字高亮:按规则给匹配的文字上色,可选匹配时通知
...
- 规则是关键字(smart case,同查找)或正则表达式,加颜色(主题的红、黄、
绿、青、蓝、紫)和加粗,在所有终端里显示,回滚历史里的也一样;重叠时
靠前的规则优先。
- 只改显示:每帧对可见行把折行接成逻辑行再匹配,不改服务器的输出,复制
出的文字不变;窗口缩放重排、折成两行的词都照样上色。用 regex crate
匹配,不用 alacritty 的 RegexSearch(编不了 \b,^ 只认第一行)。
- 勾了「匹配时通知」的规则在看不到那个终端时提醒,同响铃;解析线程在
换行前读完整的一行,同一终端 10 秒一次,反复重画的同一行 5 分钟一次。
- 全屏程序(vim、less、top、tmux)里不高亮也不通知。
- 设置左栏新增「关键字高亮」,排在「终端」后面;首次预置 ERROR 红粗、
WARN 黄、IPv4 蓝三条示例。settings.json 里读不了的规则单条丢掉,不让
整个设置回退成默认值。
- 光标闪烁不再每 500 ms 取一整份终端快照。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-06 17:54:04 +08:00
Xuz and Claude Opus 5.5
3c38c664c2
外部 CLI 加 exec --json:JSON 进出,输出只含 ASCII
...
- shellrs exec --json 从标准输入读 {"host", "command"},命令结束后输出
{"exit_code", "stdout", "stderr"},出错时输出 {"error": {"code", "message"}},
退出码和不加 --json 时一样。非 ASCII 字符都转成 \uXXXX,不是 UTF-8 的输出
换成 U+FFFD:命令不经过本机 shell 的引号处理,控制台代码页也弄不乱输出。
- skill 的 Windows 一节:PowerShell 优先用 --json;要边执行边看输出时用
here-string 加 --stdin,先设 UTF-8 编码;Git Bash 用 heredoc。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-06 16:09:20 +08:00
Xuz and Claude Opus 5.5
a9e8d8dbef
终端通知:程序请求的通知(OSC 9 / 777)和响铃提醒
...
- 程序用 OSC 9 或 OSC 777 notify 请求通知,终端响铃时也提醒;OSC 9 里
ConEmu 的进度条、当前目录等命令不算。
- ShellRS 不在前台时发系统通知,点了回到那个终端;在前台但终端在别的标签
时弹应用内通知,点一下切过去。响铃在终端就在眼前时不提醒。
- 标题是标签名,同一终端程序通知 2 秒、响铃 10 秒内只提醒一次;设置 ›
终端 › 通知可分别关掉。
- 启动时设置应用标识 com.shellrs.ShellRS,Windows 安装程序的快捷方式用
同一个 AppUserModelID。
- 不做 OSC 133 长命令通知:要每台服务器装 shell 集成,收益不抵成本。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-06 14:37:53 +08:00
Xuz and Claude Opus 5.5
befdfc7b02
终端识别链接、支持鼠标上报和 OSC 52 远程复制
...
- 链接:输出里的 http / https 地址和程序用 OSC 8 标出的链接一直画成蓝色加
下划线,⌘(其他平台 Ctrl)单击用浏览器打开,悬停显示真实地址;末尾标点
和不成对的括号不算,折行的长地址算一个,其他协议不当链接。
- 鼠标上报:vim、htop、tmux 等要求鼠标时,单击、拖动和滚轮交给程序
(1000 / 1002 / 1003,默认、UTF-8、SGR 编码);按住 Shift 照旧选文字和
翻回滚,右键始终是 ShellRS 的菜单。
- OSC 52:远程程序复制的内容进本机剪贴板,只写不读,主选择区忽略。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-06 13:26:21 +08:00
Xuz and Claude Opus 5.5
d53bb559e6
SFTP 加「显示隐藏文件」开关:本地、远程各自独立,默认不显示
...
工具栏第一行最右边的眼睛按钮(睁眼表示正在显示,划掉的眼睛表示不显示)、
空白处右键的勾选项和 ⌘⇧. / Ctrl+Alt+H 切换所在一侧,名称以「.」开头的
文件和目录算隐藏文件。每一侧的选择对所有 SFTP 标签生效,存进设置。
不显示时面板底部写「隐藏 N 项」,选中的隐藏文件随之取消选择,新建和重命名
查重名时仍算上它们;显示时隐藏文件整行文字浅一些。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-06 11:45:18 +08:00
Xuz and Claude Opus 5.5
f1ac434ebf
SFTP 右键菜单:去掉目录的「打开」,加「复制路径」
...
文件名上的菜单不再有「打开」:目录双击就进入。「上传… / 下载…」下面
加「复制路径」,复制选中项目的完整路径,多个时每行一个,「..」是上级目录。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-06 09:29:05 +08:00
Xuz and Claude Opus 5.5
8e290562f8
SFTP 加图片和 Markdown 预览:双击图片预览,可缩放、原图和滚动
...
图片(PNG、JPG、GIF、WebP、SVG、BMP、ICO、TIFF)和 Markdown 在一个像快速查看的大对话框里预览,
Esc 关闭,远程文件可以「下载…」,Markdown 可以「编辑」。双击图片就预览;Markdown 和 SVG 是文本,
双击仍是编辑,右键另有「预览」。图片上限 20 MB,Markdown 同编辑器 5 MB。
图片默认适合窗口、居中显示;可以放大、缩小(⌘= / ⌘-,按住 ⌘ 滚动连续缩放)、看原图(⌘0)、
回到适合窗口(⌘9),双击图片在两者之间切换;比预览区大时可以滚动,缩放时中间的位置不动。
解不开的图片写明「无法显示这张图片」。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-05 22:50:02 +08:00
Xuz and Claude Opus 5.5
c679d9d8a0
SFTP 加内置编辑器:双击文件在编辑器标签里编辑,⌘S 原地写回
...
SFTP 里双击、回车、F4 或右键「编辑」一个文件(远程和本地都行),在中间区的「编辑器」标签里打开;
「新建 › 文件…」建好后也直接打开。同一个文件只开一个标签。先读后开:超过 5 MB、二进制或不是
UTF-8 的文件只弹说明,远程的可以改用「下载…」。
远程文件经打开它的 SFTP 标签的连接读写,不另起登录。保存是原地改写(截断后写原文件),所有者、
权限和链接都不变;保存前核对大小和修改时间,被别人改过就先问「覆盖」。BOM 和 CRLF 原样写回。
常见的约 15 种语言有语法高亮(gpui-kit 的 tree-sitter 特性;SQL 的语法库要求 cc ~1.2,所以
Cargo.lock 里 cc 退到 1.2.67)。
关闭有修改的标签问「保存 / 放弃修改 / 取消」;批量关闭、关 SFTP 标签、⌘Q(Windows / Linux 还有
窗口的关闭按钮)有未保存的文件时问一次。状态栏显示光标位置和编码、换行方式。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-05 21:37:26 +08:00
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
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
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
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
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
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