zxkane/openhands-infra

🚀 Hospede seu próprio agente de codificação de IA na AWS — totalmente serverless com ECS Fargate. Custo zero de ociosidade, isolamento por conversa, LLM Bedrock. Implante com CDK em minutos.

O que é openhands-infra?

Esta skill permite que desenvolvedores auto-hospedem um agente de codificação de IA (OpenHands) na infraestrutura AWS de forma totalmente serverless, utilizando ECS Fargate. Ela elimina custos de ociosidade, pois só fatura quando há uso ativo, e oferece isolamento por conversa, garantindo que cada sessão ou conversa seja executada em contêineres separados e efêmeros. O deploy é feito via AWS CDK (Infrastructure as Code) em questão de minutos, e o acesso ao modelo de linguagem (LLM) é feito através do Amazon Bedrock, proporcionando segurança e integração nativa com a AWS. Ideal para times que precisam de um ambiente controlado, seguro e com baixo custo para executar agentes de codificação de IA, sem depender de serviços gerenciados de terceiros.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add zxkane/openhands-infra

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que openhands-infra faz?

🚀 Hospede seu próprio agente de codificação de IA na AWS — totalmente serverless com ECS Fargate. Custo zero de ociosidade, isolamento por conversa, LLM Bedrock. Implante com CDK em minutos.

Visão Geral

Esta skill fornece uma infraestrutura completa para rodar o OpenHands, um agente de codificação de IA de código aberto, em um ambiente AWS serverless usando ECS Fargate. Ela é projetada para ser econômica (cobrança por uso), segura e escalável.

Principais Características

  • Serverless: O ECS Fargate elimina a necessidade de gerenciar servidores ou clusters EC2.
  • Custo Zero de Ociosidade: Você só paga pelos recursos consumidos quando o agente está ativo.
  • Isolamento por Conversa: Cada conversa ou sessão é executada em um contêiner Fargate independente e efêmero, garantindo privacidade e isolamento.
  • LLM via Amazon Bedrock: Acesso aos modelos de linguagem através do serviço Bedrock da AWS, mantendo os dados dentro do ambiente AWS.
  • Deploy com CDK: O provisionamento é feito inteiramente via AWS CDK (Infrastructure as Code), permitindo replicação rápida e controle de versão da infraestrutura.
  • Segurança Integrada: IAM Roles, VPC e segurança em nível de rede são configurados automaticamente.

Pré-requisitos

  • Conta AWS com credenciais configuradas (Access Key e Secret Key).
  • Node.js (para executar o CDK).
  • AWS CLI instalado e configurado.
  • Bootstrap do CDK na região desejada (execute cdk bootstrap).

Instalação e Deploy

  1. Clone este repositório:

    git clone https://github.com/zxkane/openhands-infra.git
    
  2. Instale as dependências:

    npm install
    
  3. Configure as variáveis de ambiente no arquivo .env (copie de .env.example):

    OPENHANDS_VERSION=latest
    AWS_REGION=us-west-2
    BEDROCK_MODEL_ID=anthropic.claude-v2
    
  4. Faça o deploy da stack:

    cdk deploy
    

Como Usar

Após o deploy, o CDK exibirá a URL do Load Balancer (ALB) ou do endpoint do serviço. Você pode acessar essa URL com um cliente HTTP (curl, Postman, ou diretamente na skill do OpenHands) para iniciar uma conversa.

Exemplo de requisição:

curl -X POST https://<alb-url>/api/chat \
  -H "Content-Type: application/json" \
  -d '{"message": "Crie um script Python para listar arquivos em um bucket S3."}'

Arquitetura

A arquitetura é composta por:

  • ALB (Application Load Balancer): Ponto de entrada para as requisições.
  • ECS Fargate Service: Contêineres rodando o OpenHands.
  • Amazon Bedrock: Integração com LLM através da API Bedrock.
  • ECR: Repositório de imagens do contêiner.
  • CloudWatch Logs: Logs centralizados.

Manutenção

  • Atualização do OpenHands: Altere a variável OPENHANDS_VERSION no .env e execute cdk deploy novamente.
  • Escala: O CDK permite ajustar a contagem de tarefas e recursos via parâmetros.
  • Monitoramento: Utilize CloudWatch para métricas e logs.

Suporte

Para dúvidas, abra uma issue no repositório oficial.

Habilidades Relacionadas