Modelo + harness = agente

O que faz o agente render é a caixa em volta do modelo

Dê nota ao harness que você já usa e rode qualquer agente numa caixa que nasce, trabalha e é destruída, sem internet (por padrão) e sem os seus arquivos de senha. Com ou sem tela.

Banner Caixa do agente: o harness vale mais que o modelo
Em resumo

A caixa-do-agente é um kit gratuito para quem já usa agentes de IA no computador, como o Claude Code, o Codex ou o DeepSeek Harness. O harness é o software em volta do modelo: ele roda os comandos, controla as permissões e guarda o histórico. O kit dá nota de 0 a 10 ao harness que você usa e roda qualquer agente ou comando numa caixa Docker descartável, sem internet e sem os seus arquivos de senha (.env). Você precisa de Docker e Python 3.

🎬 Assista ao vídeo

A China trouxe nova mensagem: o fim dos agentes

O vídeo que deu origem a este kit: o corpo, a academia e o gerente da DeepSeek, e por que o harness pesa tanto quanto o modelo.

Ver no YouTube (16:9) Versão vertical (9:16)

Em palavras simples

Uma sala fechada onde o agente trabalha sem estragar nada seu

Quando você deixa o Claude Code, o Codex ou o seu Jarvis mexer no computador sozinho, ele alcança tudo. Quase sempre não faz besteira, mas basta um erro ou um prompt malicioso escondido num site ou num arquivo.

🔑 Suas senhas

Ele lê os arquivos .env, as chaves de API e as chaves SSH.

🌐 A internet

Ele pode mandar os seus dados para fora ou baixar coisa ruim.

📁 Seus arquivos

Ele pode apagar ou estragar o projeto de verdade.

O que a caixa faz, em 3 passos

./caixa.sh ~/meu-projeto -- npm test

1. Cria

Faz uma cópia do projeto numa pasta temporária e deixa de fora as senhas e as chaves.

2. Roda

O agente trabalha na cópia, num container Docker sem internet, com limite de memória, de processador e de tempo.

3. Destrói

Mostra o que mudou num arquivo .patch, apaga o container e apaga a cópia.

O seu projeto original não muda. Você lê o .patch e só aplica se gostar (patch -p1, no passo 6). É como deixar o pedreiro trabalhar numa maquete da sua casa, sem a chave do cofre: no fim você olha o que ele fez e decide se faz igual na casa de verdade.

A segunda ferramenta: a nota

python3 auditar.py ~/meu-projeto

Só lê, não muda nada, e dá uma nota de 0 a 10 para a proteção que você já tem, olhando 6 perguntas:

📦 Caixa

O agente roda isolado?

✋ Aprovação

Alguém confirma antes das ações perigosas?

🔒 Travas

Há bloqueios que não dependem do prompt?

✅ Verificação

Existe teste que prove que o trabalho ficou certo?

🧠 Contexto

O agente tem instruções e memória do projeto?

🔑 Segredos

As senhas estão fora do alcance dele?

Em cada camada que falta, o auditor aponta o kit INEMA que resolve.

Em uma frase: o seu agente é o funcionário; a caixa-do-agente é a sala segura onde qualquer funcionário trabalha, mais uma nota que diz o quanto a sua sala está protegida.

Assista à explicação em vídeo:

Ver no YouTube (16:9)

O que é

Três peças, uma ideia: cuide do corpo do agente

A DeepSeek publicou que o mesmo modelo (V4.1 Flash) acerta 65,6% das tarefas do DeepSWE (um teste de tarefas reais de programação) dentro do Codex e 74,2% num harness mínimo (mini-SWE): quase 9 pontos só trocando o harness (cartão do modelo). Este kit traz essa ideia para a sua máquina.

As peças do kit: auditar, caixa, criar, executar, destruir e mapa de kits

📊 auditar.py

Lê as configurações do Claude Code, do Codex e do DeepSeek Harness e dá nota de 0 a 10 em 6 camadas: caixa, aprovação, travas, verificação, contexto e segredos. Só lê, não muda nada.

📦 caixa.sh

Copia o projeto sem os segredos, roda o comando num container sem rede e com teto de memória, CPU e tempo, mostra o que mudou e apaga tudo. O original só muda com --aplicar.

🗺️ Mapa de kits

Cada camada que faltar aponta para um kit INEMA que resolve: travas contra injeção de prompt, lição que vira trava, memória do projeto, DeepSeek Harness local.

Como funciona

O ciclo da caixa: cria, executa, destrói

É o mesmo ciclo que a DeepSeek usa no treino dos agentes (mais de 380 mil caixas ao mesmo tempo, segundo o artigo dela), em escala de uma pessoa.

Cópia sem .env e chaves→ Container sem rede→ Teto de memória, CPU e tempo→ Patch com as mudanças→ Container e cópia apagados
Pré-requisitos

O que você precisa

Linux com Docker rodando sem sudo (seu usuário no grupo docker). No macOS, instale antes brew install coreutils (traz o gtimeout). O auditor roda até sem Docker.

Docker

Para a caixa. Confira se responde:

# comando
docker --version

Python 3

Para o auditor (sem bibliotecas extras).

# comando
python3 --version

rsync

Para copiar o projeto sem os segredos.

# comando
rsync --version | head -1
Guia de uso · passo a passo

Do zero à primeira caixa em 5 minutos

Os comandos usam só o que está no repositório. Os passos 1 a 4, 6 e 7 e o primeiro comando do passo 5 foram rodados nesta máquina em 10/11/2026; os exemplos com Claude Code dependem da sua chave ou login.

1

Baixe o kit

Clone o repositório e entre na pasta.

git clone https://github.com/inematds/caixa-do-agente && cd caixa-do-agente
2

Prove que a caixa funciona

18 checagens (na 1ª vez baixa a imagem node:22-slim, ~250 MB; a checagem do --interativo usa o comando script): .env e chaves ficam fora, rede fechada, original intacto, container apagado, --aplicar funciona, --env repassa só a variável pedida, --interativo abre terminal, cache e node_modules não voltam ao original, --help funciona, e o auditor detecta segredo, sandbox desligado e máquina sem harness.

bash testes/teste.sh  # termina com: TUDO OK (18/18)
3

Dê nota ao seu harness

Aponte para um projeto seu. O auditor lê as configurações do Claude Code, do Codex e do DeepSeek Harness (o agente de código aberto da DeepSeek, comando dsh): ~/.claude/settings.json, ~/.codex/config.toml e ~/.dsh/settings.yaml (se existirem), e o próprio projeto. Caixa, Aprovação e Travas vêm da configuração global somada à do projeto, então projetos na mesma máquina dividem essas três.

Cada camada vale 2 pontos (OK), 1 (MEIO) ou 0 (FALTA); a nota é a soma dividida por 12, vezes 10. Caixa: sandbox ligado em algum harness. Aprovação: nenhum harness no modo "pula tudo". Travas: regras deny (o que o agente nunca pode fazer) e ganchos PreToolUse (script que barra a ação antes). Verificação: testes no projeto e ganchos Stop/PostToolUse (script que confere depois). Contexto: AGENTS.md ou CLAUDE.md. Segredos: nenhum .env ou chave dentro do projeto.

python3 auditar.py ~/meu-projeto        # nota de 0 a 10 + o próximo passo de cada camada
python3 auditar.py ~/meu-projeto --json # mesma coisa, para usar em script
python3 auditar.py --help               # o critério de cada camada
4

Rode algo na caixa

Tudo depois de -- roda dentro do container, numa cópia do projeto. Ficam fora da cópia: .env, chaves e credenciais, node_modules e .venv. Sem rede por padrão; se o comando precisa instalar dependências, use --rede.

./caixa.sh ~/meu-projeto --imagem python:3.12-slim -- python3 -m unittest  # sem dependências, sem rede
./caixa.sh ~/meu-projeto --rede -- sh -c 'npm install && npm test'           # Node: instala e testa dentro da caixa
5

Rode um agente na caixa

Agentes precisam falar com o modelo, então use --rede. Há dois jeitos de entrar:

Com chave de API: --env NOME repassa só essa variável do seu terminal para a caixa. No modo sem tela (-p), o Claude Code precisa de permissão para rodar comandos e editar; dentro da caixa descartável dá para liberar tudo, porque o pior caso fica preso nela.

Com a sua assinatura (login): abra o agente com --interativo e faça o login dentro da caixa. O login some quando a caixa é destruída.

Para dar acesso a uma pasta sua, use --montar origem:destino:ro (:ro = só leitura). Os arquivos de senha do projeto continuam fora.

./caixa.sh ~/meu-projeto --rede -- npx -y @deepseek-ai/dsh@latest --help  # testado: 1ª vez ~5 min (baixa o pacote)
./caixa.sh ~/meu-projeto --rede --env ANTHROPIC_API_KEY -- npx -y @anthropic-ai/claude-code -p "rode os testes e corrija o que falhar" --dangerously-skip-permissions
./caixa.sh ~/meu-projeto --rede --interativo -- npx -y @anthropic-ai/claude-code  # faça o /login dentro
6

Revise e aplique

Cada rodada que muda arquivo salva um caixa-AAAAMMDD-HHMMSS.patch: um arquivo de texto com a diferença (o diff) de tudo o que mudou. Ele fica na pasta de onde você rodou o comando (ou na que você indicar com --patch PASTA) e serve para você revisar; não precisa aplicar com git apply. Para levar ao original exatamente o que você leu, aplique o próprio patch com patch -p1 dentro do projeto. O --aplicar faz uma rodada nova e pergunta antes de copiar: leia o patch dessa rodada antes de responder s (com um agente, cada rodada pode sair diferente). Arquivos novos e alterados voltam; node_modules, .venv e caches não voltam; arquivo apagado na caixa não é apagado no original.

less caixa-AAAAMMDD-HHMMSS.patch                      # leia
cd ~/meu-projeto && patch -p1 < ~/caixa-AAAAMMDD-HHMMSS.patch   # aplica exatamente o que você leu
# ou: rodada nova que pergunta antes de copiar (leia o patch novo antes do s)
./caixa.sh ~/meu-projeto --rede --aplicar -- sh -c 'npm install && npm run format'
7

Ajuste os tetos e a imagem

Padrão: imagem node:22-slim, 4 GB de memória, 2 CPUs, 30 minutos. Use --imagem quando o comando precisar de outra linguagem ou ferramenta (a imagem do Node não tem make, por exemplo).

./caixa.sh ~/meu-projeto --rede --memoria 8g --cpus 4 --tempo 7200 -- sh -c 'npm install && npm run build'
./caixa.sh ~/meu-projeto --imagem python:3.12 -- make build  # imagem completa, com make
Exemplos

Saída real dos dois comandos (resumida)

Rodados nesta máquina em 10/11/2026.

Saída do auditar.py com nota 6,7 de 10
O auditor num projeto de exemplo: falta caixa (o Codex roda sem sandbox), travas e verificação pela metade. Nota 6,7/10.
Saída do caixa.sh: criar, caixa, destruir
A caixa: 1 segredo ficou de fora, rede desligada, 1 arquivo mudou, patch salvo, container e cópia apagados.
Mapa de kits

Cada camada tem um kit INEMA

As mesmas 6 camadas do auditor. Quando uma falta, a seta do auditor aponta para a linha daqui.

Caixa
caixa.sh (este kit) · rea-sem-travas · dsh-orchestratorA caixa descartável; o DeepSeek Harness rodando em container com modelo aberto; dsh, Codex e Claude Code no mesmo ambiente isolado.
Aprovação
agente-blindadoAprovação antes de ação destrutiva e permissões mínimas, fora do prompt.
Travas
agente-blindado5 travas contra injeção de prompt e 10 ataques inofensivos para medir o seu agente.
Verificação
agente-que-aprendeCada erro vira uma regra (gancho) que barra o mesmo erro na próxima vez.
Contexto
memoria-projetosMemória do projeto que o agente consulta antes de agir.
Segredos
caixa.sh (este kit) · ia-sem-censura-defensivaA caixa deixa .env e chaves fora; o outro kit mostra credenciais fora do chat e do git num uso de segurança defensiva.
Para entender
ai-harness · agentes-harness · hardnessai · esforco-certoO que é harness (vídeo), curso rápido de terminal e harness, curso completo de engenharia agêntica, e quanto esforço do modelo cada tarefa merece.
Fontes
DeepSeek Harness · DSec (arXiv)O harness aberto da DeepSeek (MIT) e o artigo do DSec, a plataforma onde a DeepSeek cria as caixas para treinar os agentes: ~3 milhões por dia, mais de 380 mil ao mesmo tempo.
Limites

O que a caixa não faz

Não é máquina virtual

Docker isola arquivos, rede e recursos, mas divide o núcleo do sistema. Para código em que você não confia nada, use uma VM.

Com rede, há saída

Com --rede, o agente pode enviar para fora o que estiver na cópia. Os segredos já ficaram de fora, o resto não.

O auditor aponta, não garante

Ele lê as configurações mais comuns. Uma nota alta não substitui revisar o que o agente pode fazer.