Saltar para o conteúdo

Usar espaços

Este guia mostra-lhe como usar espaços. Um espaço é a superfície de mensagens do Control Center: uma sala com o âmbito de um espaço de trabalho, com um ou mais participantes (o utilizador e/ou agentes), que possui um worktree copy-on-write por cada repo para que foi criado.

As salas individuais e as salas com vários agentes são apenas espaços, que se distinguem unicamente pelo número de participantes que têm. A única exceção são os espaços que os agentes abrem para falar entre si — consulte Espaços de agente para agente abaixo.

  1. Navegue até Espaços
  2. Clique no botão + junto ao título Espaços
  3. Atribua-lhe um nome — é obrigatório. Um nome vazio é recusado; a caixa de diálogo mantém-se aberta
  4. Opcionalmente, adicione agentes do espaço de trabalho
  5. Se o espaço de trabalho tiver algum repo, escolha para quais este espaço aprovisiona worktrees. Estão todos selecionados por predefinição; desmarcar todos os repos cria um espaço sem nada com checkout
  6. Confirme

Os espaços têm o âmbito do espaço de trabalho: só vê agentes do espaço de trabalho atual e um espaço nunca expõe dados de outro espaço de trabalho.

Cada repo tem checkout em repos/<name>/ dentro do espaço. Um repo que traga as suas próprias skills de agente contribui com elas para o agente que estiver a trabalhar nele — um conjunto de um repo de cada vez, alternando à medida que o agente se desloca. A partir do compositor, pode chegar a qualquer uma delas com /skill:<repo>:<name>. Consulte Skills com âmbito de repo.

A superfície fica em /workspaces/<id>/spaces, e um espaço individual em /workspaces/<id>/spaces/<spaceId>.

Um espaço novo começa no modo predefinido. Altere-o a partir da lista pendente de modos, na extremidade esquerda da barra de ferramentas do compositor — não a partir da caixa de diálogo de criação (que não tem campo de modo) nem a partir do cabeçalho do espaço.

Modo Efeito
Agent Acesso total. O modo predefinido; chat internamente, designado «Agent» na lista pendente
Plan Apenas leitura e investigação; o entregável é um plano tipado
Orchestrate Leitura e investigação, mais um único verbo propose_orchestration; o plano só é executado depois de o aprovar

Shift+Tab alterna entre o modo plano e o modo agente sem abrir a lista pendente.

Existe um quarto modo, review, mas não é oferecido na lista pendente — é aplicado automaticamente aos espaços de revisão de PR.

O modo é guardado no espaço, pelo que o mesmo agente pode estar em modo plano num espaço e em modo agente noutro. Todas as conversas dentro de um espaço partilham o modo desse espaço.

Consulte Modos para o modelo completo.

Clique no ícone de pessoas no cabeçalho do espaço para abrir Gerir participantes. Para cada agente que já esteja no espaço, pode:

  • Removê-lo do espaço
  • Definir a sua Autonomia para este espaço: Padrão, Somente propor, Agir com aprovação ou Agir livremente

O seletor de autonomia é por (espaço, agente), pelo que um agente em que confia numa sala pode ficar limitado a propor apenas noutra.

Passe o cursor sobre uma mensagem e clique no ícone de sorriso para abrir a paleta de reações. É um conjunto fixo de seis: 👍 👎 🎉 ❤️ 👀 ✅. Não existe nenhum seletor livre de emoji — tocar num deles alterna a sua reação, e os chips agregados aparecem por baixo da mensagem.

Um espaço alberga várias conversas ao mesmo tempo e todas estão em pé de igualdade — não há nenhuma principal. Um espaço mantém sempre pelo menos uma conversa ativa: não pode arquivar a última conversa ativa, e abrir um espaço que ainda não tenha nenhuma cria uma conversa permanente sem título.

As conversas aparecem como separadores do editor e, na barra lateral, como linhas aninhadas sob o espaço assim que existir mais do que uma. Nova conversa está no menu de novo separador do editor e cria uma conversa sem título, sem pedido de título — o modelo de títulos dá-lhe o nome a partir da primeira mensagem. Use uma para executar trabalho em paralelo com o mesmo agente e o mesmo worktree.

Cada conversa mantém o seu próprio histórico de mensagens e as suas próprias sessões de agente, ao mesmo tempo que partilha os worktrees do espaço e o respetivo modo. Fechar um separador oculta-o; Arquivar conversa (a linha na barra lateral ou o menu de contexto do separador de chat) arquiva apenas essa conversa.

Passe o cursor sobre qualquer mensagem e escolha Iniciar tópico. Isso abre uma conversa ancorada a essa mensagem: a âncora inicializa o contexto de agente da nova conversa com uma linha, e o histórico da conversa de origem não é copiado.

Assim que um tópico tem respostas, a mensagem em que assenta ganha uma linha por baixo — os rostos de quem falou, o número de respostas e quando chegou a última resposta. Essa linha é o caminho de volta: clicar nela abre (ou foca) o separador do tópico. É o único vestígio que um tópico deixa no fluxo de onde se ramificou, e é por isso que a linha existe.

O separador de um tópico tem o título Thread: <name> e ostenta o glifo de ramificação, para que dois separadores do mesmo espaço nunca sejam confundidos um com o outro.

Os tópicos nunca se aninham — ancorar a uma mensagem que já está dentro de um tópico é recusado. O cabeçalho da conversa liga de volta à mensagem de âncora. Eliminar a mensagem de âncora elimina o tópico, e arquivar a conversa de origem não bloqueia os tópicos já existentes.

As marcas de leitura têm o âmbito do espaço, e não o da conversa: abrir qualquer conversa do espaço marca a sala inteira como lida. O estado não lido continua a agregar-se em todas as conversas de um espaço, tópicos incluídos. Quando as conversas estão listadas sob o espaço, o ponto de não lido fica na conversa que tem trabalho por ver, e não na linha ascendente.

Os espaços que os agentes abrem para falar entre si são agrupados separadamente na barra lateral, sob Agentes, recolhidos por predefinição e apresentados em tom esbatido. Nunca aumentam o seu distintivo de não lidos — a conversa dos agentes é silenciosa por construção, e não por uma definição que tenha de procurar.

O tipo de um espaço é um de cinco valores: topic (a predefinição para tudo o que criar), agentPeer, system (gerido por pipelines), pr (criado quando uma superfície de PR precisa de uma âncora de worktree e oculto da barra lateral até ter mensagens) e slack (criado pela ponte de chat para um tópico do Slack ou uma DM do bot, e tratado como uma conversa humana comum).