AkiraAkira.dev
6 min de leitura

Contas, perfis e um canvas que se edita no Unified Dev 1.2

A 1.2 do Unified Dev dá a cada projeto a sua conta de agente, agrupa projetos em perfis e deixa uma conversa mudar de conta sem perder o histórico.

também em EN FR

Esgotar o limite de uso a meio de uma tarde de quinta-feira é o género de problema que só aparece quando as coisas começam a correr bem. Com quatro ou cinco agentes a trabalhar ao mesmo tempo, chega sem avisar, e até agora o Unified Dev não tinha nada a dizer sobre isso. Partia do princípio de que havia um Mac, um login por CLI de agente e uma lista de projetos. É quase tudo o que a 1.2.0 veio desmontar.

Para quem chega agora: é uma app nativa para macOS que corre agentes de código em worktrees de git, cada trabalho no seu próprio branch e checkout, com um agente dentro, e vários ao mesmo tempo. Fala com o Claude Code, o Codex, o Grok, o Cursor e o OpenCode.

A janela do Unified Dev com a sidebar, uma conversa e o separador do canvas aberto A janela do Unified Dev com a sidebar, uma conversa e o separador do canvas aberto

Contas

A app passa a conhecer os logins de agente que vivem no Mac, e não só o que está em ~/.claude ou em ~/.codex. Uma conta nova acrescenta-se em Settings, em Agents: o login é feito numa pasta que a app cria para ela, de modo que a segunda não escreva por cima da primeira. A identidade de cada conta é lida dessa pasta, não de uma etiqueta escrita à mão.

Cada projeto escolhe depois qual delas corre. As definições do projeto ganharam um painel próprio, Agents, e o texto desse painel diz o que isso significa: todos os workspaces e todas as conversas daquele projeto correm com a conta escolhida. No arranque, o processo do agente é apontado a essa conta e as credenciais que de outra forma herdaria da shell são retiradas, para que o ambiente não se imponha sem ninguém perceber.

A escolha também mudou de sítio. O endereço da conta estava no rodapé da caixa de escrita; agora é uma secção dentro do seletor de modelo, ao lado do modelo, que é onde já se olhava antes de enviar. Aparece apenas quando aquele agente tem mais de uma conta neste Mac, ou quando há um aviso a dar.

Settings, Agents, com a conta que um CLI corre e o botão para acrescentar outra Settings, Agents, com a conta que um CLI corre e o botão para acrescentar outra

Quando o limite se esgota

Uma conversa é agora um fio só com várias sessões nativas por trás, uma por agente e por conta, e é isso que permite a parte interessante: quando o Claude corta um turno por falta de limite, a app oferece outra conta, e aceitar a oferta mantém a conversa, o histórico e o que já estava escrito na caixa. O botão diz “Continue on” e o nome da conta.

O agente que entra é informado do que perdeu, em texto que trata como dados e não como instruções. Um turno em curso é interrompido, as mensagens em fila ficam em fila, e no ecrã aparece apenas uma linha divisória. O turno que o limite cortou retoma sozinho depois da troca, uma vez por corte e nunca depois de um Stop, e o agente é avisado para confirmar o repositório antes de repetir trabalho. Voltar à primeira conta retoma a sessão dela e envia-lhe só o que aconteceu enquanto esteve fora. O mesmo caminho serve para passar uma conversa do Claude para o Codex e outra vez para o Claude.

Um perfil de cada vez

Um perfil é um grupo de projetos com nome, e a janela mostra um de cada vez: os seus projetos, os seus workspaces, o Home e o arquivo. Com Control Command e um dígito muda-se de perfil, e a troca nunca interrompe um agente, portanto o trabalho continua num perfil que ninguém está a ver. Um projeto muda de perfil com tudo o que tem dentro.

O switcher de perfis aberto na sidebar, com Unified e Bateria O switcher de perfis aberto na sidebar, com Unified e Bateria

Cada perfil recebe uma pasta própria sob a raiz dos workspaces, para que os checkouts de duas organizações deixem de ficar lado a lado. O nome dessa pasta nunca muda depois de criado, logo renomear um perfil não mexe em nada no disco.

As contas seguem a mesma linha. Um perfil ou tem contas próprias ou usa as do Unified, o primeiro perfil, nunca as duas coisas. A conta que corre um agente é decidida por ordem: a escolha do projeto entre as contas do seu perfil, depois a conta por omissão do perfil, e por fim o login deste Mac. Um perfil com contas próprias não dá esse terceiro passo, pelo que o trabalho de uma organização não pode correr, nem ser cobrado, com o login de outra. Quando nenhum dos dois nomeia uma conta que ainda exista, o turno não arranca e a conversa explica porquê.

Há uma exceção a ter em conta: o Grok ainda não tem conta por omissão a que recorrer, por isso corre em todos os perfis com o login deste Mac, e as definições dizem-no em vez de prometerem uma recusa que não aconteceria. A migração é aditiva: os projetos existentes ficam no Unified, e uma versão anterior da app recusa a base de dados migrada em vez de a ler mal.

O canvas ganhou um editor

O separador do canvas chegou na 1.1 para mostrar um documento que um agente tinha escrito. Agora é um sítio onde se trabalha: uma barra flutuante com texto, notas, formas, caneta, molduras e imagens, um painel de estilo e exportação para PNG. Os ficheiros gravam-se sozinhos, as gravações não se atropelam, e uma cópia é guardada antes de algo de fora escrever por cima.

Os comentários são a parte que vale a pena experimentar. Um comentário fica colocado no canvas e chega ao agente quando ele está parado, fica em fila quando não está, e espera depois de um Stop ou de um recuo até alguém voltar a escrever. Dá para anotar um diagrama e deixar que o agente apanhe as notas no turno seguinte, em vez de descrever o que já está desenhado.

Mudanças menores

Os links passam a abrir no browser da própria app em vez de saírem para o Safari, e as ações da sua barra têm atalhos de teclado. Os workspaces ganharam um separador de definições. O arquivo pode apagar workspaces arquivados acima de um limite escolhido. Um transcript volta à última linha vista naquele workspace e não ao fundo. A quota e o plano do Grok aparecem no painel de uso ao lado dos outros. O esforço de raciocínio que a app mostra para uma conversa é agora o esforço com que o agente é lançado, o que não acontecia na 1.1.3.

Como obter a 1.2

A app pede macOS 26 num Mac com Apple silicon e está na página de releases. Quem reparte o trabalho por mais do que uma organização faz bem em começar pela documentação dos perfis: é lá que se resolve quem paga o quê, antes de a primeira fatura o resolver.

Pesquisar no Dev Log

Pesquisar artigos, etiquetas, ideias…