Skip to content

Releases: zzusec/agentbox-client

macOS v0.3.5

Choose a tag to compare

@github-actions github-actions released this 04 Oct 07:36
  • 有冲突时不再卡在原地:底部状态栏显示「有冲突,已暂停」时,右侧按钮变成「解决冲突…」,点开就是三条出路:再试一次合并(文件已自行处理时用)、以服务器为准(覆盖本地)、以本地为准(覆盖服务器),菜单顶部列出到底哪几个文件两端都改了。覆盖前仍有确认弹窗,说清哪一侧会被覆盖、哪些文件会被删。
    • 此前冲突只能到侧栏右键→「立即同步」里找,状态栏上只有一个「重新同步」——而重新同步下一轮又会撞上同一个双边修改、再次暂停,永远出不去。
  • 冲突或出错后转圈不停的进度条停了:任何一轮同步给出结论(包括暂停)且没有文件在传时,工作空间那行「正在…」一律收尾。此前它一直转,按钮也就一直停在「终止」,实际上已经没有东西可终止。

macOS v0.3.4

Choose a tag to compare

@github-actions github-actions released this 03 Oct 07:14
  • 默认终端外观跟随 Terminal.app:直接读取 Terminal.app 当前默认描述文件(新窗口用的那个),字体、字号、背景/文字/光标/选区颜色、16 色、光标形状与是否闪烁、行距都照搬;描述文件没设置的颜色用 Terminal.app 自己的默认色板。设置里多一张「系统终端」配色卡,升级后自动切到它一次;之后选别的配色、字体、字号照常生效。
    • 此前的「Clear Dark」是一次性抄进代码的颜色,字体字号另外猜,所以字号从没对上过,描述文件一改也不会跟着变。
    • Terminal.app 默认的「SF Mono Terminal」字体藏在 Terminal.app 包里,其他 App 按名字加载不到,硬要用会悄悄换成别的字体;所以字体名和字号直接从描述文件的存档里读,SF Mono 系列映射到系统自带的同款 SF Mono。
    • 跟随系统终端时,设置里的字体和字号由 Terminal.app 决定(控件置灰并注明来源);每次打开设置面板都会重新读一次描述文件。

macOS v0.3.3

Choose a tag to compare

@github-actions github-actions released this 03 Oct 06:12
  • 侧栏的项目高亮跟着当前终端标签走:切到哪个标签,侧栏就高亮它所属的项目(「终端 N」也算它的项目);关掉最后一个标签,高亮也撤掉。反过来点侧栏项目会切到它的终端,所以两边始终对应。这次同步是静默的——手点一行会打开该项目的 AI 会话,被动跟随时不能这么做,否则正在看的「终端 2」会被拉回 AI 会话。

macOS v0.3.2

Choose a tag to compare

@github-actions github-actions released this 03 Oct 06:09
  • 底部状态栏只说当前终端所属项目的事:
    • 左侧状态灯不再汇总整个实例(「两端一致(2 个项目)」),只显示当前项目自己的状态。
    • 中间那行在有标签在前时,只显示该项目的同步进度,或者你自己操作引发的提示(终止、重新同步、未配置同步目录);别的项目的进度、以及引擎里不属于任何项目的日志,一律不占这一行。
    • 「同步已启动:<路径>」「同步已停止」只写日志,不再上状态栏——引擎每次重启都会出现,路径还是工作区根目录,不是任何项目的。
    • 「终止」按钮按当前项目是否在传输来显示。

macOS v0.3.1

Choose a tag to compare

@github-actions github-actions released this 03 Oct 05:55
  • 「鼠标上报」从「关闭」切回「开启」立刻生效,不用再关掉终端标签重开。程序(以及 tmux)只在启动或连接时申请一次鼠标;「关闭」期间这次申请被挡掉了,切回来后对方不会再申请,于是点击始终到不了程序——比如 Claude Code 侧边改动面板的 × 点了没反应。现在被挡下的申请会记住,切回「开启」时补上;从「开启」切到「关闭」时也记住当时的跟踪方式,下次能原样还回去。

macOS v0.3.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 05:43
  • 终端引擎换成 xterm.js(WKWebView 内运行),替换 SwiftTerm。原因:SwiftTerm 的 macOS 视图层在一天内需要打 9 个本地补丁(两套公式算列数、滚动条那条带子无人重绘、每段输出都清掉选区、滚轮从不转发给程序、只重绘脏行……),每修一个又冒出下一个。xterm.js 是网页控制台一直在用、跑同一套服务端协议的引擎,从此两个客户端画同一个会话的方式一致,修一处两边都好。
    • 只换了「画」这一层:WebSocket、断线重连、心跳、上传时暂存输入都还在 Swift 里,行为不变。
    • 列数行数只在一个地方算(xterm.js 的 FitAddon,按视图真实尺寸),结构上不会再出现两套公式打架导致的重影。
    • 选中、复制(⌘C)、粘贴(⌘V,文件/截图照旧走上传)、全选(⌘A)、输入法、滚轮、链接(只放行 http/https)、OSC 52 复制、标题、铃声都改由 xterm.js 处理或经它接到原生。
    • 鼠标:「开启」时程序拿到鼠标,按住 ⇧ 或 ⌥ 拖动是本地选中;「关闭」时程序收不到鼠标,拖动即选中。
    • 自动字号沿用原规则(只缩不放,最小 8pt,按目标列数)。
    • 右键菜单是终端自己的(复制 / 粘贴 / 全选 / 刷新显示),不是网页的。
  • 删除 third_party/swiftterm 及其补丁、渲染检查脚本;xterm.js 的许可证随应用一起分发。

macOS v0.2.33

Choose a tag to compare

@github-actions github-actions released this 03 Oct 05:21
  • 修复「鼠标上报:开启」时完全无法复制:开启时拖动全部交给程序,屏幕上那块高亮是 Claude Code 自己画的选区,终端这边一个选区都没有,⌘C 自然拿不到东西。原先只有「智能」模式下按住 ⇧ 才能本地选中;现在任何模式下按住 ⇧ 拖动都是本地选中,⌘C 照常复制。
  • 「鼠标上报」从三档简化为两档(关闭 / 开启):⇧ 在所有模式下都生效之后,「智能」和「开启」已经没有区别。之前存的「智能」会按「开启」读取。

macOS v0.2.32

Choose a tag to compare

@github-actions github-actions released this 03 Oct 04:59
  • 修复「选中了却复制不了」:问题根本不在 ⌘C,而在选区活不到你按键那一刻。SwiftTerm 每收到一段输出就在 feedPrepare 里把选区作废,而 agent 终端是持续在画的(光标动画就够了),所以高亮往往在松开鼠标后的几十毫秒内就没了,⌘C 自然拿不到东西。
    • 备用屏上没有任何滚动,选区指向的行不会移动,所以那里的输出不再作废选区(换行同理);普通屏幕维持原行为,因为内容真的会滚走。
    • 另加一道保险:拖选结束时把选中的文字记下来,⌘C 和右键「复制」在实时选区已经没了的情况下用这份记录;新的点击会清掉它,不会复制到上一次的内容。右键菜单的「复制」也不再按实时选区置灰。

macOS v0.2.31

Choose a tag to compare

@github-actions github-actions released this 03 Oct 04:55
  • 更新提示框不再把发布说明整段贴进去,只说「将下载并校验更新,然后重启应用完成安装」。那些说明是写给维护者看的实现细节,不是给点按钮的人看的。

macOS v0.2.30

Choose a tag to compare

@github-actions github-actions released this 03 Oct 04:51
  • 隐藏终端右侧那条滚动条,残留的碎片也随之消失。那条带子宽 15pt——正好是残留碎片出现的位置和宽度:滚动条是个子视图,盖住的那块终端自己不重绘、它自己又(禁用状态下)不画,于是旧帧的字符一直留在那儿。
  • 它本来也永远用不上:tmux 把客户端放在备用屏上,本地 scrollback 一行都收不到;滚动现在走滚轮转发(v0.2.29)或 tmux 的 copy-mode。隐藏之后这 15pt 还回来了,正好多一列。
  • 断言:终端视图里不允许存在可见的 NSScroller。