Claude Code, com uma barra de controle em vez de um histórico de rolagem
O Claude Code de verdade, com suas skills, sua memória e suas permissões, rodando em um bloco da janela. Acima dele, tudo o que ele sabe sobre si mesmo, desenhado como menus que um mouse consegue usar.
Por que um app desktop de Claude Code é a ideia errada, e o que construir em vez disso
A cada poucas semanas alguém começa um app desktop de Claude Code: uma janela de chat com seu próprio cliente, seu próprio armazenamento de sessões e sua própria lista de modelos. Funciona por um mês. Depois a Anthropic lança um modelo, muda um flag, move onde as sessões ficam guardadas, e o app fica categoricamente errado sobre um programa que está bem ali, no mesmo disco.
O Vobuda toma o outro caminho: não reimplementar o agente, mas se conectar a ele. Sob a barra roda o binário real do claude que você instalou, com suas skills, sua memória, seus servidores MCP e suas permissões. Nada passa por proxy. Nada é reimplementado. O que acrescentamos é a parte que um terminal não consegue: ler o estado do agente nos próprios arquivos e na própria tela, e colocá-lo onde um mouse alcança.
Essa é a diferença entre uma GUI de Claude Code que fica obsoleta e uma que não pode ficar. Um modelo que sai amanhã aparece no menu assim que o Claude Code for informado dele, e nada aqui precisa mudar.
Tudo na barra vem do agente que está por baixo dela
-
Comandos de barra do Claude Code, como menus
Seus comandos integrados, entre eles /compact, /clear, /model, /effort, /cost, /context, /resume, /rewind, /memory, /agents, /mcp e /status, cada um listado com o que faz, no seu idioma. Um agente desenha seus próprios menus com as setas do teclado, onde um mouse não alcança de jeito nenhum.
-
Skills do Claude Code, agrupadas e contadas
Cada skill que essa pasta realmente tem, agrupada por origem: as suas, de ~/.claude/skills, as do projeto, da pasta correspondente dentro dele, as da sua equipe, o que um plugin trouxe. Sessenta skills em seis origens é uma lista que dá para percorrer, em vez de um nome que você precisa decorar.
-
Sessões, pela primeira linha
Lidas de ~/.claude/projects, com o horário em que cada uma rodou. Nova inicia uma, continuar envia o próprio --continue do Claude Code, e uma mais antiga abre com --resume e seu id. Você escolhe uma conversa pela primeira frase, que é como qualquer pessoa realmente se lembra de uma.
-
O modelo, e o esforço ao lado dele
A lista de modelos do Claude Code sai do próprio arquivo dele, que é a fonte confiável, conferida com os limites que a sua conta nomeia: Opus com o contexto de um milhão de tokens primeiro, Sonnet e Haiku por último. O botão leva o valor em vez da palavra modelo: Opus 5.5 com esforço alto, lido da própria linha de status do agente. E antes que a tela tenha dito qualquer coisa, o botão mostra com o que o settings.json do Claude Code diz que ele vai começar.
-
Modo de planejamento e os demais modos de acesso
Os modos do Claude Code: decidir por conta própria, aceitar edições, perguntar antes de cada passo, só planejar. Lidos da própria tela e trocados apertando a própria tecla quantas vezes for preciso, em vez de uma configuração nossa que poderia discordar em silêncio do que o agente está realmente fazendo.
Três agentes, e saber qual deles está esperando
Um badge diz que algo aconteceu. Não diz o quê, e quando você olha a tela já rolou e passou.
Enquanto você estava fora
Cada vez que um agente passa de trabalhando para esperando, a janela guarda uma linha: qual bloco, qual agente, o que foi pedido, quando parou, quanto tempo levou. O painel de agentes mostra essas linhas agrupadas por bloco, mais recentes primeiro, com um destaque na borda esquerda das que você ainda não viu. Clicar em uma linha leva até aquele bloco.
Uma lacuna em vez de um palpite
O pedido é lido diretamente da tela do próprio agente pelo formato da sua linha de entrada, nunca por uma palavra dentro dela, porque a interface de um agente muda a cada versão. Quando não dá para ler, a linha mantém o horário e a duração e deixa o pedido em branco. Um intervalo de menos de cinco segundos sem nada pedido não é guardado: isso é o agente pensando sobre uma tecla, e registrar isso enterraria as três linhas que realmente importam.
Quando o limite de uso chega
O Claude Code pode esperar sozinho o fim de um limite de uso e continuar quando ele volta. Quando ele não iniciou essa espera, a barra mostra um botão que abre o menu do próprio Claude Code para o limite, e a escolha é sua. O Vobuda não envia nada por conta própria. Se o trabalho deve continuar enquanto você está fora, mantenha o Mac ativo por um tempo que você escolhe, de meia hora a doze horas, em Configurações, Agentes.
Sinais que somem quando você age
Um badge pulsa na aba, um som que você escolheu toca, e um aviso do sistema chega quando o vobuda não é a janela em primeiro plano. Silencioso quando é: um aviso para algo que já está na tela é o que ensina as pessoas a desligarem os avisos. Ele some na sua primeira ação na janela, um clique, uma tecla ou uma rolagem.
Programar no improviso sem perder o fio da meada
O jeito como as pessoas realmente trabalham com um agente hoje é um ciclo: descrever, observar, corrigir, descrever de novo, e rodar três desses ciclos ao mesmo tempo em três projetos. O ciclo em si funciona bem. O que quebra é a organização ao redor dele.
Você perde de vista em qual modelo cada bloco está, porque mudou um há uma hora dentro do agente e a janela nunca soube. Você perde de vista qual dos três está esperando permissão, porque todos os três badges parecem iguais. Você perde a sessão em que estava ontem, porque encontrá-la significa lembrar um nome em vez de uma frase. E você perde a captura de tela que pretendia entregar, porque salvar um arquivo e digitar o caminho dele são quatro passos no meio de um pensamento.
Cada uma dessas coisas é um pedaço de estado que o agente já conhece e que o terminal já jogou fora. Ler esse estado de volta e desenhá-lo é a funcionalidade inteira. Arraste a captura de tela direto da miniatura no canto da tela até o bloco onde o agente está rodando, e o agente recebe a imagem: o mesmo caminho que um path percorre, que é exatamente como o Claude Code quer receber uma.
O que é lido, e de onde é lido
Nada nesta lista é um valor que guardamos, exceto as descrições dos comandos slash. Cada um é pedido no momento em que é mostrado.
| Na barra | Lido de |
|---|---|
| Sessões passadas | ~/.claude/projects, com a primeira linha e o horário de cada sessão |
| Skills | ~/.claude/skills e a pasta correspondente dentro do projeto, agrupadas por origem |
| Comandos de barra | Os comandos integrados do Claude Code, cada um descrito por nós no seu idioma |
| Lista de modelos | O arquivo do próprio Claude Code, escrito conforme o que o servidor dele indica, e os limites da sua conta |
| Níveis de esforço | O modelo em uso |
| Modelo e esforço atuais | A própria linha de status do agente, com seu settings.json como resposta antes da tela falar |
| Modo de permissão | A tela do próprio Claude Code, trocada apertando a própria tecla dele |
| Continuar | A própria flag declarada do agente: --continue para o Claude Code, resume --last para o Codex |
Um agente é uma descrição em JSON no agents.json, reconhecido pela aparência do seu processo, então adicionar um não exige código. Um agente que não declara flag de continuar não recebe o botão.
Esta parte foi antes um defeito. A janela entregava uma única lista de modelos e um único flag de continuar, escritos quando havia um só agente e deixados globais quando passaram a ser três, então abrir um bloco do Codex oferecia Opus, Sonnet e Haiku, e apertar continuar enviava codex --continue, ao qual o Codex responde com um erro de uso. Agora tudo o que é lido de um programa pertence a esse programa e só é pedido por meio dele. A lista de modelos do Codex já não é nossa: o menu abre o seletor do próprio Codex, lê as linhas que ele mostra e aperta a que você escolheu, com os níveis de cada modelo.
Claude Code no vobuda, em detalhe
Isso é uma GUI de Claude Code ou um wrapper?
Nenhum dos dois. O Claude Code de verdade roda em um bloco de terminal, e o vobuda desenha uma barra de controle acima dele a partir do que aquela instalação diz sobre si mesma. Suas skills, memória, servidores MCP e permissões são as que você já tem. Não existe nenhum cliente nosso entre você e o agente.
Como vejo sessões antigas do Claude Code?
O menu de sessões na barra as lista pela primeira linha e pelo horário, lidos de ~/.claude/projects. Abrir uma executa o próprio --resume do Claude Code com o id daquela sessão. Continuar executa o próprio --continue.
Posso trocar o modelo do Claude Code sem digitar?
Sim. O botão de modelo leva o modelo em uso e abre os modelos que o arquivo do próprio Claude Code diz que a sua conta pode usar, com o Opus e seu contexto de um milhão de tokens primeiro e depois Sonnet e Haiku. O botão de esforço ao lado leva o nível e oferece o que o modelo em uso suporta. Os dois continuam lendo a linha de status do agente, então trocar o modelo dentro do agente atualiza os botões em vez de deixá-los mentindo.
Ele mostra as skills do Claude Code?
Ele lista cada skill que a pasta realmente tem, agrupada por origem e contada, para que você possa percorrer em vez de decorar um nome. Ele lê as pastas; não instala, publica nem hospeda nada.
Posso rodar Claude Code e Codex ao mesmo tempo?
Sim, em dois blocos da mesma janela ou em duas abas, cada um com sua própria barra lendo seu próprio agente. Veja como os dois diferem na prática na página de comparação.
E os modelos locais?
Um modelo local via Ollama é uma entrada no agents.json e não exige código, que é justamente para isso que serve um agente ser uma descrição em JSON.
O vobuda vê minhas conversas?
Lê os arquivos do próprio agente no seu disco para desenhar os menus, e as suas conversas não passam por nós. A única requisição que faz sobre a sua conta Claude é a dos limites de uso: a cada cinco minutos enquanto uma barra está na tela, pergunta à Anthropic com o login que o Claude Code guarda no seu Chaveiro, e o token vai só para a Anthropic. Não há conta conosco nem servidor nosso no meio.
Coloque uma barra no agente que você já usa
Grátis, sem conta, e o agente por baixo é o que você instalou.
curl -fsSL https://vobuda.com/install.sh | sh