Repository navigation
Z-SSH v0.2.6
改进
- 内置编辑器:Ctrl+/ 切换行注释也能用在配置文件上:Ctrl+/ 本来就是加 / 去行注释,但 nginx 配置、
.conf/.ini/sshd_config这类文件和认不出类型的纯文本没有声明注释符号,按了什么都不发生;现在这些文件按#注释,代码文件仍按各自语言的注释符号(如 JavaScript 的//)。 - 快捷命令栏空白处双击或右键可以直接新建:在命令按钮之间或后面的空白处双击、右键,直接打开「新建命令」,不用先点左边的管理按钮。命令按钮上的单击、右键菜单不变。
- 终端里的网址:单击选中整条、双击用默认浏览器打开:以前单击链接会在 WebView 里直接弹出新窗口,容易误触、也不是你的默认浏览器。现在悬停仍显示下划线,单击把整条链接选中(折行的长链接也整条选中),可以直接 Ctrl+C 复制,开了「选中即复制」就和普通选中一样自动复制;双击用系统默认浏览器打开,双击时选区保留,不会变成选中一个词;右键链接弹出「打开链接 / 复制链接」,不在链接上右键仍是原来的右键粘贴。终端程序输出的超链接(显示文字和目标网址不同的那种)也一样:单击选中显示文字,双击和右键「打开链接 / 复制链接」用的是目标网址。双击按系统的点击计数判断(没有另设固定的时间限制,Windows 里把双击速度调慢也能正常打开),屏幕上两处相同的网址各点一下不会误开浏览器。只允许打开 http:// 和 https:// 网址,其他协议、带空格或控制字符、超长的一律拒绝。
- 双击终端标签 = 复制标签页:和右键「复制标签页」是同一个动作;SFTP 标签、编辑器标签和「主机」标签双击什么都不做,双击标签上的关闭按钮也不会触发复制。
- 右键菜单更紧凑:全应用共用的右键菜单字号从 14px 降到 12px,行高收紧,图标统一 14px 并和文字垂直居中,分隔线变淡;「删除」「关闭所有标签页」这类危险项保持红色,选中时是淡红底而不是反白。
- 终端界面的主机树:单击展开属性面板:单击一台主机,树底部展开一块只读的属性表(名称、主机、用户名、协议、端口,有跳板机或指定了代理时再加一行显示名字),地址旁有复制按钮,右上角 × 收起;再单击同一台收起(会等一个系统双击时间再收,Windows 里调慢了双击速度也不会闪),点另一台切换内容,双击仍是连接且面板不会来回闪。不显示密码等凭据;展开的是哪台只在本次运行内记住。主机页的单击仍是打开详情。
- 新建主机默认不使用代理:以前新建主机的代理默认「跟随默认代理」,设了全局默认代理的人,新建的主机会自动走那个代理。现在新建时默认「不用代理」;编辑已有主机、导入和同步来的主机保持原来的设置,「跟随默认代理」这个选项和全局默认代理本身不变。
- AI 在别的主机上执行时看得见、一键能过去:对话里有不止一个目标主机时,AI 的命令和文件工具卡片会标明在哪台主机执行,卡片上多了「查看终端」,点一下切到实际执行命令的那个终端的标签和窗格(还没连上、正在连也可以切过去看连接过程;原来「在标签 xxx 执行」的跳转并入了这个按钮,文件工具的卡片同样可以点)。卡片上的主机、「查看终端」、审批卡片里的执行位置和标签上的活动点,都以 Z-SSH 执行时实际选中的目标和终端为准,不是界面自己猜的:比如切到空白标签、没有「当前」主机时,AI 省略目标会落在目标列表的第一台,卡片照样写明是哪台;同一台主机开了多个终端时,跳到的就是执行命令的那一个。确实没有可用目标时卡片写明「执行目标未确定」。对话里只有一个当前目标时不显示主机名。AI 正在没在看的标签里执行命令时,那个标签上出现一个闪动的紫色小点(和绿/黄/红的连接状态点分开),执行完你还没看过时变成静态紫点,切过去就清掉;AI 为 @ 的主机自动新开的后台连接标签同样适用。
- 对话中切走终端,AI 的作用范围不丢:以前切到别的标签,原来的「当前」主机会从 AI 的目标里掉出去(切标签还会直接结束对话)。现在已经聊起来的对话里,切走焦点时原来的当前主机自动变成一个可以点 × 移除的标签留在范围里,新焦点成为「当前」;切回去合并成一个。对话还没开始(没发过消息)时仍然是当前跟着焦点走、不累积。保留下来的终端关掉后会自动消失。
- 输入法:除 AI 对话输入框外默认英文输入,AI 对话框保持你自己的中英文状态(设置里可关):以前只在终端里切英文,离开终端就恢复。现在反过来:整个程序里焦点进可输入的地方(终端、主机页搜索框、文件面板的路径框和过滤框、各种表单输入框、内置编辑器、设置里的输入框,Z-SFTP 文件窗口里的也一样)都默认切到英文,只有 AI 助手发送消息的输入框保持你原来的中文 / 英文状态。要打中文按 Shift 切换;点按钮、空白处不改变状态。设置项还是原来那个开关,名字改成「默认使用英文输入」,关掉就完全不动输入法。
- 主机树顶部加了搜索框(像 Xshell 的会话管理器):在「新建主机」和「全部主机」之间,输入即过滤,不区分大小写,匹配名称、地址、用户名和标签;只显示匹配的主机和它所在的分组路径,分组自动展开(你自己的展开状态不动,清空搜索后恢复原样),分组名匹配时显示该分组下的全部主机;匹配的文字高亮,靠地址 / 用户名 / 标签匹配到的主机会在行尾标出匹配的那一项;分组旁的数字是过滤后的数量;没有结果显示「没有匹配的主机」。在框里按 ↓ / ↑ 在结果间移动高亮,Enter 连接高亮的那台(没有高亮就连第一台),Esc 清空搜索(已经空了就让输入框失焦),有内容时右侧有 × 一键清空。主机页和终端界面的主机树都有,各记各的搜索词(只在本次运行里保留)。主机页右侧原来的大搜索框(搜索卡片、
user@host:port快速连接)不变,两个搜索框互不影响(以前大搜索框的文字会同时过滤左边的树,现在树只听自己的搜索框)。
修复
-
凭据面板点「新建」没有反应:以前点「新建」后编辑表单反而收起,新建不了凭据,只能先「生成密钥」再改;现在点「新建」出现空表单,填好保存即可。
-
设置 → AI 里各智能体的按钮和上面的说明文字贴在一起:加了间距。
-
同一台主机不再变成两个 AI 目标:以前当前终端的主机又被 @ 了(或者 @ 的主机后来被打开成当前标签),AI 的目标列表里是两条同名的;同一台主机开了两个终端标签(或分屏),对话中来回切换后同样会变成两个目标,AI 可能在同一台机器上跑两遍或分不清用哪个。现在按主机算:一台主机只有一个目标,不管它开了几个终端、对话中怎么切换,AI 看到的目标 ID 都不变;执行时落在你当前聚焦的那个终端上(这台主机不是当前时,落在它最近一次聚焦过的、还开着的终端上),那个终端关了就找这台主机别的已连终端,都没有再自动连接。在当前主机上 @ 它不再新增标签,只提示「已经在对话里了」。
-
opencode 的免费模型现在可以在 AI 助手里用了(需要 opencode 1.18 以上):以前 Z-SSH 为了不让 AI 碰你的电脑,把 opencode 读本机文件的工具整个关掉了,OpenCode 的免费服务发现这个工具不在就拒绝服务,免费模型一直报「只能在 opencode 自己的界面里用」。现在这个工具留在列表里,但对任何路径都一律拒绝(工作目录里的、目录外的、
~开头的、用..跳出去的都实测读不到),AI 仍然读不到你电脑上的文件,读服务器上的文件走 Z-SSH 自己的文件工具。opencode 版本太旧或免费服务拒绝时,提示也改成了能照着做的说明。 -
空白处右键不再弹出带「刷新」的浏览器菜单:以前在面板空白处、按钮、普通文字这些没有自己右键菜单的地方右键,会弹出 WebView 自带的「后退 / 刷新 / 另存为 / 打印」菜单,点了「刷新」会把整个界面重新加载,所有连接、终端和传输都断掉;按 F5 或 Ctrl+R(不在终端里时)也一样。现在这些地方右键什么都不弹,刷新快捷键也不再重新加载界面;输入框(含只读的)、编辑器、终端里,以及在选中的文字上右键,仍然可以用右键菜单,菜单里也只剩剪切、复制、粘贴、全选这类编辑操作,不再带「刷新」「另存为」「检查」等;选区之外的地方右键,不会再因为别处选着字而弹出菜单。终端里的 Ctrl+R(搜索历史命令)和文件面板的 F5(刷新目录)照常。