Blog · Guia · 28 de outubro de 2026

Instale o AEGIS numa VPS Ubuntu nova e rode sua primeira tarefa aprovada

Também em: English, Español, 日本語, Deutsch, Français · Todos os guias em português

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:

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

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.

Instale o AEGIS a partir de 100monkeys.ai