Skip to content

v1.5.2 Release

Choose a tag to compare

@MrOrangeJJ MrOrangeJJ released this 27 Jun 15:13
· 83 commits to main since this 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_tabs and read_file_transfer_status — exposed in Settings under a new Experimental Tools group, separate from the standard built-in tools
    • copy_between_tabs starts 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 uses read_file_transfer_status (by transferId, or list active transfers) to follow progress and confirm the final result
    • the default conflict strategy is rename (keep both); overwrite is only used when you explicitly ask for replacement
    • when a transfer reaches a terminal state, the agent receives a file_transfer_finished notification; on error/cancelled it 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
  • 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)
  • 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 被关闭时,传输会被干净地取消
  • 运行期间阻止系统睡眠
    • 设置中新增 运行时阻止系统睡眠 开关:只要有任意对话会话正在运行,就保持电脑唤醒,这样你离开时长时间的自主任务也不会卡住
    • 屏幕仍可以熄灭——被阻止的只是系统 空闲睡眠——并且一旦所有运行结束或关闭该设置,阻止会自动解除
  • 本地终端在 shell 退出时保持存活
    • 如果 本地 终端的 shell 进程退出(你输入 exit,或它崩溃),GyShell 现在会 在同一个 tab 内重新拉起一个全新的 shell,而不是留下一个"已退出"的死 tab,并保留该 tab 的标题与尺寸
    • 新打开的本地终端在 macOS/Linux 上现在也能立即输入(短暂的"初始化中"状态现在仅在确实需要它的 Windows 上出现)
  • 重新连接已断开的 SSH 终端
    • 已断开(已退出)的 SSH tab 现在会在右键菜单中提供 重新连接 操作,它会用该 tab 保存的 SSH 配置重新建立连接,复用同一个 tab,而不必再新开一个
  • 更清晰的聊天与终端标签指示器
    • 聊天 tab 现在会在该会话繁忙时显示一个小小的绿色 "运行中"圆点,与终端 tab 一直在用的运行状态圆点保持一致,让你一眼看出哪个对话还在工作
    • 标签样式通过共享 CSS 变量做了统一(字重、间距、状态点尺寸/颜色),关闭(×)按钮也做了打磨,让聊天、终端与紧凑标签选择器三处的外观一致且更克制
  • 更易读的选择器与右键菜单
    • 下拉菜单与右键菜单项不再被强制为大写加宽字距——现在以正常大小写、更紧凑的内边距和更合适的行高渲染,让较长的标签也保持清晰