Agent Orchestrator 0.12.0
自 0.11.2 以来共 80 次提交。桌面应用现已支持八种语言,换上了全新配色,并支持置顶会话、按会话选择审查者。移动应用新增主题和按住说话的语音输入。会话启动的容器会在会话结束时被清理。
涵盖自 v0.11.2 以来的全部内容。
macOS 用户请直接升级到 0.12.1 或更高版本。 此构建存在文件描述符泄漏问题,使用几个小时后会导致 Files 视图和任务创建失效。
0.11.0 关注的是让基础足够稳固。0.12.0 则是在这个基础上建起来的东西:应用现在支持八种语言,侧边栏和设置的行为符合你的预期,而一类可能把看板上所有会话一扫而空的故障也已彻底消除。
本次发布在不破坏现有工作流的前提下,带来了新的产品功能和可靠性改进。
亮点
应用支持八种语言
桌面应用现在有了真正的本地化层,基于 i18next 构建,可在 Settings > General 中选择语言,选择结果会记录在 ~/.ao/ui-settings.json 中。简体中文最先上线,覆盖了外壳界面、侧边栏、看板、设置、对话框、检查器标签页、命令面板和终端文案。随后加入了日语、韩语、西班牙语、法语、德语和巴西葡萄牙语,并各自配有对应语言的 README。英语仍是默认语言和回退语言,因此未翻译的字符串会显示英文,而不是显示键名。(#3465,#3541)
移动端:主题、原生面板和按住说话
移动应用不再只有深色模式。它提供浅色和深色配色,以及一个“跟随系统”选项,会持续跟随操作系统设置,而不是锁定在启动时读取到的值;应用外壳基于原生面板重建,会话看板改为按运行时是否终止来划分,而不是按完成状态。
它还支持按住说话的语音输入。在输入框中按住麦克风键说话,松开即可插入;或者上滑锁定,解放双手。语音识别在设备端运行(iOS SFSpeechRecognizer,Android SpeechRecognizer),因此不需要 API 密钥,也没有按分钟计费的成本,并且针对智能体提示词中常见的词汇做了偏向优化,所以你会得到 “git” 和 “npm”,而不是 “get” 和 “MPM”。转写结果会作为可编辑的草稿放进输入框,而不是直接发送,因为语音转文字经常听错代码,静默提交并不安全。多次按住录入的内容会依次追加,因此按几次就能拼成一条提示词。
此外还有与桌面版一致的 Liquid Glass 应用图标,并修复了默认 LAN 端口的问题:它原本指向仅限回环地址的守护进程端口,而不是 3011 端口上的移动端桥接服务,导致全新安装必须手动修改才能连接。(#3399,#3400,#3304,#3494)
全新的配色基础
渲染层改用基于 oklch 的设计 token 配色,UI 字体采用 Geist,并将 shadcn 的颜色别名映射到这套配色上,取代了组件库中各处硬编码的值。会话状态现在在所有出现的地方都使用同一套配色:工作中为蓝色,需要你处理为橙色,审查中为黄色,就绪为绿色。(#3421)
置顶你常用的会话
会话可以置顶到侧边栏顶部的 Pinned 分区,置顶状态保存在服务端,重启后依然保留。侧边栏本身也可以折叠了:Pinned 和 Projects 都能各自收起,点击项目的文件夹图标即可展开或折叠,无需先切换到该项目。(#3511,#3310)
按会话选择审查者
审查智能体过去是一个项目级的统一设置。现在你可以为单个会话单独选择,运行该次审查不会影响项目中其他会话使用的审查者。Reviews 标签页也会列出该会话记录过的所有审查,而不只是某个 PR 的当前和上一次运行,方便你对比两个不同审查者的意见。如果守护进程复用了已有审查而没有重新运行,这次被拒绝执行的审查不再显示为成功。(#3477)
设置以模态窗口打开
设置和项目设置会覆盖在看板之上打开,而不是跳转离开看板,并带有包含 General、Updates、Developer 和 Help 的侧边栏。按 Esc 或点击外部即可关闭,回到你原来的位置。(#3497)
可以直接处理的通知
当某个会话需要你处理而窗口未处于焦点时,macOS 的程序坞图标会跳动,Windows 任务栏会持续闪烁直到你回来,未读通知的角标数量在 macOS、Windows 和 Linux 上都保持同步。
在通知面板内,整行都可以点击,而不只是标题文字;手动的 Unread/All 标签页和标为已读功能已被移除。通知现在分别跟踪两件相互独立的事:你是否已看过(打开面板时清除),以及底层问题是否仍未解决(只由生命周期写入)。已读的通知在其报告的问题解决之前会一直保留在列表中,并在会话离开需要输入的状态、终止,或 PR 合并或关闭时自动关闭。守护进程停机期间发生的状态变化会在启动时重新检查。(#2534,#3296,#3495,#3558)
命令面板操作和菜单栏托盘
Cmd/Ctrl+K 现在不仅能导航,还提供会话操作;New Task 背后的任务输入框被抽离出来,命令面板可以用同一套界面创建任务。macOS 还在菜单栏中新增了一个提醒托盘图标,用于显示等待你处理的会话。(#3531)
会话启动的容器会被清理
会话启动的 Docker 容器会在该会话进入终止状态时被移除,包括会话崩溃或被 SIGKILL 终止的情况,而不只是你显式结束它的时候。给容器加上 ao.session=$AO_SESSION_ID 标签即可让它被回收,加上 ao.spare=true 则用于需要比会话存活更久的共享基础设施。Docker 调用设有超时限制,加载失败的项目会以安全方式失败,而不是执行回收。(#3153)
文件和 diff
Files 面板用常驻的搜索输入框取代了原来的切换式搜索按钮和文件数量标签,去掉了刷新按钮(列表本来就会轮询),并将列表重建为手风琴式布局,在标签页上实时显示文件数量。diff 查看器会实时流式显示工作区变更,布局切换更清晰,支持按文件的行内反馈,在最大化视图中也能正确展开。工作区 diff 现在还能感知基准分支,子会话会与它实际来源的分支进行比较,而不是与固定的基准比较。(#3466,#3503,#3492,#3369,#3214)
可靠性
一次故障不再清空你的看板。 这是最重要的一项修复(#3475)。三个独立的 bug 可能会一次性归档所有会话。预览清理在对一个裸 PID 进行进程组终止前,没有重新确认它是否仍属于自己启动的进程,于是一个被回收复用的 PID 编号会误杀一整个无关的进程家族;由于 tmux 服务器本身就是进程组组长,一次过期的进程组终止就会摧毁所有会话。tmux 的 “no server running” 探测结果被当成了单个会话的死亡,而它其实并不能说明任何单个会话的状态,因此服务器的一次小故障就会把整个看板归档。此外,一次损坏的迁移会返回 500 错误,而看板把它当作会话不存在。现在,存活探测会报告“无法确定”而不是“已死亡”;如果看板上大部分会话同时被探测为死亡,回收器会拒绝得出结论;迁移记录在已损坏的历史上也会自我修复。(#3491,#3598)
编排智能体。 同一项目不会再创建出重复的活跃编排智能体;ao session ls 会显示隐藏的编排智能体会话,并统计隐藏的已终止会话,而不是悄悄略过;自动发送的编排智能体重新介入消息已被回滚,因为实践证明它们带来的干扰多于帮助。(#3397,#3393,#3394)
智能体。 Droid 会通过其设置文件传递按角色区分的模型配置,该文件写在数据目录下而不是临时目录中。Grok 的提示词会在其 TUI 完成启动后再发送,而不是发到一个尚未开始监听的终端里,它的终端也支持鼠标滚轮滚动了。内部用于测试的模拟运行框架不再出现在智能体选择器中。(#3156,#3534,#3533,#3518)
浏览器。 提示词发送过程中会锁定标注选择,点击不会在发送途中改变目标;原生视图隐藏后不再遮挡应用界面;macOS 上最大化的浏览器中可以编辑 URL;元素选择器标记已从标注对话框中移出;从某个会话切走再切回时,不会再重新加载你早已离开的预览 URL。(#3232,#3295,#3488,#3464,#3538,#3370)
桌面端。 自动更新器遇到缺失的版本清单时只会记录 404,而不再弹出对话框让你去检查一个你根本没有的认证令牌。侧边栏和检查器拖动到最小宽度时会停住,而不是直接收起。守护进程会忽略输出关闭时的 SIGPIPE。检查器中的 PR 和 Completion 分区在没有内容时保持隐藏,重复的 PR 摘要会被去重。此外还有一轮界面外观修复:标题栏导航与 macOS 红绿灯按钮对齐、终端标签栏打磨、设置和归档界面的细分隔线、终端顶栏内边距,以及在应用外观元素和营销页面上禁用文本选择。(#3012,#3478,#3193,#3325,#3250,#3505,#3480,#3507,#3556,#3508,#3520)
底层改进
遥测新增了运行时紧急开关:AO_TELEMETRY_DISABLED_EVENTS 可以在不发布新版本的情况下屏蔽指定的事件流(支持 * 前缀匹配),被屏蔽的事件流仍会写入本地 SQLite,便于调试。守护进程事件会带上版本号,更新事件会被记录,PostHog 的控制项得到加固,测试中会断言自动采集处于关闭状态。CI 现在除了 .deb 之外还会生成 Linux .rpm 包。
网站方面:文档以 Markdown 副本形式发布,完整层级结构暴露在 llms.txt 中;新增了智能体对比页面;首页看板、任务委派演示和移动端样机都已重建,与桌面应用的实际外观保持一致;iOS 测试版的行动号召入口已上线。重复的 Organization 结构化数据已被移除,内容信号现在会应用于允许的爬虫。(#3401,#3388,#3406,#3395,#3363,#3438,#3344,#3430,#3496,#3428,#3429,#3500,#3521,#3522,#3144,#3367,#3365,#3389)
升级
GitHub Releases 和 Homebrew 是受支持的安装方式。现有安装会原地更新。如果之前的某次更新让你的迁移记录处于损坏状态,0.12.0 会在启动时修复它,而不是导致启动失败。
完整更新日志: https://github.com/OrchestratorInc/agent-orchestrator/compare/v0.11.2...v0.12.0