O chat

Cada sessão abre como um chat. Escreve no compositor em baixo; as respostas do agente, as suas perguntas e um resumo do que fez aparecem acima. Por baixo, o agente corre num separador de terminal comum na sua máquina (um espaço de trabalho, no editor de definições) — o chat lê a conversa dele e escreve nela por si, pelo que tudo o que o agente faria no terminal também o faz aqui. O terminal está sempre a um clique com a cápsula Linux (⌥⌘U; ver O início das sessões).

Este capítulo descreve o chat de uma sessão em execução. Uma sessão em pausa ou concluída mostra a mesma conversa, relida deste Mac, com um compositor cuja próxima mensagem a retoma — ver Sessões em pausa e concluídas.

O chat da sessão em trabalho Adicionar Apple Pay ao checkout. O seu pedido está numa bolha cinzenta no topo; as respostas do agente seguem-se, separadas por duas linhas de atividade recolhidas que dizem 1 chamada de ferramenta · 1 ficheiro lido e Pensou · 1 alteração · 1 comando, depois um botão 1 ficheiro alterado +4 −1 e um cursor a piscar enquanto o agente continua a escrever. O compositor em baixo diz Mensagem para o Claude Code… (ou solte ficheiros), com a dica ⎋ parar ⏎ enviar e um botão vermelho Parar.

O compositor

O compositor diz «Mensagem para o agente… (ou solte ficheiros)».

  • Return envia. ⌥⏎ insere uma nova linha. A dica sob o texto lembra-o: «⏎ enviar ⌥⏎ nova linha».
  • Enquanto o agente trabalha, o botão de envio passa a um botão vermelho Parar («Parar o agente (Esc)») e a dica diz «⎋ parar ⏎ enviar». Esc, ou um clique em Parar, interrompe o agente — o mesmo que premir Esc no terminal dele. Ainda pode escrever e premir Return enquanto ele trabalha; a mensagem vai para o agente como iria no terminal.

Quando a conversa está vazia, o chat diz «O agente está a postos. Diga o que precisa.»

Anexos

Pode entregar ao agente qualquer ficheiro do seu Mac:

  • Arraste ficheiros do Finder (ou uma imagem de um navegador ou da Pré-visualização) para qualquer ponto do chat. O chat mostra Solte para anexar; cada ficheiro torna-se uma etiqueta acima do compositor, com miniatura nas imagens. Clique no sinal de uma etiqueta para a remover.
  • Largue sobre o próprio texto e o campo de texto recebe primeiro o caminho do ficheiro; o chat transforma da mesma maneira numa etiqueta um caminho para um ficheiro do seu Mac. Isto também funciona para um caminho que cole.

Qualquer tipo de ficheiro serve, até 512 MB cada; um que seja demasiado grande ou ilegível é recusado com um aviso sonoro. Nada é enviado antes de enviar a mensagem. Depois, os ficheiros são copiados para a máquina, sob ~/.bromure/drops/ (cada nome prefixado com a hora do envio, para que dois ficheiros chamados photo.png nunca colidam) e os seus caminhos são acrescentados ao fim da mensagem, para que o agente os possa abrir. Pode enviar anexos sem texto algum.

As imagens que anexa deste Mac ficam na conversa: são mostradas dentro da sua mensagem, no lugar dos caminhos, e permanecem lá quando volta atrás ou reabre a sessão mais tarde. Uma imagem enviada de outro cliente aparece como o seu caminho.

Nota: a pasta de largadas vive na home da máquina, pelo que os ficheiros anexados sobrevivem a um reinício da máquina. Também ocupam espaço lá; elimine os antigos de ~/.bromure/drops/ se anexa ficheiros grandes com frequência.

Comandos slash

Escreva / no início do compositor para abrir a paleta Comandos acima dele: os comandos integrados do agente (/model, /compact, /review, …) e os que acrescentou você — para o Claude Code, os seus comandos personalizados (~/.claude/commands/ e o .claude/commands/ do projeto), marcados seus, e as suas competências, marcadas skill; para o Codex, os seus prompts guardados (~/.codex/prompts/). O cabeçalho mostra o nome do agente e o número de correspondências.

Continue a escrever para filtrar. ↑↓ movem, ⇥ completa, ↩ envia (um nome parcial é completado primeiro), esc fecha e limpa. Clicar num comando que não leva argumento envia-o de imediato; um que leva argumento é completado com um espaço para escrever o resto.

Um comando slash é respondido pelo terminal do agente, não na conversa, pelo que o chat mostra o que o terminal imprimiu num cartão sob o comando (atualizado durante alguns segundos; «Nada de novo apareceu no terminal.» quando não houve nada). Clique no × do cartão para o fechar.

Quando o comando abre um menu no terminal — /model, /config e afins — o cartão passa a um terminal em linha: o terminal real do agente, ali mesmo no chat, com a dica «↑↓ mover · ⏎ escolher · esc fechar». As teclas vão diretamente para o agente. Recolher («Voltar à saída impressa») reduz-o a texto, Interagir («Mostrar o terminal aqui e escrever nele») traz-no de volta. O cartão recolhe-se sozinho quando o menu fecha.

Pedir a outra sessão: @

Escreva @ para abrir a paleta Sessões — as «sessões a que pode pedir», por @apelido, com o título e a máquina. Uma sessão sem apelido é listada com um proposto, marcado nome novo, e recebe-o quando a escolhe. ↑↓ movem, ⇥ ou ↩ completam, esc remove o @… que estava a escrever e mantém o resto da frase.

Nomear uma sessão com @nome permite ao seu agente enviar-lhe um pedido. Os pedidos e as delegações aparecem num painel Delegações acima do compositor, com o seu estado, e permitem-lhe responder à pergunta de um delegado em lugar do seu agente. Ver Agentes a trabalhar em conjunto.

Perguntas do agente

Quando o Claude Code lhe faz uma pergunta de escolha múltipla, o chat mostra-a como um cartão vivo no azul da marca: «O agente está a perguntar», a pergunta e as opções, cada uma com a sua descrição.

A sessão Corrigir cobrança dupla no checkout, marcada Precisa de si. Depois de uma linha de atividade recolhida a dizer 1 procura · 1 ficheiro lido e da explicação do agente, um cartão azul com o título O agente está a perguntar mostra a pergunta Como devo evitar a cobrança dupla? com três opções numeradas — Desativar o botão, Chave de idempotência, Ambas — cada uma com uma descrição de uma linha, e um botão Enviar por baixo.
  • Clique numa opção para a escolher. Uma pergunta que permita várias respostas mostra caixas de seleção em vez de números, e um botão Nenhuma destas.
  • Quando o agente faz várias perguntas de uma vez, o cartão diz «O agente está a fazer N perguntas — responda a todas e depois Envie» e mostra um separador por pergunta, assinalado quando respondida. Escolher a resposta a uma pergunta de escolha única avança para o separador seguinte sem resposta.
  • Nada chega ao agente antes de clicar em Enviar, pelo que um clique errado é apenas mais um clique a corrigir. Enviar fica desativado até todas as perguntas terem resposta («Enviar ativa-se quando todos os separadores estiverem respondidos.»). Depois do envio, o cartão diz «Respostas enviadas ao agente.»; se a sessão não pôde ser alcançada, «Não foi possível alcançar a sessão — tente de novo.»

Depois de respondida, uma pergunta recolhe-se numa linha cinzenta: a pergunta, uma seta e o que escolheu (ou «dispensada»). Clique na linha para ver a pergunta toda outra vez, com a sua escolha destacada; a seta volta a recolhê-la.

Enquanto uma pergunta espera, a sessão fica no grupo Precisa de si da barra lateral, com um ponto vermelho.

Os menus dos outros agentes, e os restantes diálogos do Claude Code, aparecem em vez disso como um cartão de estado.

Linhas de atividade

O que o agente faz entre duas mensagens — comandos que corre, ficheiros que lê e altera, procuras, páginas web, subagentes e o seu raciocínio — é recolhido numa única linha discreta, por exemplo «Pensou · 1 alteração · 1 comando» ou «3 comandos · 2 ficheiros lidos · 1 alteração». Uma execução de um único passo nomeia-o («Grep src», «Alterar /home/ubuntu/pipeline/export/csv.py»). As chamadas de ferramenta falhadas são contadas a vermelho na linha («1 falhou»).

Clique numa linha para a abrir («Mostrar o que o agente fez») e ver cada passo como um cartão, e clique de novo para a recolher («Ocultar os detalhes»). Enquanto o agente está a meio de uma execução, a linha mostra um indicador e o passo em curso — «A correr npm test…», «A ler src/app.ts…», «A alterar …», «A procurar …», «A obter …», «A pensar…». Entre execuções, uma indicação «A pensar…», ou um cursor a piscar enquanto uma resposta é escrita, mostra que o agente continua.

O que a vez alterou

Quando a vez do agente alterou ficheiros, termina com um botão como 3 ficheiros alterados +120 −35 — os ficheiros que as suas alterações tocaram e as linhas acrescentadas e removidas, contadas a partir das suas próprias chamadas de alteração. Passe o cursor para ver a lista de ficheiros; clique para abrir a janela de revisão da sessão sobre esses ficheiros. Ver Ramos e revisão.

Cartões

Dentro de uma linha de atividade aberta, cada passo é desenhado conforme o que é:

CartãoMostra
AlteraçãoUm diff colorido da mudança (alterações e patches por igual), com as linhas acrescentadas e removidas; diffs longos são cortados com «… mais N linhas».
Escrita de ficheiroO conteúdo de um ficheiro novo, com realce de sintaxe, e o seu caminho.
ComandoO comando de shell numa linha $ com um botão de cópia. Um comando que escreve ficheiros através de um heredoc mostra os ficheiros que escreve e cada heredoc como o seu próprio bloco.
Ficheiros e procurasO ficheiro, a pasta ou o padrão a que uma leitura, listagem ou procura se referia; o URL ou a consulta de uma obtenção web.
ResultadoA saída de uma ferramenta, recolhida à primeira linha («resultado de ferramenta»); erros a vermelho.
RaciocínioO raciocínio do agente, em itálico.
Tudo o maisO nome da ferramenta e o resumo, abrindo para a sua entrada bruta.

Nas respostas do agente:

  • Os blocos de código têm realce de sintaxe e um botão de cópia.
  • Os diagramas escritos em blocos ```mermaid são desenhados como diagramas, sem ligação à rede, em claro ou escuro conforme a janela. Um diagrama que não possa ser analisado é mostrado como a sua fonte.
  • As tabelas são desenhadas como cartões: um cabeçalho tingido, linhas separadas por fios finos, uma borda arredondada. Num chat mais estreito do que cerca de 480 pontos — uma célula de sala, ou o iPhone — uma tabela larga mantém colunas legíveis e desliza para o lado em vez de se comprimir.

A fazer. Quando o agente mantém uma lista de tarefas (os a-fazer do Claude Code, o plano do Codex, o todo do Oh My Pi), a lista mais recente é fixada acima do compositor como uma lista A fazer — itens feitos, em curso, bloqueados e pendentes num relance — em vez de desaparecer com a conversa. Uma lista longa desliza no lugar.

Mensagens

Passe o cursor numa mensagem para ver as suas ferramentas, no canto superior direito:

  • a hora a que foi enviada (passe o cursor na hora para a data completa);
  • Copiar — copia a mensagem. Numa resposta longa, que o chat desenha em vários pedaços, Copiar no primeiro pedaço leva a resposta toda;
  • Editar e enviar de novo — só na sua última mensagem: devolve o texto ao compositor, para alterar e enviar de novo.

Quando sobe enquanto o agente continua, aparece em baixo um botão Ir para o mais recente; clique nele para voltar ao fim. O chat só acompanha as mensagens novas por si quando está no fim.

Uma conversa longa é desenhada 300 mensagens de cada vez: um botão Mostrar N mensagens anteriores no topo traz as anteriores. Uma muito longa não é lida por inteiro de início; o topo oferece então Carregar conversa anterior para buscar mais dela à máquina.

Cartões de início de sessão e de estado

Quando o agente fica preso em algo no terminal que não é uma conversa — um diálogo, um início de sessão, um erro — o chat deteta-o e mostra um cartão no fim da conversa, para que raramente precise de abrir o terminal.

O agente está à espera que confie nesta pasta. Os agentes perguntam se devem confiar numa pasta a primeira vez que lá trabalham. O cartão mostra a pasta e um botão Confiar nesta pasta e continuar. Quando o diálogo é um a que o chat não pode responder, diz «À espera do diálogo de confiança do agente — continuará depois de respondido.»

Iniciar sessão em fornecedor. Um agente sem conta configurada mostra o seu início de sessão; a barra lateral marca a sessão Início de sessão necessário. Onde o Bromure pode autenticar por ele (Claude, ChatGPT para o Codex, Grok, Kimi), o cartão explica «O Bromure autentica-o neste Mac e mantém a sua conta fornecedor fora da máquina — o agente só vê uma chave substituta.» e oferece Iniciar sessão em fornecedor…:

  1. Clique nele. O cartão diz «A abrir o navegador para iniciar sessão…» e a página de início de sessão do fornecedor abre no navegador do seu Mac.
  2. Aprove o acesso aí.
  3. O Bromure captura a credencial, guarda-a neste Mac e reinicia o agente com a sua substituta («Sessão iniciada. A arrancar o agente outra vez…»). Uma conversa já começada é retomada; uma que nunca arrancou recebe a sua mensagem de abertura.

Se nada chegar em cinco minutos, o cartão di-lo e pode tentar de novo. Ver Credenciais e a fronteira do fio para saber como funciona a chave substituta, e Modelos e fornecedores para gerir inícios de sessão.

Onde o Bromure não pode autenticar pelo agente, o cartão conduz o próprio início de sessão do agente: «Como quer iniciar sessão?» com os métodos como botões, depois Abrir a página de início de sessão, e um campo Colar código com Enviar para o código que a página lhe dá.

O agente precisa de um fornecedor de modelo. O Oh My Pi não tem conta em que iniciar sessão: «O agente ainda não tem fornecedor de modelo nesta máquina. Acrescente uma chave de API ou um modelo local nas definições da máquina e depois volte a iniciar a sessão.» Definições da máquina… abre as definições da máquina.

Outros diálogos. Qualquer outro menu que o agente apresente é mostrado com o seu título e as opções como botões (a que o Return escolheria fica destacada), mais Dispensar (Esc) — «Ou abra o Linux (⌥⌘U) para responder no terminal.» Os painéis de aprovação e as perguntas de escolha múltipla do Kimi Code aparecem assim. O Kimi Code não mostra nenhum deles no seu modo predefinido Nunca perguntar — pergunta em texto simples — apenas quando a definição Aprovações do Kimi da máquina está em Perguntar antes de ações sensíveis (ver Geral).

Falhas. Quando o agente pára num erro, um cartão vermelho diz de que tipo — «O agente não conseguiu autenticar-se», «O agente atingiu um limite de utilização» ou «O agente parou com um erro» — com a linha de erro do próprio agente por baixo. Uma falha de autenticação oferece Iniciar sessão em fornecedor… quando o Bromure pode autenticar pelo agente; caso contrário o cartão diz «Passe ao terminal para o resolver e depois envie outra vez.»

Encontrar coisas numa conversa

Não há campo de procura dentro do chat. Use o campo Procurar sessões da barra lateral ou a secção Nas conversas da paleta ⌘K: ambos procuram o que foi dito em todas as sessões, e abrir um resultado desloca o chat até à primeira mensagem que contém as suas palavras.

Limites

  • Histórico. O chat guarda cerca de 24 MB do histórico de uma conversa de cada vez. As partes mais antigas de uma conversa mais longa são buscadas com Carregar conversa anterior; quando o histórico guardado passa dos 40 MB, a parte mais antiga volta a sair da vista. A conversa em si fica intacta na máquina. Num espelho de um Mac remoto, a primeira abertura de um chat lê apenas os ~1,5 MB mais recentes, e um chat reaberto busca apenas o que é novo desde a última vez.
  • Aspeto. O chat tem um aspeto próprio — papel quente no modo claro, as cores do sistema no modo escuro, seguindo o macOS. As definições de Aparência de uma máquina (tipo de letra do terminal, cores, opacidade) aplicam-se aos terminais dela, não ao chat.
  • O que o chat vê. O chat é construído a partir do ficheiro de conversa do próprio agente e do que o terminal dele mostra. Tudo o que o chat não reconhece continua no terminal: em caso de dúvida, abra Linux (⌥⌘U).