André Brandão

Sandboxd

Em desenvolvimento inicialO Sandboxd é novo e muda rápido. Ainda não há releases; acompanhe no GitHub.

Visão geral

O Sandboxd roda sandboxes descartáveis em contêineres nas máquinas que você administra, com terminal e encaminhamento de portas no navegador. A ideia é entregar um repositório e um prompt para um agente de código, ou subir um notebook, um editor ou um ambiente de preview, e continuar acompanhando e controlando tudo por uma página web, sem nenhuma configuração do lado do cliente.

Ele começou como uma peça do Dev Agents, que precisava de um lugar seguro e descartável para rodar agentes, e virou um projeto próprio.

Cada sandbox é um único contêiner rodando um comando em um PTY. Ele desaparece quando o comando termina, quando fica ocioso por tempo demais, ou quando você o apaga.

  • sandboxd-api: o plano de controle. Mantém o estado dos sandboxes e serve os terminais e previews.
  • sandboxd-worker: um daemon pequeno em cada máquina. Ele se conecta ao plano de controle, então as máquinas não precisam de portas de entrada abertas.
  • UI de referência: um cliente que mostra o que a API consegue fazer.

Os dois daemons são binários estáticos em Go. O repositório traz pacotes Nix e módulos NixOS, OpenTofu para a infraestrutura, Traefik para o ingress e um SDK em TypeScript gerado a partir da especificação OpenAPI.