
Sessenta contêineres em um servidor
Uma caixa bare-metal executa dezenas a centenas de contêineres Hoody. KSM e BTRFS dedup fazem o custo marginal próximo a zero.
O passo 3 do seu agente gera tokens. O passo 4 precisa começar a consumir antes do 3 terminar. Mande a saída do modelo direto para um caminho; o próximo processo faz curl no mesmo caminho. Sem encanamento de SSE, sem broker, sem domesticar callbacks — os bytes correm na velocidade da linha.
# stream tokens upwardai.generate([ stream: true]) | curl -T - \ /pipe/tokenssem buffer · sem broker · sem re-encode
# read at line speedcurl \ /pipe/tokens \ | jq -c .delta | apply()# no buffer between usA maioria das stacks de streaming precisa de um endpoint SSE, uma fila, um barramento pub/sub e um callback de framework para mover tokens um metro. O pipe substitui tudo: o produtor escreve em um caminho com PUT, o consumidor lê do mesmo caminho com GET. Os bytes fluem direto entre os dois — sem armazenamento intermediário no servidor.
curl -T - /pipe/tokenscurl /pipe/tokensStorage do lado do servidor: zero. Os bytes fazem streaming do remetente para o receptor assim que os dois conectam, com backpressure por receptor. O endpoint existe só porque dois curls tocaram nele.
# Step 3 — agent generates and pipes tokens upward.
ai.generate({ model, stream: true }) \
| jq -c '{delta: .text}' \
| curl -T - https://pipe.hoody.com/api/v1/pipe/run-42/tokens?n=3
# Step 4 — three readers GET the same path. The pipe fans out.
curl https://pipe.hoody.com/api/v1/pipe/run-42/tokens?n=3 | tee evaluator.log
curl https://pipe.hoody.com/api/v1/pipe/run-42/tokens?n=3 | jq -c .delta
curl https://pipe.hoody.com/api/v1/pipe/run-42/tokens?n=3 | websocketd --port=8080
# All four processes block until the n=3 readers connect, then bytes flow.PUT empurra os bytes para cima, GET puxa para baixo. O parâmetro ?n diz quantos leitores esperar; o pipe bloqueia até esse número conectar e aí faz fan-out simultâneo. Sem SDK de cliente, sem broker, sem instalação de SDK — só HTTP.
Quando o produtor está enviando, qualquer coisa que fale HTTP pode assinar. Até 256 leitores no mesmo stream, distribuídos pelo pipe com backpressure por receptor. Sem biblioteca de cliente para instalar, sem relay para provisionar.
Um EventSource ou um leitor fetch bate no caminho do pipe e recebe o mesmo stream de bytes que o agente está produzindo. Sem framing SSE no seu servidor — o pipe carrega os bytes que o modelo emite, crus.
Um processo avaliador assina o mesmo caminho. Pode interromper o produtor no momento em que a saída desviar. Dois agentes no mesmo fio, sem framework orquestrador entre eles.
Um consumidor de logging lê, faz gzip e escreve em disco. Uma UI de debugger lê em paralelo. Nenhum sabe que os outros existem — o pipe entrega os mesmos bytes para cada leitor.
O LLM faz streaming. O pipe faz streaming. O leitor faz streaming. Sem camada do meio.
A fiação que você procura quando um processo precisa enviar tokens em tempo real para outro. Cada um traz seu framing, seu SDK, sua superfície de operação. O pipe é o fio.
Pare de cabear infraestrutura de streaming entre dois processos que já falam HTTP. Abra um caminho. Mande para ele. Leia dele.