quvyta-code
qcode
Agentes de programação dentro de contêineres, pelo terminal. Configure um perfil uma vez, entre na conta e, daí em diante, abra esse agente em qualquer espaço de trabalho em poucos segundos, passando de agentes a shells como se passasse de aba.
curl -fsSL https://raw.githubusercontent.com/quvyta/quvyta/main/install.sh | sh -s -- codeBeta. O qcode funciona no Linux com Podman e com Docker. A interface, os arquivos que ele escreve e os nomes das imagens e contêineres ainda podem mudar entre versões.
Os agentes que ele roda
Traga o agente que você já paga.
| Agente | Entra com |
|---|---|
| Claude Code | uma assinatura, uma chave de API ou um provedor seu |
| opencode | sem conta, uma assinatura, uma chave de API ou um provedor seu |
| Gemini CLI | uma chave de API |
| Codex CLI | uma assinatura ou uma chave de API |
| Antigravity IDE | seu próprio login do Google, em uma janela dentro de seu contêiner |
Cada agente é instalado a partir do que seus criadores publicam quando a imagem de um perfil é construída; o qcode não inclui nem altera nenhum deles. Os agentes de linha de comando podem retomar uma conversa pela lista de novas abas do qcode. O Antigravity IDE é um aplicativo de desktop: sua janela abre a partir de um contêiner próprio, e sua aba mostra onde a janela está. Sua página de login abre em uma janela pequena dentro desse contêiner, para que a resposta do Google volte e o login se complete; você faz login no Google uma vez para cada perfil.
A abordagem
O que separa o trabalho é o contêiner.
- Um contêiner por agente
Cada agente roda em um contêiner construído a partir de uma imagem feita para ele. Ele vê a pasta do espaço de trabalho e, se você permitir, a pasta de material dele e a rede.
- Livre para trabalhar
Como é o contêiner que mantém o trabalho longe da sua máquina, o agente é configurado para trabalhar sem parar para pedir permissão.
- Um login, uma cópia por espaço de trabalho
Um perfil entra uma única vez, pelo fluxo do próprio agente. Cada espaço de trabalho recebe a sua cópia do login, então histórico, memória e ajustes nunca vazam de um para outro.
- Parado quando você termina
Quando o último qcode fecha, os contêineres que ele iniciou param. Um serviço opcional em segundo plano faz o mesmo depois de uma queda. Contêineres que você iniciou nunca são tocados.
- Podman ou Docker
Qualquer um dos dois motores funciona. O qcode o encontra e avisa quando ele está ausente ou não está rodando. Com nenhum na máquina, o assistente de primeira execução oferece instalar um: ele mostra o comando para o seu sistema, e ou você o executa você mesmo ou o qcode executa esse mesmo comando em um terminal dentro do assistente enquanto você acompanha. O qcode nunca eleva seus próprios direitos. Quando o motor recusa por um motivo que o qcode conhece, como um serviço parado ou uma conta fora do grupo docker, você lê uma frase simples e a linha que resolve, com as próprias palavras do motor embaixo.
- Troque de motor e leve suas coisas
Alterne entre Podman e Docker em Ajustes, ou deixe o qcode perceber que o motor salvo não responde mais e o outro responde: uma página lista os perfis cujas imagens faltam no novo motor, cada um com Construir, e oferece copiar a home de cada perfil, onde ficam suas configurações e logins. Nada é apagado do motor antigo, então você pode voltar. Uma aba cuja imagem está ausente diz isso e oferece Construir agora, mostra a construção e abre quando ela termina.
- O sistema sob o agente
A imagem de um perfil é construída sobre Debian, o padrão e o recomendado, ou sobre Arch Linux, Ubuntu 24.04 LTS ou Alpine, e o assistente mostra o tamanho de cada um. Alpine é o menor e está marcado como não recomendado: é construído sobre musl em vez de glibc, então o Gemini CLI não roda nele. O Antigravity IDE é construído apenas sobre Debian. Quando um sistema não tem uma ferramenta, o assistente avisa; os arquivos que você abre pela árvore ainda abrem no próprio contêiner Debian do espaço de trabalho, então nada muda aí.
- Nada a mais na sua máquina
Um endereço git é clonado dentro de um contêiner, e os arquivos abrem no pequeno contêiner base do espaço de trabalho, então nem o git nem um editor precisam estar instalados.
- Abas que dão trabalho umas às outras
Um agente em uma aba pode ver as outras abas do seu espaço de trabalho e passar uma tarefa a uma delas. A mensagem é digitada no próprio prompt daquele agente assim que ninguém estiver digitando lá e o agente tiver parado de escrever, com a aba que enviou nomeada; isso foi observado funcionando com Claude Code e opencode. O Antigravity IDE pode dar trabalho às abas, mas não pode receber nenhum, porque sua janela não tem prompt para digitar. As mensagens vão de aba a aba sem perguntar a você; Perguntar antes da primeira mensagem, em Mensagens entre abas em Ajustes, traz a pergunta de volta. Não importa o que você escolha, uma aba sem rede nunca envia para uma que tem, e uma troca entre abas tem fim, então dois agentes não podem ficar respondendo um ao outro para sempre; quando uma termina, ambas as abas dizem isso.
- Um provedor seu
Na página Provedores você adiciona os serviços de modelos que já tem, um servidor ollama na sua própria rede ou o OpenRouter, testa a conexão e lê os modelos que cada um oferece. Um perfil de Claude Code ou de opencode pode então rodar em um deles. A chave nunca entra no contêiner: a aba fala com o provedor por um repasse que o qcode roda na sua máquina, então até um contêiner sem rede pode usar um servidor de modelos da sua rede. A chave fica em um arquivo que só você consegue ler, e a página diz onde.
- O espaço que um servidor dá de verdade
A ficha de um modelo pode prometer mais espaço do que o servidor aceita de verdade, e um servidor que descarta em silêncio o começo de um prompt longo faz um agente parecer esquecido sem motivo visível. O qcode mede quanto o servidor aceita de verdade, mostra ao lado do que o modelo declara e informa ao agente o tamanho medido.
- QCode basic e QCode high
Duas configurações prontas para um perfil. O QCode basic, o recomendado, prepara o agente do jeito que o qcode o roda, então uma aba nova abre direto no prompt. O QCode high acrescenta o graphify (um mapa do seu código que o agente consulta antes de ler arquivos), plugins escolhidos para o Claude Code, o oh-my-openagent para o opencode e, no arquivo de instruções de cada agente, uma seção curta sobre como alcançar as outras abas, deixando o resto do arquivo como estava. Cada parte pode ser desligada, e o assistente diz o que será baixado.
- O que ele envia, e quando
O qcode não guarda estatísticas e não envia nada sobre você ou seu trabalho. Ele faz uma pergunta por conta própria: na inicialização, no máximo uma vez por dia, pergunta ao crates.io pela versão mais recente do qcode publicada e avisa quando a sua for mais antiga. A requisição leva o nome do pacote e a versão do seu qcode, nada sobre você ou sua máquina. Fica ativa por padrão, e Avisar quando houver atualização, em Ajustes, desativa isso para todos os aplicativos Quvyta de uma vez; enquanto estiver desativada, nada é perguntado. Fora isso, o qcode só acessa a rede por conta própria depois que você adiciona um provedor, e somente para esse provedor: quando você pressiona um botão na página Provedores, ou enquanto uma aba que roda nele está aberta. Medir uma janela envia alguns prompts, que um provedor pago cobra. Os agentes falam com seus criadores como sempre, e construir uma imagem baixa aquilo de que a imagem é feita.
- Nove idiomas
Cada palavra na tela vem de um arquivo de idioma, nos mesmos nove idiomas deste site. O qcode pergunta o seu na primeira tela, e as Configurações o trocam.
Telas
Cada tela, no teclado e no mouse.
Instalar
O instalador do Quvyta compila o qcode do crates.io com o cargo. Ele pergunta antes de cada etapa e instala o Rust com o rustup, se estiver faltando. Usa o sudo apenas para instalar um linker C ausente, e só quando você responde sim no terminal.
O programa é instalado como qcode e também como quvyta-code. Para Windows e para todos os outros caminhos, veja Instalar.
Linux e macOS
curl -fsSL https://raw.githubusercontent.com/quvyta/quvyta/main/install.sh | sh -s -- codeOu com o cargo
cargo install quvyta-codeO que é preciso
- Um motor de contêineres
Podman (sem root, sem serviço em segundo plano) ou Docker com o daemon rodando. Se nenhum estiver instalado, o assistente da primeira execução oferece instalar um.
- Uma conta, ou um servidor de modelos seu
Uma assinatura ou uma chave de API dos criadores do agente ou, para o Claude Code e o opencode, um provedor que você adicionou. O opencode também roda sem conta, com os modelos gratuitos dele.
- Espaço em disco e conexão de rede
Para as primeiras imagens: uma base Debian com Node.js, e o agente de cada perfil por cima. Um perfil pode, em vez disso, ser construído sobre Arch Linux, Ubuntu ou Alpine, e o assistente mostra o tamanho de cada um.
- Linux
O qcode é desenvolvido e testado no Linux. macOS e Windows estão previstos no código, mas ainda não foram testados.