v1.5.2 Release
v1.5.2 Release Notes
English
v1.5.2 is a runtime-reliability release centered on long-running sessions and terminal resilience. The headline addition is an experimental agent file-transfer tool — the agent can now copy files asynchronously between two different machines' terminal tabs and poll the transfer's progress, with the same task surfacing in the Transfer Tasks panel as user-driven copies. Alongside it, GyShell can now keep your computer awake while a chat session is running, auto-restart a local terminal when its shell exits so a local tab never goes dead, and offers a Reconnect action for disconnected SSH terminals. This release also hardens the agent stream loop against providers that report a tool-call finish without an actual tool-call payload, and polishes the chat/terminal tab indicators and selector menus.
Highlights You Will Notice
- Experimental agent file transfer between terminal tabs
- the agent gains two new experimental, off-by-default tools —
copy_between_tabsandread_file_transfer_status— exposed in Settings under a new Experimental Tools group, separate from the standard built-in tools copy_between_tabsstarts an asynchronous, copy-only transfer from one terminal tab to another that is on a different machine (cross-machine is enforced; it never cuts, moves, or deletes source files). It returns immediately after queuing, so the agent usesread_file_transfer_status(bytransferId, or list active transfers) to follow progress and confirm the final result- the default conflict strategy is rename (keep both);
overwriteis only used when you explicitly ask for replacement - when a transfer reaches a terminal state, the agent receives a
file_transfer_finishednotification; onerror/cancelledit is warned that the target directory may contain incomplete files and to verify/retry/clean up before treating them as complete - agent transfers share the same engine and UI as manual transfers: the Transfer Tasks panel now tags each task with an AGENT / USER origin badge and shows a new Scanning phase, and transfers cancel cleanly when a participating tab is closed
- the agent gains two new experimental, off-by-default tools —
- Prevent sleep while a session is running
- a new Prevent Sleep While Running toggle (Settings) keeps the computer awake whenever any chat session is actively running, so long autonomous tasks don't stall when you step away
- the screen may still turn off — only idle system sleep is blocked — and the block is released automatically as soon as all runs finish or the setting is disabled
- Local terminals stay alive when their shell exits
- if a local terminal's shell process exits (you type
exit, or it crashes), GyShell now respawns a fresh shell in the same tab instead of leaving a dead "exited" tab behind, preserving the tab, its title, and its size - newly opened local terminals are also ready to type into immediately on macOS/Linux (the brief "initializing" state is now Windows-only, where it is actually needed)
- if a local terminal's shell process exits (you type
- Reconnect disconnected SSH terminals
- a disconnected (exited) SSH tab now offers a Reconnect action in its right-click menu that re-establishes the connection using the tab's saved SSH config, reusing the same tab instead of forcing you to open a new one
- Clearer chat & terminal tab indicators
- chat tabs now show a small green "running" dot while that session is busy, matching the runtime-state dot terminal tabs already use, so you can see at a glance which conversation is still working
- tab styling is unified through shared CSS variables (font weight, spacing, status-dot size/color) and the close (×) buttons were refined for a consistent, subtler look across chat, terminal, and the compact tab selector
- More readable selector & context menus
- dropdown and right-click menu items are no longer forced to UPPERCASE with wide letter-spacing — they now render in normal case with tighter padding and better line-height, so longer labels stay legible
中文
v1.5.2 是一次聚焦于长时运行会话与终端韧性的运行时可靠性更新。最大的新增是 试验性的 Agent 文件传输工具——Agent 现在可以在 两台不同机器的终端 tab 之间 异步复制文件,并轮询传输进度,而且这些任务会和用户手动复制一样出现在「传输任务」面板里。除此之外,GyShell 现在可以在 对话会话运行期间保持电脑唤醒,在本地终端的 shell 退出时 自动重启该本地终端(让本地 tab 永不"假死"),并为 已断开的 SSH 终端提供"重新连接"操作。本次更新还加固了 Agent 流式循环,以应对那些"声称以工具调用结束、却没有真正下发工具调用内容"的模型提供方,并打磨了聊天/终端的标签指示器与选择器菜单。
你会直接感知到的升级
- 试验性的 Agent 跨 tab 文件传输
- Agent 新增两个 试验性、默认关闭 的工具——
copy_between_tabs与read_file_transfer_status——它们在设置中以全新的 试验性工具 分组展示,与标准内置工具分开 copy_between_tabs会启动一个 异步、仅复制 的传输,把文件从一个终端 tab 复制到 另一台机器 上的终端 tab(强制要求跨机器;它绝不剪切、移动或删除源文件)。它在任务入队后立即返回,因此 Agent 需要用read_file_transfer_status(按transferId查询,或列出活跃传输)来跟踪进度并确认最终结果- 默认冲突策略是 重命名(保留两者);只有在你明确要求替换时才会使用
overwrite - 当传输到达终止状态时,Agent 会收到
file_transfer_finished通知;若状态为error/cancelled,会提示目标目录中可能存在 不完整的文件,应先核验/重试/清理,再当作完整文件使用 - Agent 传输与手动传输共用同一套引擎和界面:「传输任务」面板现在会为每个任务标注 AGENT / 用户 来源徽标,并新增了 扫描中 阶段;当参与传输的 tab 被关闭时,传输会被干净地取消
- Agent 新增两个 试验性、默认关闭 的工具——
- 运行期间阻止系统睡眠
- 设置中新增 运行时阻止系统睡眠 开关:只要有任意对话会话正在运行,就保持电脑唤醒,这样你离开时长时间的自主任务也不会卡住
- 屏幕仍可以熄灭——被阻止的只是系统 空闲睡眠——并且一旦所有运行结束或关闭该设置,阻止会自动解除
- 本地终端在 shell 退出时保持存活
- 如果 本地 终端的 shell 进程退出(你输入
exit,或它崩溃),GyShell 现在会 在同一个 tab 内重新拉起一个全新的 shell,而不是留下一个"已退出"的死 tab,并保留该 tab 的标题与尺寸 - 新打开的本地终端在 macOS/Linux 上现在也能立即输入(短暂的"初始化中"状态现在仅在确实需要它的 Windows 上出现)
- 如果 本地 终端的 shell 进程退出(你输入
- 重新连接已断开的 SSH 终端
- 已断开(已退出)的 SSH tab 现在会在右键菜单中提供 重新连接 操作,它会用该 tab 保存的 SSH 配置重新建立连接,复用同一个 tab,而不必再新开一个
- 更清晰的聊天与终端标签指示器
- 聊天 tab 现在会在该会话繁忙时显示一个小小的绿色 "运行中"圆点,与终端 tab 一直在用的运行状态圆点保持一致,让你一眼看出哪个对话还在工作
- 标签样式通过共享 CSS 变量做了统一(字重、间距、状态点尺寸/颜色),关闭(×)按钮也做了打磨,让聊天、终端与紧凑标签选择器三处的外观一致且更克制
- 更易读的选择器与右键菜单
- 下拉菜单与右键菜单项不再被强制为大写加宽字距——现在以正常大小写、更紧凑的内边距和更合适的行高渲染,让较长的标签也保持清晰