Pular para o conteúdo

Soluções · Agentes de programação

VPS para OpenHands

O OpenHands é um agente de programação autônomo: dê a ele um repositório e uma tarefa, e ele edita, executa, testa e abre pull requests por conta própria, com o modelo de sua escolha por trás de uma chave de API. O próprio README diz que a forma mais poderosa de executá-lo é em um servidor na nuvem, e o próprio aviso diz que o agente tem acesso total à máquina em que roda. Ambos apontam para a mesma resposta: uma máquina que não seja o laptop de ninguém. O guia de servidor do projeto considera 2 vCPU e 4 GB mais que suficientes para um usuário; BD-8 por $12.90 por mês oferece o dobro disso por menos que as máquinas de 4 GB em outros lugares.

Do que ele precisa

Software segundo a documentação, tamanhos identificados pela fonte

O software e as práticas de segurança vêm da documentação do próprio projeto. Quando o projeto não publica requisitos de hardware, os tamanhos indicam de quem são.

Do README, do SELF_HOSTING.md e da documentação do OpenHands

  • “2 vCPU / 4 GB RAM is plenty for a single user” (guia de VM do projeto: 2 vCPU e 4 GB de RAM são suficientes para um único usuário). A documentação pede “a modern processor and a minimum of 4GB RAM” (um processador moderno e no mínimo 4 GB de RAM).
  • Instalação: Node.js 24 ou posterior e uv, depois npx @openhands/agent-canvas --public. Um único comando inicia o servidor de agentes, o backend de automação e o aplicativo web por trás de um ingress em 127.0.0.1:8000.
  • Defina LOCAL_BACKEND_API_KEY antes da primeira inicialização: no modo público, toda chamada de API precisa incluí-la, e o aplicativo web a solicita antes de qualquer outra coisa. Bloqueie no firewall tudo exceto o SSH primeiro; o guia diz para fazer isso antes de o agente rodar pela primeira vez.
  • Uma chave de API de um provedor de modelos: a documentação diz que o OpenHands precisa de uma para a maioria dos modelos. O Docker é opcional e só é necessário se você quiser cada conversa isolada em seu próprio contêiner. Sem GPU, a menos que você mesmo hospede o modelo.

Tamanhos (o número do projeto, depois o nosso)

Dimensionamento por carga de trabalho
Carga de trabalhovCPURAM
Um usuário, modelos hospedados, agente no host (oficial)O próprio número do guia. O servidor de agentes roda diretamente na máquina, então a máquina é o sandbox.24 GB
Um ou dois usuários, um sandbox Docker por conversaNosso. Cada conversa recebe um contêiner; instalações de dependências, compilações e suítes de testes rodam dentro deles.48 GB
Servidor de agentes compartilhado de uma equipe, vários agentes ao mesmo tempoNosso. Agentes em paralelo em repositórios em paralelo, cada um compilando algo.824 GB

Os planos adequados

5 máquinas, com preços em tempo real

Máquina adequada mais barata primeiro. Preços de hoje, por mês, lidos do catálogo.

  • BD-8$12.90/mês

    4 vCPU · 8 GB · 100 GB de disco · 32 TB

    O mais barato com espaço para compilar e testar. 4 vCPU, 8 GB, 100 GB e 32 TB de transferência, por menos que as máquinas de 4 GB em outros lugares. O dobro do número do guia; suítes de testes sentem a diferença dos núcleos.

  • U2-4-40$14.90/mês

    2 vCPU · 4 GB · 40 GB de disco · Unmetered

    Exatamente o número do guia, não medido, Istambul. 2 vCPU / 4 GB / 40 GB. Um usuário, modelos hospedados, o agente no host. Tráfego não medido para clones e instalação de pacotes.

  • BD-24$31.90/mês

    8 vCPU · 24 GB · 300 GB de disco · 32 TB

    8 vCPU / 24 GB para o servidor de agentes de uma equipe. Vários agentes ao mesmo tempo, sandboxes Docker, o backend de automação em agendamento.

  • C2-4-80$37.90/mês

    2 vCPU · 4 GB · 80 GB de disco · 3 TB

    O número do guia, em dezenas de cidades. 2 vCPU / 4 GB / 80 GB. Escolha pela cidade; mantenha uma conversa por vez.

  • C4-8-160$75.90/mês

    4 vCPU · 8 GB · 160 GB de disco · 3 TB

    4 vCPU / 8 GB / 160 GB, em dezenas de cidades. O tamanho confortável, com disco para muitos checkouts e imagens Docker.

Ainda não há preset de inicialização para o OpenHands: a instalação são as cinco etapas abaixo, digitadas por você, na ordem indicada pelo próprio guia do projeto. Primeiro o firewall, depois a chave, por último o agente.

A instalação

Cinco etapas, na ordem indicada pelo próprio guia do OpenHands

O guia é explícito: o firewall vem antes da primeira inicialização, porque o servidor de agentes tem livre acesso à máquina e só o firewall e a chave ficam entre ele e um estranho.

  1. Firewall primeiro. ufw allow OpenSSH && ufw --force enable Nada de entrada além do SSH. O ingress (8000), o servidor de agentes (18000), o backend de automação (18001) e o servidor estático (3001) não devem ser acessíveis de fora; o guia diz isso com essas palavras.
  2. Node.js 24 e uv. apt-get install -y curl git curl -fsSL https://deb.nodesource.com/setup_24.x | bash - && apt-get install -y nodejs curl -LsSf https://astral.sh/uv/install.sh | sh O uv executa o servidor de agentes; o guia o instala com o instalador de uma linha de astral.sh.
  3. Gere a chave, inicie em modo público. export LOCAL_BACKEND_API_KEY=$(openssl rand -base64 32); echo $LOCAL_BACKEND_API_KEY npx @openhands/agent-canvas --public Copie a chave para um lugar seguro antes de continuar; modo público significa que o aplicativo web vai solicitá-la. Para uso de longo prazo, a unidade systemd do guia em /etc/systemd/system/agent-canvas.service com Environment=LOCAL_BACKEND_API_KEY=… nela, depois systemctl enable --now agent-canvas.
  4. Acesse via SSH, adicione o modelo. ssh -N -L 8000:127.0.0.1:8000 root@your-server depois http://127.0.0.1:8000, cole a chave e, em Settings, escolha o provedor e o modelo de LLM e cole a chave de API desse provedor. Inicie uma conversa em um repositório.
  5. Opcionalmente, um domínio. Aponte um registro A para o servidor, abra as portas 80 e 443, apt-get install -y nginx certbot python3-certbot-nginx, e use o bloco nginx do guia que faz proxy para 127.0.0.1:8000 com cabeçalhos WebSocket; certbot --nginx -d canvas.example.com --redirect obtém o certificado. Se a 443 precisar ficar aberta para o mundo, o guia diz que a chave é sua principal defesa, então mantenha-a longa e secreta.

Com franqueza

O que nós realmente compraríamos

O guia diz que 2 vCPU e 4 GB são mais que suficientes para um usuário. Compre a máquina de 8 GB que custa menos que as de 4 GB e deixe o agente compilar.

Para o agente de programação de uma pessoa

BD-8 · $12.90/mês

4 vCPU, 8 GB e 100 GB por $12.90: o servidor do agente, alguns repositórios clonados, suas árvores de dependências e uma suíte de testes rodando enquanto você acompanha, com memória sobrando se você ativar os sandboxes Docker. O modelo fica em outro lugar, atrás de uma chave de API, então esta máquina nunca precisa de GPU e a conta que importa é a do provedor. C2-4-80 por $37.90 corresponde exatamente ao número do guia em dezenas de cidades, se a cidade importar mais do que os núcleos.

Perguntas

O que as pessoas perguntam antes de comprar.

Quanta RAM o OpenHands precisa?
O próprio guia de VM do projeto diz que 2 vCPU e 4 GB de RAM são mais que suficientes para um único usuário, e a documentação recomenda um processador moderno e no mínimo 4 GB. Isso cobre o servidor de agentes, o backend de automação e o aplicativo web com modelos hospedados. O que o agente faz depois, clonar repositórios, instalar dependências, executar compilações e testes, é trabalho comum de desenvolvimento e exige recursos comuns de desenvolvimento, por isso a máquina mais barata desta página tem 4 núcleos e 8 GB em vez do mínimo exato.
Por que executá-lo em um servidor em vez do meu notebook?
Dois motivos do próprio README. Ele diz que a forma mais poderosa de executar o OpenHands é em um servidor na nuvem, para que os agentes continuem rodando com o laptop fechado e possam ser acionados pelo Slack, GitHub ou um webhook. E avisa que o servidor de agentes roda diretamente na máquina, com acesso total ao sistema de arquivos, ao shell e à rede. Uma máquina que contém apenas o agente e os repositórios em que ele trabalha é a forma honesta de lhe dar esse acesso.
Ele precisa de uma chave de API ou pode usar um modelo local?
A documentação diz que o OpenHands requer uma chave de API para acessar a maioria dos modelos de linguagem e lista os provedores hospedados que recomenda. Um modelo local via Ollama ou servidor semelhante é suportado, mas a documentação acrescenta que um trabalho de agente eficaz com modelos locais exige hardware capaz e modelos ajustados para seguir instruções. Na prática: um modelo hospedado e uma chave de API nesta máquina e, se quiser um modelo local, um servidor de modelos separado, dimensionado na página do Ollama ou na linha GPU.
O que fazem --public e LOCAL_BACKEND_API_KEY?
Sem --public, o aplicativo injeta sua chave de sessão na página web por conveniência, o que o README considera inseguro para uma implantação acessível publicamente. Com --public, a chave não fica na página: todos que abrirem o aplicativo web precisam colar LOCAL_BACKEND_API_KEY primeiro, e toda chamada à API precisa incluí-la. A ordem do guia é firewall, depois a chave, depois a inicialização, e ele gera a chave com openssl rand -base64 32.
Preciso do Docker?
Não para a instalação padrão, que executa o servidor de agentes no host com Node 24 e uv. O Docker serve para os modos isolados: executar toda a pilha a partir da imagem do projeto, ou dar a cada conversa seu próprio contêiner para que vários agentes possam trabalhar ao mesmo tempo sem compartilhar um sistema de arquivos. O README observa que o sandbox isola a execução das conversas, não o aplicativo inteiro. Se quiser usá-lo, instale o Docker e reserve a linha de 8 GB ou mais.
Quais portas estão envolvidas?
Tudo se vincula ao loopback: o proxy de ingress em 127.0.0.1:8000 encaminha para o servidor estático na 3001, o servidor de agentes na 18000 e o backend de automação na 18001. Você acessa a 8000 por um túnel SSH, ou pelo nginx na 443 se adicionar um domínio. Nenhuma dessas quatro portas deve ficar aberta no firewall; o guia as lista pelo número como as que não devem ser acessíveis de fora.