Agent Orchestrator 0.13.0

Orquestração na nuvem, provedores de chat duráveis, suporte a mais agentes e melhorias no terminal em tempo real em uma só release.

Cobre tudo desde a v0.12.0. As releases de patch 0.12.1–0.12.12 trouxeram a maior parte das correções, mas nunca ganharam entradas próprias, então o ciclo inteiro foi reunido nesta. Se você está na 0.12.0, aqui está tudo o que você pulou.

A 0.12.0 foi um polimento da base: idiomas, paleta, fixação de sessões, notificações. A 0.13.0 é o ciclo em que o produto ganhou novos braços. Um control plane na nuvem agora vive no repositório, atrás de uma flag. O chat deixou de ser uma visualização e virou uma superfície durável. A lista de agentes praticamente dobrou. E as duas piores classes de falhas que restavam (uma reinicialização levando junto o turno em andamento e um diff grande travando o inspetor) receberam correções estruturais.

Esta release traz a orquestração na nuvem para o produto principal, faz os provedores de chat sobreviverem a reinicializações do daemon, amplia o suporte a agentes e melhora o comportamento do terminal em tempo real.

Destaques

O AO Cloud está no repositório

O control plane privado (um serviço separado em Go com um schema PostgreSQL de 28 tabelas, login com WorkOS, instalações e webhooks do GitHub App, projetos e sessões no escopo da organização, filas de mensagens duráveis, replay de eventos e reconexões de SSE seguras em cluster) agora vive neste monorepo, conectado a uma UI do Cloud autenticada em Next.js pelos novos pacotes @aoagents/cloud-client e @aoagents/product-ui e por um contrato público do Cloud. O login no desktop ganhou autenticação nativa com WorkOS. Tudo fica atrás de flags; nada muda ainda para quem usa só o modo local. (#4434, #3692, #4722)

O chat é de primeira classe e sobrevive a reinicializações

O compositor foi redesenhado em torno dos padrões resolvidos de agente e modelo, com uma área de mensagens na fila que permite editar, cancelar, arrastar para reordenar e anexos que sobrevivem a reinicializações. Turnos na fila podem ser promovidos para redirecionar o turno ativo. As conversas do Claude Code ganharam edição de mensagens, turnos que falharam podem ser repetidos sem redigitar o prompt e as chamadas de ferramentas aparecem como cards legíveis em vez de dumps brutos.

Por baixo de tudo isso, o Codex e os provedores de chat ACP agora pertencem a hosts desanexados e autenticados: feche o app desktop, reinicie o daemon, e o provedor é readotado com o snapshot da conversa, as aprovações pendentes e o turno em andamento intactos. (#3657, #4649, #4684, #4715, #3838, #3858, #4256, #5027, #4529, #4766)

A lista de agentes cresceu

Novos harnesses e drivers chegaram ao longo do ciclo: Kimchi, Kimi, Pi, OMP, Prime Agent, Muse Code e um driver de chat ACP para o Cursor, com seleção de modelo ciente do adaptador, catálogos e descoberta de modelos por provedor, --model no ao spawn com escopo por sessão e uma primitiva act que resolve instruções e tenta de novo referências desatualizadas. O ao doctor agora verifica todos os 26 binários de harness registrados, então "por que esse agente está faltando" se responde com um comando. (#2649, #4193, #4194, #4196, #3736, #3647, #4201, #3386, #4610, #4102, #4244, #5025)

Terminal em tempo real

O terminal agora é um stream duplex com eco local preditivo, apoiado por hosts de PTY nativos no macOS e no Linux, shells selecionáveis no Windows, atalhos de edição de início e fim de linha no macOS e atalhos para alternar entre abas. Rajadas de saída passam por back-pressure em vez de derrubar o WebSocket. (#4763, #4768, #4473, #4727, #4517, #5199, #3658, #4552)

Um visualizador de diff que acompanha o ritmo

Os visualizadores de diff e de arquivos são virtualizados (só as linhas visíveis na tela são renderizadas), então um diff de 5.000 linhas rola em vez de travar. Junto com eles: um explorador com a árvore completa de arquivos ao lado da visualização de arquivos alterados, renderização de Markdown no estilo do GitHub, blocos mermaid desenhados como diagramas, previews de antes/depois para arquivos de imagem e previews de arquivos em que você pode selecionar texto e que podem ser fechados. (#5175, #4252, #4251, #4892, #4173, #5012)

Revisões de ponta a ponta

Painéis de revisor interativos funcionam com todos os harnesses de agentes, as revisões podem começar automaticamente para pull requests e o projeto pode ter a própria configuração de revisão automática. O inspetor Reviews virou uma lista única com paginação para comentários não resolvidos, as revisões externas aceitam comentários inline, os cards de prontidão de PR foram redesenhados e o funil de revisão é instrumentado de ponta a ponta. (#3384, #3338, #4128, #3664, #4032, #4131, #4055, #4255)

O mobile foi lançado

O AO Mobile entrou no ar nas duas lojas de apps, com um fluxo de TestFlight, atualizações over-the-air via EAS, pareamento do Connect Mobile pelo Tailscale incluindo o iOS, uma lista de dispositivos para ver, silenciar e remover celulares pareados, analytics com PostHog e captura de erros pronta para o Sentry. (#4761, #3689, #4474, #3707, #3674, #3661, #4181)

Troca de agentes em que você pode confiar

Trocar uma sessão entre TUI e Chat ficou durável, responsivo e ciente da fase, com observabilidade apenas para falhas que registra exatamente onde uma troca morre. Interfaces sem UI de Chat ocultam a opção de troca em vez de oferecê-la. (#3548, #3770, #4598, #3966)

O desktop ganhou um visual novo

Uma página inicial focada, uma barra vertical de abas no lugar do dropdown de abas, os temas Nord, Gruvbox e Solarized, arrastar para reordenar projetos e sessões, renomeação de sessões pelas superfícies de navegação e ícones do app derivados do mascote Ruto em todas as plataformas. (#4549, #4781, #3668, #3585, #4274, #4874, #5079, #5238)

Um navegador que os agentes conseguem usar de verdade

Perfis de navegador por sessão mantêm cookies e histórico entre sessões, os agentes podem capturar screenshots e salvar downloads da página e a anotação ganhou seleção de vários elementos com atalhos contextuais. (#4135, #4994, #3549, #4643)

O GitLab se junta ao GitHub

Uma integração de SCM com o GitLab chegou por trás de um dispatcher multiprovedor, com consistência de respostas e de cache tratada por provedor. (#2773, #5148)

Onboarding sem becos sem saída

Importação a partir de uma URL Git, um fluxo completo de importação de projetos com APIs de validação e carregamento otimista, criação de repositório no GitHub durante a importação, arrastar e soltar pastas, sinalização de projetos cuja pasta local sumiu, permissões padrão lembradas e uma etapa na inicialização que verifica os requisitos reais do sistema (git, tmux, harness, gh) com instalação em um clique. (#4104, #4872, #4760, #5127, #5092, #4065, #4894, #4956, #3825)

Também é novidade

  • Abertura no editor: suporte multiplataforma ao Neovim ao lado dos editores com GUI, além de um botão Open-in-editor ao lado do Kill (#4723, #3284)
  • Som de atenção: um bipe quando um agente precisa de input ou um PR está pronto, e o ícone no Dock do macOS pula com as notificações (#4051, #4115)
  • Configuração de harnesses nas configurações: configurações do instalador e ações de login dos harnesses em um só lugar (#4221, #4523)
  • Uso e custo: uso de tokens por sessão orientado a eventos, observabilidade do uso do Kimi e custos estimados (#2928, #4311, #4168)
  • Atualizações: os downloads pela barra lateral viraram um fluxo de instalação ao vivo, com um instalador de reparo no macOS para máquinas em que uma build preparada foi rejeitada (#5047, #5002, #4981)
  • Quadro: o quadro com todas as sessões voltou, sessões concluídas mostram o progresso do PR e PRs fechados sem merge aparecem em vermelho (#5249, #4916, #5165)
  • Conectividade: o cliente mobile testa em paralelo todos os endpoints anunciados para se conectar de qualquer rede (#4615)

Confiabilidade

As 409 correções foram em grande parte trabalho braçal, mas alguns grupos merecem destaque.

As mensagens na fila ficaram duráveis. As edições persistem com recibos de entrega atômicos, edições inline se recuperam a partir de recibos duráveis do branch ao reconectar, os anexos sobrevivem a edições e reinicializações, e um turno que falha segura a fila em vez de esvaziá-la no mesmo erro. (#5109, #5110, #5006, #5107, #5188, #5106, #5274)

Os terminais param de morrer na hora errada. Saída do PTY com back-pressure, fim do vazamento do renderer de shell ao fechar a janela, shells do usuário preservados entre reaberturas e foco restaurado após a tela cheia e a reinicialização. (#4552, #5150, #5040, #4988)

A restauração verifica antes de restaurar. O --resume confere a sessão persistida antes de anexar, as sessões podem mudar para o terminal até terem trabalho real e o OpenCode mantém a seleção do Plan Mode. (#5214, #5053, #5015)

Correções menores que fizeram diferença: a retenção do log de alterações é limitada, para que a tabela de CDC pare de crescer para sempre; os carimbos das builds nightly são interpretados como UTC; ids de aprovação ACP com percent-encoding são decodificados em vez de falhar; a rota de resolver comentários valida o número do PR; e o quadro é renderizado de novo com eventos de mudança, e não a cada ciclo de polling. (#5103, #5115, #5193, #5239, #4854)

Observação: o comando explore do chat (#4262) foi lançado e revertido (#4289) neste período; ele ainda precisa de mais trabalho antes de estar pronto. A reestruturação das configurações e do pareamento mobile (#4315) foi revertida por pouco tempo e voltou como #4322.

Por dentro

A captura do Sentry com stacks de Go e classificação de triagem chegou ao daemon, ao renderer e ao mobile, conectada pelos DSNs das builds. Todas as superfícies adicionam uma tag de cliente uniforme à telemetria. O daemon reporta erros 5xx e panics com stacks. No site: o site público migrou para useao.dev, o formulário de relato de bugs ficou mais curto e os avatares dos revisores são renderizados por um único caminho. (#4346, #4180, #4181, #4394, #3663, #5133, #5153, #4764)

Como atualizar

GitHub Releases e Homebrew são os caminhos de instalação suportados. Instalações existentes são atualizadas no lugar. Nenhuma migração deste ciclo é destrutiva, e nenhuma mudança de configuração é necessária. O Cloud continua atrás de uma flag: setups apenas locais ainda não veem nada de novo nessa área.

Changelog completo: https://github.com/OrchestratorInc/agent-orchestrator/compare/v0.12.0...v0.13.0