Gerenciamento de Interface e Sessões
Este capítulo aborda o modelo organizacional do VelaTerm: o layout com três painéis, o gerenciamento da árvore, o comportamento das abas e dos painéis divididos, os pontos de status e a filtragem, o arquivamento e a busca global. Tudo o mais se baseia nesses elementos.
1. O layout

| Área | Conteúdo |
|---|---|
| Barra lateral esquerda | Árvore de projetos (projeto → grupo → sessão), campo de busca por nome, filtro de status; botões no cabeçalho: Importar Projeto / Clonar de Git / Busca Global / Sessões Arquivadas |
| Painel central | Barra de abas + terminais (ou abas de documento/navegador); cada aba pode ser dividida em painéis |
| Painel direito | Segue a sessão atual: Árvore de arquivos / Informações / Ramo Git e alterações |
| Barra de status | Contagem de sessões, estado da sessão atual, ramo Git, alternar notificações, contadores globais de três estados |
Ambos os painéis laterais podem ser recolhidos (os dois botões mais à direita na barra de título) e redimensionados arrastando.
2. A árvore: projetos, grupos, sessões
Um projeto **** corresponde a um diretório no disco e é a raiz de uma subárvore. Um grupo **** é um nó puramente organizacional e pode ser aninhado arbitrariamente. Uma sessão **** é a unidade de trabalho — um terminal ou um processo de agente. Seu diretório de trabalho é, por padrão, a raiz do projeto e pode ser alterado na forma de edição da sessão.
A maioria das operações está nos menus de contexto:

- Criar: os menus de projeto/grupo oferecem Nova Sessão Claude, mais tipos de agente em Mais Sessão de Agente, Nova Página do Navegador (desktop) e Novo Grupo. Os menus de grupo trazem ainda Nova Sessão de Terminal, assim como o botão + que aparece ao passar o cursor sobre qualquer linha de projeto, grupo ou sessão: ambos criam um terminal de rascunho no painel central, não um nó da estrutura. Na parte inferior, também há “Novo com argumentos de inicialização…” (criar com argumentos de inicialização personalizados) e “Retomar Sessão…” (anexar um ID de sessão de agente conhecido como novo nó — consulte o manual de agentes).
- Mover: arraste os nós diretamente ou clique com o botão direito → “Mover para…”. Uma sessão também pode ser movida para debaixo de outra sessão para se tornar sua filha.
- Renomear / Editar: Renomear altera o nome; Editar abre o formulário completo (nome, diretório de trabalho, comando de inicialização, argumentos de inicialização, alternar permissões, etc.). Se você não der nome a uma sessão Claude, ela será nomeada com base na sua primeira mensagem.
- Selecionar vários: clique com ⌘/Ctrl em várias sessões e, em seguida, clique com o botão direito para abrir em lote, arquivar em lote, mover em lote ou excluir em lote.
- O estado de recolhimento é mantido entre reinícios.
Os menus de contexto da sessão são mais completos (as entradas aparecem conforme o tipo e o estado da sessão):

3. Abas: intencionalmente semelhantes a um navegador
Três regras explicam tudo o que as abas fazem:
- **Ao clicar em uma sessão na árvore, a aba atual ** é reutilizada por padrão; use clique com o botão direito → “Abrir em Nova Aba” para abrir mais.
- Sair não significa fechar: a aba deslocada vai para segundo plano para permanecer ativa — seus processos continuam rodando e a saída continua fluindo; é possível voltar a ela a qualquer momento. As abas em segundo plano têm um limite (padrão 32, ajustável por meio de “Limite de segundo plano” em Configurações); quando ultrapassado, a mais antiga inativa é encerrada automaticamente, e se todas estiverem ativas você será solicitado a decidir.
- Fechar uma aba (⌘W ou ×) realmente encerra o processo. Para sessões de agente isso não é problema: a conversa é lembrada, e reabrir o nó retoma-a.
⌘1–9 alternam entre as abas. A área + na extremidade direita da barra de abas cria terminais temporários, novos documentos e abas de navegador.
4. Painéis divididos
Dentro de uma aba, é possível dividir o terminal: ⌘D divide para a direita, ⌘⇧D divide para baixo (os cabeçalhos dos painéis também têm botões de divisão), e os divisores são arrastáveis. Um novo painel herda o diretório de trabalho do painel atual:

O modo de permanência ativa funciona em todo o tab **** — ao sair e voltar, todo o layout dividido é mantido. ⌘W fecha o painel atual; fechar o último painel fecha a aba.
5. Sessões temporárias (rascunhos)
O terminal que aparece ao pressionar ⌘T é um rascunho: existe apenas como uma aba no painel central, nunca entra em contato com a árvore ou o banco de dados, e é descartado ao fechar (a aba tem um selo de rascunho). Use-o para verificar comandos rapidamente ou para um ssh temporário — sua árvore permanece limpa. Terminais só existem nessa forma: nenhuma ação de menu converte um rascunho em nó da árvore, então trate cada terminal como descartável e deixe o trabalho duradouro nas sessões de agente. O menu de contexto do rascunho é igualmente curto: Abrir, Abrir em Nova Aba, Renomear, Informações da Sessão e Fechar Rascunho.
6. Pontos de status e filtragem
O ponto ao lado de cada sessão de agente indica seu estado ativo:
| Cor | Significado |
|---|---|
| Verde | Em uso |
| Amarelo | Precisa de você — fazendo uma pergunta/aguardando permissão ou tendo uma notificação não lida |
| Magenta | Já foi respondido, e você já viu |
A barra de status exibe contadores globais para os três estados (Em uso / Pendente / Visualizado); clique em um deles e a barra lateral mostrará apenas as sessões nesse estado — com vários agentes em execução, é assim que você identifica “quem está esperando por mim” de imediato. O campo de busca da barra lateral filtra os nós da árvore por nome.
7. Arquivamento: guardar, não excluir
O trabalho concluído não precisa ser excluído. Clique com o botão direito em uma sessão → “Arquivar Sessão” para ocultá-la temporariamente — toda a subárvore (incluindo filhos) deixa a árvore e seus processos são encerrados, mas todos os dados são mantidos. O botão de arquivamento no cabeçalho da barra lateral abre o painel Sessões Arquivadas:

- O conteúdo de cada sessão arquivada é visível: as sessões de agente exibem uma transcrição analisada (mensagens do usuário/assistente, pesquisável e copiável); quando não há transcrição, é exibida uma reprodução somente leitura da gravação do terminal.
- Restaurar coloca-a exatamente onde estava na árvore — com seu ID de sessão de agente intacto, de modo que reabri-la retoma a conversa original. É realmente a mesma sessão novamente.
- Exportar grava toda a conversa (incluindo chamadas de ferramentas e resultados) em um Markdownarquivo.
- Excluir para sempre é aqui que ocorre a exclusão física.
- Os grupos podem ser arquivados em massa (clicar com o botão direito → “Arquivar Grupo”): todas as sessões contidas nele vão para o painel de arquivos, e restaurar qualquer uma delas recria o grupo.
A caixa de busca no topo do painel realiza busca por texto completo apenas em conteúdos arquivados.
8. Busca global (⌘⇧F)
Busca em todo o conteúdo histórico de todas as sessões — não apenas nomes, mas também transcrições dos agentes e saídas do terminal:

- Várias palavras-chave (independente da ordem), substrings CJK, respostas em milissegundos, classificadas por relevância.
- Os resultados são agrupados por sessão à esquerda; a pré-visualização à direita acompanha e destaca o resultado atual; ↑↓ / Enter permitem navegar pelos resultados entre as sessões.
- O botão “Abrir sessão” leva diretamente para aquela sessão no espaço de trabalho.
- Por padrão, apenas sessões ativas são pesquisadas; a opção “Incluir arquivados” amplia o escopo da busca.
A saída do terminal só pode ser pesquisada se a gravação da sessão estiver ativada (Configurações ▸ Avançado ▸ Gravar logs de sessão, desativado por padrão); as transcrições dos agentes sempre podem ser pesquisadas.
9. A proteção contra exclusão
Excluir uma sessão significa excluí-la de fato (seu arquivo de gravação também é removido). Porém, ao excluir um grupo ou projeto que ainda contenha sessões arquivadas, os arquivos arquivados não são eliminados junto — eles permanecem no painel de arquivos, e restaurar um deles recria o grupo que o continha. Em outras palavras: arquive primeiro se estiver preocupado; o conteúdo arquivado sempre pode ser recuperado.