okooo
552d55777d
release workflow 暂时只打 Windows 包
...
macOS 和 Linux 的 job 关掉,另行通知后再打开。
v0.1.8-win
2026-10-11 09:59:39 +08:00
okooo
6674a47662
快捷键允许 Shift 加 Insert、Delete、Home、End、Page Up、Page Down
...
这些键不挡打字,终端粘贴可以录成 Shift+Insert。单独按仍给终端和列表。
2026-10-11 09:57:07 +08:00
Xuz and Claude Opus 5.5
9799f88ade
版本号改为 0.1.8
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.1.8
2026-10-10 23:22:26 +08:00
Xuz and Claude Opus 5.5
dc5adddd06
启动后不久检查更新时,下好的新版本在重启时找不到
...
更新程序启动 30 秒后清理旧的暂存,原来会删掉所有 .ShellRS.app.update-*(Linux 是
.<AppImage>.update-*),包括启动后手动检查、切换渠道刚下载暂存好的新版本,于是「重启并
安装」报找不到文件,重试才从下载目录重新暂存。现在清理只删不比当前版本新的暂存,和下载
目录的规则一致。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 23:21:47 +08:00
Xuz and Claude Opus 5.5
db0a0faf05
发布流程:lipo -verify_arch 的参数顺序写反了,macOS 两个架构都在构建后失败
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.1.8-beta.1
2026-10-10 22:49:57 +08:00
Xuz and Claude Opus 5.5
026e0d44d8
版本号改为 0.1.8-beta.1
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 22:34:46 +08:00
bigtan
e91bab0d09
macOS 按 Apple Silicon 和 Intel 分别发布安装包
...
发布流程改为按 aarch64、x86_64 构建矩阵,分别签名、公证并上传 DMG 和升级 ZIP,
不再合成 universal 应用。两个任务使用独立缓存和产物名称,发布时收集全部架构。
更新清单保留原有平台键,分别记录对应架构包的地址、大小和 SHA-256。
已有 universal 客户端按运行架构升级;Rosetta 下的 Intel 版仍接收 Intel 包。
同步更新中英文下载说明、发布文档和示例清单,增加双架构校验与错包拒绝断言。
验证:52 项更新模块测试通过,Clippy、格式、YAML 和 shell 语法检查通过。
2026-10-10 22:33:22 +08:00
Xuz and Claude Opus 5.5
5ca6e53366
设置 › 终端新增「终端交互」:选中复制、右键行为
...
「选中复制」打开后,鼠标选中的文字在松开时进入系统剪贴板,单击没选中东西时剪贴板不变;
默认关闭。「右键行为」可选无动作、粘贴、显示菜单,默认显示菜单;右键从不交给要求鼠标的
程序。设置存在 settings.json 的 terminal_interaction,终端经全局量 TerminalInteraction
读取,改动立即作用于已打开的终端。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 19:24:04 +08:00
Xuz and Claude Opus 5.5
0aa1d4452d
ESXi 等只在键盘交互式认证里收密码的主机,用保存的密码自动登录
...
ESXi 的 sshd 关了 password 方式,只开 publickey 和 keyboard-interactive。保存的密码只走
password 方式,于是测试连接报「服务器要求键盘交互式认证」,外部 CLI 和端口转发连不上,
在应用里每次连接都要手输。
现在「密码」登录遇到键盘交互式认证的第一个单独的隐藏问题,就用保存的密码(测试连接时是
对话框里填的)回答,同 WinSCP 默认的「用密码响应第一个提示」。一次登录里保存的密码只发
一次;密码之后的验证码等问题照样问人。被拒或没有密码时,不能询问的连接报缺的是密码,应用
里的询问写明保存的密码被拒。没有问题的一轮直接回空,不再弹框。外部 CLI 遇到密码以外的问题
不再让人「保存密码」。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 17:12:19 +08:00
Xuz and Claude Opus 5.5
5fdfce239a
版本号改为 0.1.7
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.1.7
2026-10-10 15:18:22 +08:00
Xuz and Claude Opus 5.5
3a9e72eab3
版本号改为 0.1.7-beta.2
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.1.7-beta.2
2026-10-10 13:47:24 +08:00
Xuz and Claude Opus 5.5
27822e7315
SFTP 文件列表点列名即可排序,换目录后列宽和排序箭头不再复位
...
gpui-kit 只给列标题右边的箭头挂了排序,标题本身的点击用来选列,而文件列表关掉了选列,
所以只能点箭头。现在点列名和点箭头一样:降序、升序、恢复按名称。
表格每次 refresh(每读一次目录)都从委托重新取列,原来拖宽的列会弹回默认宽度,箭头也回到
「未排序」而行仍按原列排着。现在 FileListing 记下拖动后的列宽(ColumnWidthsChanged)和
当前排序,refresh 后照旧。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 13:46:54 +08:00
Xuz and Claude Opus 5.5
e1600ce05c
SFTP 本地目录列表在 Windows 上列出各个驱动器
...
Windows 上每个盘是一个独立的根,目录列表原来只有当前路径的各级和主目录、桌面、文稿、下载,
离不开起始的盘(只能在「打开目录/书签」里手动输入 D:\)。现在「位置」里按 WinSCP 的样子
列出所有盘符:「C: 本地磁盘」「E: 可移动磁盘」「Z: 网络驱动器」「F: CD 驱动器」。
盘符用 GetLogicalDrives 和 GetDriveTypeW 取,不读卷标。位置改在后台随每次读本地目录
一起重新取,所以新插上的 U 盘刷新一下就出现,也不在 UI 线程上碰网络驱动器。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 13:46:54 +08:00
Xuz and Claude Opus 5.5
5be3f56b0c
版本号改为 0.1.7-beta.1
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.1.7-beta.1
2026-10-10 11:52:19 +08:00
Xuz and Claude Opus 5.5
eadbe6481a
SFTP 只用 WinSCP 也用的请求:修复经堡垒机上传失败、编辑器保存时连接断开
...
用户的堡垒机对 fsetstat 回 Failure,收到 fsync@openssh.com (即使宣称支持)就断开整个会话,
所以上传报「Failure: Failure」(.filepart 已写完整),编辑器保存时 SFTP 连接断开。现在:
- 上传关闭文件后才按路径 setstat 设修改时间和权限,不再对打开的句柄 fsetstat;
- 不再发 fsync@openssh.com ;
- 覆盖已有文件也不用 posix-rename@openssh.com ,一律先把旧文件改名成备份、发布后再删
(不是原子的)。
测试服务器加了堡垒机模式(bastion_server):对 fsetstat 和所有扩展请求断开会话;新上传、
覆盖上传和编辑器保存都要在同一条连接上完成,并保留修改时间。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-10 11:51:51 +08:00
Xuz and Claude Opus 5.5
ecf9d92e47
README 加上 LINUX DO 徽章
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-09 21:33:45 +08:00
Xuz and Claude Opus 5.5
63d1e4281c
版本号改为 0.1.6
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.1.6
2026-10-08 18:23:54 +08:00
Xuz and Claude Opus 5.5
b834477bf4
终端加上滚动条:翻看回滚历史时出现在右侧,可拖动、点轨道跳转
...
用 gpui-kit 的 Scrollbar,配一个按回滚行数换算像素的 ScrollbarHandle
(terminal/scrollbar.rs)。拖动的回调没有 context,经引擎给出的
Scrollback 直接滚动终端,再由滚动条通知视图重画。滚动条盖在整个边距上,
滑块大多落在文字旁边;全屏程序没有回滚,不显示。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 18:23:22 +08:00
Xuz and Claude Opus 5.5
65ea32acfb
终端执行的单元测试:dash 作为 sh 时允许输出里多一行 Terminated
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 16:44:07 +08:00
Xuz and Claude Opus 5.5
2df67bc639
版本号改为 0.1.6-beta.1
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.1.6-beta.1
2026-10-08 16:16:42 +08:00
Xuz and Claude Opus 5.5
e09adeefb7
外部 CLI 新增 exec --terminal:在已打开的终端里执行命令
...
只允许登录一次的堡垒机(外部连接)上,exec 重新登录会被拒绝,另开通道又会结束会话。
--terminal 把命令打进这台主机在 ShellRS 里已打开的远程终端:先发 Ctrl-C,探测出
交互 shell(bash、dash、busybox ash)后输入命令行,经 OSC 标记取回输出、退出码和
执行上下文(--json 的 context)。不做忙碌检测,只拒绝全屏程序和同一终端已有一次运行。
外部连接上普通 exec 登录失败时,说明里提示改用 --terminal。
shells.yml 在 Docker 里对 bash 4.2–5.2、dash、busybox ash 跑真实终端测试。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 16:16:30 +08:00
Xuz and Claude Opus 5.5
3c937a9be2
README 去掉界面语言的说明
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 00:18:41 +08:00
Xuz and Claude Opus 5.5
2dd1f1995a
版本号改为 0.1.5
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.1.5
2026-10-08 00:08:42 +08:00
Xuz and Claude Opus 5.5
51bdab74f4
README 默认英文:README.md 改为英文版,中文版移到 README.zh-CN.md
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 00:07:05 +08:00
Xuz and Claude Opus 5.5
4d70be98a9
分屏时右侧栏跟着焦点所在的远程终端,标题写出主机
...
中间区分屏后,焦点点进哪个标签它就在前,状态栏和右侧栏跟着变;点进另一半的 SFTP、
本地终端时右侧栏仍对着刚才的远程终端,屏幕上没有远程终端才隐藏。拖动合并标签组后
重新核对谁在前,修好标签被盖住后右侧栏还留着的问题。右侧栏标题加上主机名。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 23:59:06 +08:00
Xuz and Claude Opus 5.5
77da643999
中文 README 的截图按当前界面重截
...
标题栏的「临时连接…」、远程终端右侧的工具按钮、Docker 的下划线标签都已不同于旧图。
用演示数据在真实窗口里截取,与英文版的六张构图一致,服务器地址打码。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 23:29:26 +08:00
Xuz and Claude Opus 5.5
97addfbc00
英文 README 换成英文界面的截图
...
用改成英文名的演示数据在真实窗口里截取,与中文版的六张一一对应,
服务器地址打码;右侧栏工具拼图按中文版的版式拼。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 23:17:44 +08:00
Xuz and Claude Opus 5.5
7b0dad9b41
Docker 的标签改用可横向滚动的下划线标签,与系统服务一致
...
均分宽度放不下英文的 "Containers 12"。不管什么语言,标签都按文字和数量的宽度排,
放不下时横向滚动。去掉只给 Docker 用的 count_tabs 和分段控件的计数。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 22:42:23 +08:00
Xuz and Claude Opus 5.5
82c2c8b277
英文用户手册,README 说明界面有中英两种语言
...
docs/manual.en.md 按英文界面的用词翻译整本手册;README.en.md 改为链接英文手册。
两份 README 去掉「界面只有中文」的说明和路线图里的英文界面一项。
SFTP 标签菜单和地址提示里的 hostname 与其他处统一。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 22:30:25 +08:00
Xuz and Claude Opus 5.5
d4d079579a
守卫测试扫描整个 src,用词表补充常用词
...
所有模块都已接入多语言,不再按目录逐步登记;扫描器也认 #[cfg(all(test, …))]。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 22:18:07 +08:00
Xuz and Claude Opus 5.5
a0ed1ac8bf
SFTP 与编辑器的文案接入多语言
...
explorer/、sftp/、editor/ 的文案移进 locales/explorer.yml、sftp.yml、editor.yml,中文逐字不变。
文件列表的列名、目录列表的分组跟着界面语言重设;列表占位改存枚举,拖动预览存方向,
「位置」改存 Place,显示时再翻译。动词拼句的地方(上传 / 下载、编辑器 / 预览、服务器上的 /
本机上的)拆成每种情况一个整句;废纸篓在 Windows 上写 Recycle Bin。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 22:12:51 +08:00
Xuz and Claude Opus 5.5
eb6e43045a
英文用词统一:清屏、复制主机名
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 22:11:58 +08:00
Xuz and Claude Opus 5.5
b7ebd893d3
英文排版:放宽详情标签列和高亮规则的通知列,转发示意图说明允许折行
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 22:11:30 +08:00
Xuz and Claude Opus 5.5
575ca42258
实时切换测试覆盖主机树搜索框的提示
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 22:09:27 +08:00
Xuz and Claude Opus 5.5
acd0e238d4
守卫测试覆盖右侧栏七个工具
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 22:07:56 +08:00
Xuz and Claude Opus 5.5
5514612524
右侧栏七个工具的文案接入多语言
...
命令片段、历史命令、Docker、系统服务、进程管理、网络连接、系统监控和工作区里它们的确认、
通知改用 t! / tn!,文案在 locales/<工具>.yml 与 locales/tools.yml。容器操作的对象改成
ContainerSubject,每种操作一整句;详情里的字段存键、按键找行,切换语言时跟着变;
搜索框的占位随界面语言重设。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 22:07:14 +08:00
Xuz and Claude Opus 5.5
70b329066f
英文措辞统一:下载页、占位示例
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 22:07:14 +08:00
Xuz and Claude Opus 5.5
85189e4412
守卫测试覆盖终端、SSH、在线升级与外部 CLI
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 22:06:46 +08:00
Xuz and Claude Opus 5.5
da546b5351
终端与 SSH 的文案接入多语言
...
终端标签、右键菜单、查找条、写进终端的提示、本地 PTY 和关键字高亮的文案,
以及 SSH 登录、跳板、代理、外部 CLI exec、测试连接的报错都走 t!,
新增 locales/terminal.yml、locales/ssh.yml,中文逐字不变。
终端的默认标题和无障碍名称在用到时再生成,查找条的占位随界面语言重设;
高亮规则的校验错误改为 PatternError,显示时再翻译。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 22:05:47 +08:00
Xuz and Claude Opus 5.5
f6286b776c
在线升级与外部 CLI 的文案接入多语言
...
- 在线升级:状态行、标题栏按钮、更新对话框、出错原因和「重启会关闭…」改走 t! / tn!,列表用 join_list
- 外部 CLI:命令输出(表头、字段、摘要、进度、错误)、应用回给命令的消息和校验、设置页的 Agent 名称都有中英两版
- --help 与 SKILL.md 提到的界面名称写英文并附中文
- 新增 locales/update.yml、locales/cli.yml,补英文输出的单元测试
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 22:05:37 +08:00
Xuz and Claude Opus 5.5
17dc087f52
守卫测试覆盖主机、凭据、端口转发
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 22:05:33 +08:00
Xuz and Claude Opus 5.5
1c61269c52
主机、凭据、端口转发的文案接入多语言
...
host/、credential/、forward/、connection.rs、secrets/ 的界面文案、校验和报错改经 t! / tn!,
放进 locales/{host,credential,forward,connection,secrets}.yml,中文逐字不变。
写库失败按改动种类各给整句(Change),钥匙串失败同理;删除说明按句拼接(join_sentences),
数量用 tn!。三个侧栏列表的搜索框占位随语言切换重设。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 22:03:29 +08:00
Xuz and Claude Opus 5.5
352ffcef55
设置、快捷键、窗口壳的文案接入多语言,打包元数据补英文
...
设置页按语言实时切换(分类、搜索关键词、规则表的提示),快捷键表改存键,
冲突提示按快捷键 id 找名称;状态栏、标题栏、开始页、确认框和通知换成整句。
macOS 包声明 en / zh-Hans 两种语言并翻译本地网络说明,Linux 桌面文件补英文说明。
新增界面语言实时切换的 UI 测试。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 21:42:09 +08:00
Xuz and Claude Opus 5.5
1c855f1508
多语言基础设施:rust-i18n 接入,界面语言默认跟随系统
...
文案放进 locales/<模块>.yml,经 crate::i18n 的 t! / tn! 取用;启动时先按设置定语言,
改设置时实时切换并发出 UiLocale。守卫测试检查两种语言齐全、占位一致、没有遗漏和死键。
UI 测试夹具固定中文并隔离本线程的语言。共用件(shared/)先转换。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 21:24:06 +08:00
Xuz and Claude Opus 5.5
f8f7473e42
列表的悬停和选中分开:深色悬停调淡,选中行统一一种颜色
...
- 侧栏的主机、端口转发、凭据列表和「最近连接」的选中行同色:浅色是原来侧栏的深一档灰,深色用「最近连接」原来的选中色,不再刺眼
- 深色下列表和表格的悬停只有选中色的一半,和选中区分开
- 浅色「最近连接」的选中行原来和悬停一样,现在同侧栏
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 20:37:48 +08:00
Xuz
3ddc7ebe62
完善隐私描述
2026-10-07 20:13:41 +08:00
Xuz and Claude Opus 5.5
baa6745c1a
默认深色改用参照微信的炭灰,不再是近黑
...
- ShellRS Dark 的界面和终端:底色 #1e1e1f,标题栏、标签栏、状态栏 #2f2f30,边框和悬停 #3b3b3d,文字 #e0e0e4;gpui-kit 的每级灰按对照表换掉,彩色不动
- 次要文字 #929296,比微信的亮一些,对比度保持在 4.5 以上
- 终端选区和 ANSI 黑按新底色重算;「界面跟随主题」关闭时的深色界面同样生效
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 20:04:38 +08:00
Xuz and Claude Opus 5.5
cd3d41c496
接入 Aptabase 匿名使用统计,「设置 › 关于」新增开关
...
- 自己调 Aptabase 的批量接口 POST /api/v0/events(没有纯 Rust SDK)。只发版本、系统名和版本、CPU 架构、设置快照(取值固定,主机等数量只报档位)和功能使用次数;不发主机、凭据、命令、文件名、路径,也没有任何标识
- 四种事件:app_installed(首次启动,送达后记进 analytics.json)、app_started、app_active(窗口到前台且当天 UTC 还没报过)、usage(43 项功能计数,从第一次使用起满 4 小时汇总一条)
- 不用定时器:只在启动、窗口激活、用到功能、改设置时动作,满期的汇总和失败重试都等下一个信号;计数存盘,退出不等网络、不丢数据
- 内网断网不受影响:联网、系统检测、写文件都在后台线程,连接 5 秒、整体 15 秒超时,失败不提示,重试从 1 分钟起翻倍、最长 6 小时,4xx 不重试
- 「设置 › 关于」新增「隐私」组的「发送匿名使用统计」,默认开,关掉清空本机攒下的计数
- 只有发布构建发;开发构建设 SHELLRS_ANALYTICS_DEBUG=1 才发调试事件,汇总周期 1 分钟、失败 10 秒后重试
- 手册新增「隐私」一节列出全部上报内容,README 同步
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 20:04:38 +08:00
Xuz and Claude Opus 5.5
56491658a6
sync 测试的辅助函数只在 Unix 上编译,Windows 的 clippy 不再报未使用
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-07 14:16:26 +08:00
Xuz and Claude Opus 5.5
a957b3b5a3
版本号改为 0.1.4
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
v0.1.4
2026-10-07 14:12:34 +08:00