Blog · Guia · 28 de outubro de 2026
Instale o AEGIS numa VPS Ubuntu nova e rode sua primeira tarefa aprovada
Aviso: a 100monkeys.ai desenvolve o AEGIS, então leia este guia como o relato de quem o fabrica. Ele foi redigido por um dos nossos agentes de IA a partir da documentação pública do AEGIS em docs.100monkeys.ai e revisado pela empresa; esta versão em português é uma tradução do guia original em inglês. Todos os comandos foram copiados dessa documentação ou da nossa página inicial. Não rodamos esta sequência exata numa VPS nova para este guia e, onde a documentação se contradiz, dizemos isso em vez de adivinhar.
AEGIS by 100monkeys.ai, in beta, é um orquestrador self-hosted que roda agentes autônomos em ambientes isolados, com políticas aplicadas e estado durável. Este guia leva um servidor Ubuntu recém-criado até um stack local funcionando e, depois, roda um agente atrás de uma etapa de aprovação humana: o trabalho do agente para e espera até você responder sim.
Antes de começar
Entenda para que serve a instalação rápida. A página Getting Started é direta: aegis init "is designed for local testing and evaluation only. It uses an in-memory secrets store and does not deploy Keycloak (IAM) or OpenBao (secrets management)" (foi feito só para testes e avaliação locais; usa um armazenamento de segredos em memória e não instala Keycloak nem OpenBao). A página Infrastructure Requirements lista o IAM como "None (unauthenticated)" e o TLS como "None". Para produção, a documentação aponta para o repositório aegis-deploy.
Então, numa VPS, trate este stack como um laboratório privado. As verificações de saúde da CLI usam por padrão o host 127.0.0.1 e a porta 8088. Não abra essa porta para a internet; acesse a máquina por SSH.
Você precisa de:
- Um servidor Ubuntu ou Debian acessível por SSH, com um usuário que possa usar
sudo. O instalador "runs on Ubuntu or Debian (it needsapt-get)". - Uma máquina x86_64. A versão que o instalador fixa traz o pacote para Linux x86_64,
aegis-linux-x86_64.tar.gz. - Uma chave de API de um provedor de modelos. A página de provedores da documentação cobre OpenAI, Anthropic e Ollama, com o sistema de aliases para trazer seu próprio modelo.
Passo 1. Rode o instalador
Copie a linha de 100monkeys.ai, onde ela aparece, e rode com seu usuário normal:
curl -fsSL https://get.100monkeys.ai | bash
Se preferir, leia o script antes. A documentação diz que https://get.100monkeys.ai redireciona para o install.sh na branch main do aegis-orchestrator. No Linux, ele instala curl, ca-certificates e fuse3 se estiverem faltando, instala libfuse3 quando o binário precisa e instala o Docker Engine (docker-ce) se não houver Docker. Se o Docker estiver rodando mas seu usuário não tiver acesso, ele adiciona você ao grupo docker. Em seguida instala o aegis em /usr/local/bin/aegis e sobe o stack com aegis up --tag <version>.
Para fixar uma versão, defina AEGIS_VERSION com uma tag de release antes de rodar; a documentação lista todos os pacotes publicados na página Releases.
Passo 2. Confira o binário e o stack
aegis --version
aegis status
aegis status mostra a saúde do stack local. Se a instalação adicionou você ao grupo docker, saia e entre de novo para que os novos shells tenham o grupo.
Passo 3. Rode a configuração guiada e escolha um provedor de modelos
aegis init
O assistente "prepares stack files, configures the node, starts Docker Compose services, verifies health, and can optionally load smoke-test agents" (prepara os arquivos do stack, configura o nó, sobe os serviços do Docker Compose, verifica a saúde e pode carregar agentes de teste). Aceite o teste hello-world quando ele perguntar; o próximo passo usa esse agente. A configuração gerada mapeia os aliases de modelo default, smart, judge e tool-judge para o provedor escolhido. O agente hello-world usa smart, e um alias que o nó não mapeia falha com Model alias '<alias>' not found, então conclua a pergunta sobre o provedor. Os arquivos do stack vão para ~/.aegis, a menos que você passe --dir.
Passo 4. Rode o hello-world uma vez, sem supervisão
Comprove que o ciclo funciona antes de adicionar uma aprovação:
aegis task execute hello-world \
--input '{"task": "Write a Python function that returns the Fibonacci sequence up to n."}' \
--follow
--follow transmite os eventos de cada iteração. O agente gera código, roda a validação e termina com sucesso ou refina o resultado em novas iterações até os validadores passarem.
Passo 5. Escreva um workflow com uma etapa de aprovação
No AEGIS, uma aprovação é um estado de workflow do tipo kind: Human. Salve isto como approved-task.yaml. Ele segue o formato do exemplo da página Building Workflows, reduzido a um agente e uma aprovação:
apiVersion: 100monkeys.ai/v1
kind: Workflow
metadata:
name: approved-task
version: "1.0.0"
description: "One agent drafts, a person approves, then the run completes."
spec:
initial_state: DRAFT
states:
DRAFT:
kind: Agent
agent: hello-world
timeout: 600s
transitions:
- condition: on_success
target: APPROVE
- condition: on_failure
target: FAILED
APPROVE:
kind: Human
prompt: |
Draft:
{{DRAFT.output}}
Approve? (yes/no)
timeout: 86400s
transitions:
- condition: input_equals_yes
target: DONE
- condition: input_equals_no
target: FAILED
DONE:
kind: System
command: "echo 'Approved'"
transitions: []
FAILED:
kind: System
command: "echo 'Rejected or failed'"
transitions: []
Passo 6. Faça o deploy e inicie uma execução
aegis workflow deploy ./approved-task.yaml --force
aegis workflow run approved-task \
--input '{"task": "Write a Python function that returns the Fibonacci sequence up to n."}'
O comando de execução imprime um id de execução. Acompanhe:
aegis workflow logs <execution-id> --follow --verbose
aegis workflow executions get <execution-id>
Quando o rascunho fica pronto, executions get mostra o estado atual como APPROVE (WAITING FOR HUMAN SIGNAL). Nada depois da aprovação roda até alguém responder.
Passo 7. Leia o rascunho e responda
aegis workflow signal <execution-id> --response yes
Responda no para mandar a execução para FAILED. Uma aprovação que ninguém responde expira depois do timeout; com o comportamento padrão, a execução é marcada como falha com o motivo human_input_timeout.
Um detalhe: a documentação não concorda na palavra. A página Human Approvals diz que uma aprovação de sim ou não aceita as respostas ["yes", "no"]; a página Building Workflows envia --response approved; a página da CLI mostra --response "approve". Usamos yes porque é a palavra que dá nome à transição input_equals_yes. Se a execução não andar, confira executions get e tente as outras formas.
O que este guia não cobre
- Produção. Use o aegis-deploy, que acrescenta Keycloak, OpenBao, TLS via Caddy e observabilidade.
- Expor a API. Sem IAM no stack do
aegis init, qualquer pessoa que alcance a porta 8088 pode agir sobre ele. - Dimensionamento de hardware. A documentação traz uma matriz de dependências (Docker 24.0+ ou Podman 4.0+, PostgreSQL 15+, SeaweedFS, Temporal para os workflows), mas não encontramos um valor mínimo de RAM para o stack local, então não informamos um.
Próximos passos
Para entender o raciocínio por trás da aprovação, leia Como dar a um orquestrador uma etapa de aprovação. Para saber o que registrar em cada execução, leia Checklist de rastreabilidade para agentes de IA em produção. Se você quer as notas e o código dos seus agentes num único registro que eles leem e escrevem via MCP, veja Conecte o Claude Code ao Carbon Forge via MCP.