Resumo
O Pi (earendil-works/pi) é um harness de agente minimalista e extensível, com licença MIT. A versão 1.0 saiu em 01/10/2026 (post oficial da Earendil) e traz Codemode com suporte nativo a MCP, carregamento adiado de ferramentas, modelos virtuais, cache warming para modelos da Anthropic, mensagens de sistema no meio da conversa, tema novo de TUI e tela cheia por padrão.
- 111.343 estrelas, 14.138 forks, MIT, último push em 01/10/2026 às 23:36 UTC (API do GitHub, 02/10/2026).
- Post no Hacker News: 953 pontos e 310 comentários (02/10/2026).
- O autor diz que "centenas de milhares de pessoas" usam o Pi toda semana. Essa é uma alegação do próprio autor, sem auditoria independente.
- O ponto de atenção: o Pi não tem sistema de permissão embutido. Por padrão ele roda com as permissões do usuário e do processo que o iniciou. O README manda isolar (Docker, Gondolin ou OpenShell) quando você precisa de limites mais fortes.
Fontes: post oficial earendil.com/posts/pi-1-0 (01/10/2026), README e docs do repositório earendil-works/pi, API do GitHub.
Pré-requisitos
- Node.js 22.19 ou mais novo. Os instaladores de macOS, Linux e Windows podem instalar o Node se ele não estiver na máquina.
- Uma conta de provedor de modelo (assinatura ou chave de API). O Pi funciona com Claude, OpenAI e outros provedores.
- Docker, se você for seguir a seção de isolamento (recomendado antes do primeiro uso).
Instalação
macOS e Linux
curl -fsSL https://pi.dev/install.sh | sh
Windows (PowerShell)
powershell -c "irm https://pi.dev/install.ps1 | iex"
Alternativa: npm
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
O Pi não precisa de lifecycle scripts de dependências em uma instalação normal; por isso o --ignore-scripts é seguro aqui.
Antes de rodar qualquer
curl ... | sh: leia o script. É um instalador de terceiros executado com as suas permissões.
Como usar
- Abra um terminal dentro da pasta de um projeto de teste (não na sua pasta pessoal) e rode:
pi
- Para conectar um provedor, rode
/logindentro do Pi e escolha a assinatura ou a chave de API. - Dê uma tarefa em linguagem normal. Para rodar um comando de shell sem passar pelo modelo, use
!na frente (por exemplo,!pwd). - No Pi 1.0, o comando
/sessionmostra o custo por modelo e o uso de cache.
O que mudou no Pi 1.0
| Novidade | O que é |
|---|---|
| Codemode | suporte nativo a MCP e a modelos que não são LLMs (por exemplo, modelos de imagem) |
| Modelos virtuais | extensões podem expor um modelo "virtual"; na demo do post, o modelo router/auto planeja com Claude Opus e implementa com GPT 6 Luna |
| Carregamento adiado de ferramentas | as ferramentas carregam quando são necessárias |
| Cache warming | para modelos da Anthropic |
| Mensagens de sistema no meio da conversa | prompt e ferramentas conscientes da transcrição |
| TUI | tema novo e tela cheia por padrão |
O post também apresenta o Pi Durable, um pacote experimental para aplicações de agente de longa duração (npm install @earendil-works/pi-durable @earendil-works/pi-ai @earendil-works/chord). Não é necessário para usar o Pi no terminal.
Verificar
piabre a interface sem erro de comando não encontrado.- Dentro do Pi,
!pwdmostra a pasta que você escolheu (no Docker, deve mostrar/workspace). - Depois de
/login, uma tarefa simples recebe resposta do modelo. /sessionmostra o uso por modelo.
Isolar o Pi (faça antes de usar em projeto real)
Segundo o README, o Pi não inclui um sistema de permissão para arquivos, processos, rede ou credenciais. A documentação oficial de containerization descreve quatro caminhos:
| Método | Onde o Pi roda | O que fica isolado |
|---|---|---|
| Docker simples | dentro do container | Pi, ferramentas, comandos com ! e extensões |
| Docker Sandboxes | sandbox gerenciado | idem; a chave do provedor fica no host e é substituída pelo proxy |
| OpenShell (NVIDIA) | sandbox local ou remoto | idem; com políticas de arquivo, processo, rede e credenciais |
| Gondolin | no host | só as ferramentas nativas e os comandos ! (micro-VM Linux) |
Opção 1: Docker simples (a mais direta)
Crie o arquivo Dockerfile.pi:
FROM node:24-bookworm-slim
RUN apt-get update \
&& apt-get install -y --no-install-recommends bash ca-certificates git ripgrep \
&& rm -rf /var/lib/apt/lists/*
RUN npm install -g --ignore-scripts @earendil-works/pi-coding-agent
WORKDIR /workspace
ENTRYPOINT ["pi"]
Monte a imagem:
docker build -t pi-sandbox -f Dockerfile.pi .
Rode a partir da pasta que o Pi pode acessar:
docker run --rm -it \
-e ANTHROPIC_API_KEY \
-v "$PWD:/workspace" \
-v pi-agent-home:/root/.pi/agent \
pi-sandbox
Troque ANTHROPIC_API_KEY pela variável do seu provedor. Dentro do Pi, !pwd deve responder /workspace. Não monte o ~/.pi/agent do seu host a menos que queira expor ao container as credenciais, configurações e sessões do Pi.
Opção 2: Docker Sandboxes
Configure a credencial antes de criar o sandbox e não rode /login dentro dele (isso gravaria a credencial real no sandbox). Com chave de API da Anthropic:
sbx secret set anthropic
Depois, na pasta que será montada:
sbx run --kit "docker.io/sbx/pi-kit:latest" pi
Opção 3: OpenShell
openshell gateway add <gateway-url> --name <nome>
openshell gateway select <nome>
openshell sandbox create --name pi-sandbox --from pi -- pi
Num gateway remoto não existe bind mount da sua pasta: clone o repositório dentro do sandbox ou envie os arquivos com openshell sandbox upload pi-sandbox ./pasta /workspace.
Opção 4: Gondolin (ferramentas na micro-VM)
Requer Node.js 23.6 ou mais novo e QEMU instalado pelo gerenciador de pacotes do sistema. A partir de um checkout do código-fonte do Pi:
mkdir -p ~/.pi/agent/extensions
cp -R packages/coding-agent/examples/extensions/gondolin ~/.pi/agent/extensions/gondolin
cd ~/.pi/agent/extensions/gondolin
npm install --ignore-scripts
cd /caminho/da/sua/pasta
pi -e ~/.pi/agent/extensions/gondolin
O Pi fica no host; as ferramentas read, write, edit, bash, grep, find e ls passam a rodar na micro-VM, com a sua pasta montada em /workspace.
Problemas comuns
- Versão do Node. O Pi exige Node.js 22.19+ e o Gondolin exige 23.6+.
- Credenciais dentro do container. Variáveis de ambiente passadas ao container ficam visíveis para tudo que roda nele. Passe só a chave do provedor necessária.
- Gondolin não é fronteira de credencial. Os comandos na VM herdam as variáveis de ambiente do host, então chaves em variáveis podem ficar visíveis lá dentro.
- Extensões fora da VM. No Gondolin, ferramentas de outras extensões continuam rodando no host, a menos que elas deleguem o trabalho.
- Escrita no host. Em
/workspacemontado com leitura e escrita, as mudanças chegam à sua pasta real. Use montagem somente leitura ou copie os arquivos se isso não for aceitável. /loginno Docker Sandboxes. Não use: configure o segredo no host antes.
Limites
- O Pi não tem sistema de permissão embutido: sem isolamento, ele pode tudo que o seu usuário pode (arquivos, processos, rede, credenciais).
- O número de "centenas de milhares de usuários por semana" é do autor e não foi auditado.
- Este guia não traz benchmarks nem custos por modelo: o post oficial mostra o
/sessionna demo, mas sem valores que possamos citar. - Suporte do OpenShell a outros agentes além do Pi: não verificado aqui.
- Comandos e versões mudam rápido; confira o README e
pi.devantes de instalar.
Quer testar o Pi sem pular a etapa de segurança?
Salve este guia, confira o README oficial e comece com um ambiente descartável. O melhor primeiro teste é aquele que você consegue apagar e recriar.
Veja também
Todos os artigos →DeepSeek Harness: o que é, como usar e os riscos que você precisa conhecer
O DeepSeek Harness é um agente open source em que tudo funciona como plugin e agora tem aplicativo para Windows e macOS. Veja como testar pelo navegador, onde ele roda e por que a segurança precisa vir antes da primeira execução.
YouTube Automation Agent: o agente open source que opera um canal de ponta a ponta
O youtube-automation-agent automatiza o fluxo inteiro de um canal: do tema ao vídeo publicado, passando por roteiro, narração, SEO e analytics. Veja como funciona, o que exige revisão humana e como avaliar o projeto antes de ligar o modo autônomo.
Ponytail: como fazer agentes escreverem menos código
O Ponytail orienta Claude Code, Codex e Cursor a investigar antes de implementar, priorizando o que já existe na plataforma, na standard library ou no próprio projeto. Neste guia, você vê como aplicar o método, o caso do date picker e os limites do benchmark.