Skills

Crabbox: dê ao agent uma caixa sob demanda para rodar testes, builds e verificações de UI

O mais indicado é que um agent ou você mesmo coloque testes, builds e verificações de UI para rodar em uma caixa na nuvem disponível sob demanda, em uma VM/contêiner local ou em uma máquina que você já possui, enquanto continua editando localmente; o pré-requisito mais importante antes do primeiro uso é ter o Docker ou o Podman instalado localmente, e a CLI também precisa ser instalada separadamente.

Official source · openclaw/crabbox

Install

npx skills add openclaw/crabbox --skill crabbox

O Crabbox é mais indicado para quando um coding agent está editando código localmente e, ao mesmo tempo, delega testes, builds ou verificações de UI a uma máquina remota disponível sob demanda; o pré-requisito mais importante antes de começar é: sua máquina precisa permitir a instalação da CLI, e o caminho rápido de contêiner local exige que o Docker ou o Podman estejam previamente instalados e em execução.

Para quem é

  • Para quem quer que um agent (ou você mesmo) execute testes, builds e verificações de UI em uma caixa na nuvem, em uma VM/contêiner local ou em uma máquina que você já possui, enquanto continua editando o código localmente.
  • O Crabbox é uma CLI que oferece três formas de caixa: caixa na nuvem, VM ou contêiner local, e uma máquina própria que você já tem.
  • O caminho rápido de contêiner local exige que o Docker ou o Podman estejam instalados e em execução na máquina; o fluxo via SSH exige que o ambiente local tenha git, ssh, ssh-keygen, rsync e curl. Quando esses pré-requisitos não são atendidos, as evidências oficiais não indicam outras formas disponíveis.
  • Sobre se a caixa na nuvem exige conta, como funciona a cobrança e quais plataformas de nuvem são suportadas, as evidências não esclarecem; confirme na documentação oficial antes de usar.

Primeira tentativa em 3 minutos

O caminho principal recomendado oficialmente é o quickstart de contêiner local, que não exige conta na nuvem em nenhum momento:

  1. Pré-requisitos: tenha o Docker ou o Podman instalado e em execução na máquina; a CLI é instalada separadamente (conforme a orientação oficial, "Install the CLI separately"; para os comandos exatos de instalação, consulte o README oficial).

  2. Instale a skill do agent: execute o comando oficial no agent suportado:

    npx skills add openclaw/crabbox --skill crabbox
    

    A equipe também publicou uma skill crabbox-quickstart, que pode servir como alternativa.

  3. Entre em um repositório Git no qual você confia (a orientação oficial exige operar em um repositório confiável).

  4. Peça ao agent (ou execute no terminal) o comando oficial de autodiagnóstico:

    crabbox doctor --provider local-container
    

    Sinal de sucesso: o doctor passa na verificação do ambiente de contêiner local.

  5. Em seguida, execute uma primeira tarefa de baixo risco e somente leitura para validar todo o fluxo:

    crabbox run --provider local-container -- uname -a
    

    Sinal de sucesso: o Crabbox aluga uma caixa de contêiner descartável, transmite a saída do comando de volta ao seu terminal e, em seguida, libera a caixa. Este exemplo executa apenas uname -a e não altera seus arquivos.

  6. O fluxo de trabalho central a partir daí é crabbox run -- <cmd>: ele aluga a caixa, sincroniza sua árvore de trabalho (incluindo alterações não commitadas), executa o comando e transmite a saída de volta ao terminal, retorna o código de saída e, por fim, libera a caixa descartável. Atenção: o que é sincronizado é a árvore de trabalho inteira, incluindo as alterações não commitadas; antes de rodar um comando de teste real pela primeira vez, confirme que você entende o que será levado para execução na caixa.

Casos de uso

Caso 1: rodar a suíte de testes em uma caixa limpa antes do commit. Cenário: você (ou o agent) terminou de alterar o código, mas não quer poluir o ambiente local. Peça ao agent para executar crabbox run -- pnpm test (substitua pnpm test pelo comando de testes do seu próprio projeto). Resultado esperado: uma caixa descartável é alugada, sua árvore de trabalho, junto com as alterações não commitadas, é sincronizada para lá, a saída dos testes é transmitida em tempo real ao terminal, ao final você obtém o código de saída real e a caixa é liberada.

Caso 2: validar o ambiente da caixa de contêiner. Cenário: primeira configuração ou suspeita de problema no ambiente. Peça ao agent para primeiro executar crabbox doctor --provider local-container como diagnóstico e depois crabbox run --provider local-container -- uname -a para confirmar que a caixa consegue executar comandos. Resultado esperado: o doctor informa se o ambiente de contêiner local está pronto; o run retorna as informações do sistema da caixa, provando que o fluxo completo de aluguel—sincronização—execução—liberação funciona. Essas duas operações apenas fazem verificações e leem informações do sistema, sendo ações típicas de baixo risco para o primeiro uso.

Limites de uso

  • Efeitos colaterais e pontos de confirmação: cada crabbox run aluga uma caixa e sincroniza sua árvore de trabalho (incluindo alterações não commitadas) para ela, e então executa nela o comando que você especificou — o comando roda de verdade na caixa, portanto confirme seu conteúdo antes de iniciá-lo. O caminho de contêiner local também inicia contêineres na sua máquina; quanto aos limites dos serviços externos envolvidos nas caixas na nuvem, as evidências não esclarecem.
  • Pré-requisitos do ambiente de execução: o caminho rápido de contêiner local exige Docker ou Podman; o fluxo via SSH exige git, ssh, ssh-keygen, rsync e curl no ambiente local.
  • Pré-requisitos do cliente: as skills são instaladas via npx skills add e funcionam em agents que suportam agent skills; quais clientes exatamente são suportados, as evidências não enumeram individualmente.
  • Informações-chave ainda não confirmadas: os requisitos de ativação e de conta das caixas na nuvem, se o crabbox doctor ou o run acessam a rede ou quais arquivos locais leem e escrevem, e quais outros subcomandos existem além dos mostrados na documentação — nada disso é esclarecido pelas evidências oficiais; consulte o README oficial antes de usar.