Melhores Frameworks de Agentes de Código Incorporáveis em 2026

Compare 8 frameworks de agentes de código incorporáveis em controle de runtime, isolamento, portabilidade e custos reais em produção.

Thursday, September 3, 2026Omid Saffari
Melhores Frameworks de Agentes de Código Incorporáveis em 2026

O Vercel AI SDK é a melhor escolha geral porque o AI SDK 7 coloca nove runtimes de programação suportados sob uma única interface de produto. Isso transforma uma futura troca de runtime de uma reescrita completa de UI em uma simples decisão de adapter, desde que você aceite gerenciar a sandbox e lidar com uma camada de pacote ainda experimental.

Resposta direta

Um harness de agentes de código incorporáveis é a camada de controle que sua aplicação invoca. Ele gerencia combinações do loop de agente, ferramentas, permissões, sessões, compressão de contexto, acesso a modelos e ambiente de execução. Essa decisão de compra é diferente de escolher um agente de código para usar no terminal ou no editor. Se você procura essa segunda opção, comece pela comparação mais ampla dos melhores agentes de IA para programar.

Para um novo produto em TypeScript, o Vercel AI SDK HarnessAgent é a melhor escolha geral. Ele oferece à aplicação hospedeira uma interface unificada entre Claude Code, Cline, Codex, Cursor, Deep Agents, fx, Grok Build, OpenCode e Pi. O valor não está em tornar todos os runtimes idênticos, mas em evitar que streaming, ciclo de vida de sessão, integração de UI e alocação de sandbox vazem para cada funcionalidade do produto; os recursos específicos de cada adapter continuam variando.

O restante do ranking acompanha a parte da stack que você prefere assumir:

  1. Vercel AI SDK HarnessAgent: melhor camada geral de portabilidade
  2. Claude Agent SDK: melhor runtime proprietário completo
  3. OpenAI Codex SDK: melhor para automação nativa do Codex
  4. Cursor SDK: melhor runtime unificado local e em nuvem
  5. OpenHands Software Agent SDK: melhor stack remota open source
  6. OpenCode SDK: melhor superfície tipada cliente/servidor
  7. Pi: melhor núcleo de agente minimalista
  8. fx and libfx: melhor opção experimental para embed nativo e navegador

A regra de decisão é direta. Se trocar o runtime de programação no futuro tem valor estratégico, escolha Vercel. Se o loop embutido de um fornecedor específico é o diferencial do produto, use Claude ou Codex diretamente. Adote o Cursor quando um único SDK precisar cobrir agentes locais e agentes em nuvem hospedados pela Cursor. Se precisar de um serviço remoto aberto, escolha OpenHands ou OpenCode. Para montar o menor loop possível, opte por Pi. Use o fx quando o tamanho binário nativo ou o WebAssembly no navegador forem o foco do experimento, e não quando um prazo de produção exigir um isolamento de segurança comprovado.

Comparativo geral

Preços e recursos foram verificados em 1º de setembro de 2026. O "Preço inicial" descreve primeiro o SDK ou pacote de código aberto. Tokens de modelo, computação, armazenamento e tráfego de rede são cobrados à parte, pois dependem da arquitetura implementada.

FerramentaIdeal paraPreço inicialAvaliação gratuita
Vercel AI SDK HarnessAgentUma interface TypeScript unificada entre runtimesCódigo aberto; uso cobrado à partePeríodo de testes Pro disponível
Claude Agent SDKLoop completo do Claude Code em uma aplicaçãoAPI Haiku 4.5: $1/$5 por MTok in/outSem teste de SDK listado
OpenAI Codex SDKThreads do Codex e automação estruturadaSDK Apache-2.0; GPT-5.6 Sol $4/$20 por MTok in/outNão aplicável ao SDK
Cursor SDKUma API para agentes locais e hospedados no CursorHobby grátis; Pro $20/mêsHobby disponível
OpenHands Software Agent SDKPython aberto e execução remotaGrátis, MIT; modelo e computação à parteNão aplicável
OpenCode SDKControle tipado de um servidor OpenCodeGrátis, MIT; modelo e host à parteNão aplicável
PiUm loop de agente pequeno e combinávelGrátis, MIT; modelo e host à parteNão aplicável
fx and libfxExperimentos em ambiente nativo, ACP, Node, browser WASM ou HarnessAgentGrátis, Apache-2.0; modelo e host à parteNão aplicável
Fluxo de decisão associando portabilidade de runtime, profundidade de fornecedor, servidores remotos, núcleos mínimos e WebAssembly a harnesses de agentes de código
Escolha pela camada que seu produto precisa gerenciar, não por um leaderboard genérico de modelos.

Qual é o custo real da infraestrutura?

A licença do SDK raramente é a linha do orçamento que pesa. A geração do modelo, contextos longos, tempo de vida da sandbox, tentativas de repetição e revisões humanas são os fatores determinantes. Um pacote gratuito pode rodar um agente caro, enquanto uma hospedagem paga pode ser a alternativa mais barata se eliminar trabalho operacional suficiente.

Considere uma carga de trabalho típica para entender a ordem de grandeza. Suponha que cada execução consuma 20,000 tokens de entrada e 5,000 tokens de saída, rode 100 vezes por dia útil, ao longo de 22 dias úteis. Isso totaliza 2,200 execuções por mês. Trata-se de um modelo de análise, não de um benchmark, e ele exclui intencionalmente caching para manter as premissas transparentes.

Com os preços atuais da API do Claude Sonnet 5 de $2 por milhão de tokens de entrada e $10 por milhão de tokens de saída, o custo de modelo é:

  • Entrada: 20,000 / 1,000,000 x $2 = $0.04 por execução
  • Saída: 5,000 / 1,000,000 x $10 = $0.05 por execução
  • Total: $0.09 por execução, ou $198 por mês para 2,200 execuções

Com o preço promocional atual do GPT-5.6 Sol de $4 por milhão de tokens de entrada e $20 por milhão de tokens de saída, o mesmo cenário resulta em $0.18 por execução, ou $396 por mês. Isso não significa que os dois modelos gerem resultados idênticos. Mostra apenas por que o modelo escolhido e a propensão do agente a tentar novamente impactam mais o orçamento do que a licença da biblioteca.

Agora adicione um exemplo de preço do Vercel Sandbox. Uma sandbox de 1 GB provisionada por 10 minutos com 2 minutos de CPU ativa custa cerca de $0.0078 por execução com as taxas vigentes de $0.128 por hora de CPU ativa e $0.0212 por GB-hora provisionado. Em 2,200 execuções, isso representa cerca de $17.16 de consumo bruto de CPU e memória, antes de transferências de dados e armazenamento. O plano Vercel Pro custa $20 por mês e inclui $20 de crédito de uso, de modo que esse perfil computacional específico se enquadra dentro do crédito; 2,200 criações adicionam cerca de $0.00132 à taxa listada de $0.60 por milhão. O plano Hobby inclui 5,000 criações, mas destina-se a uso pessoal não comercial e não permite comprar uso adicional.

Três barras proporcionais de custo exibindo $198 para Sonnet 5, $396 para GPT-5.6 Sol e $17.16 para Vercel Sandbox em 2,200 execuções mensais
Em uma carga de trabalho padronizada, o modelo escolhido pesa mais do que o consumo bruto de CPU e memória da sandbox.

Como as opções foram selecionadas

O critério de inclusão foi a capacidade de controle programático a partir de uma aplicação hospedeira por meio de SDK, biblioteca, protocolo ou API documentados. Um comando exclusivo de terminal não foi suficiente. Uma extensão de editor não se qualificou. Frameworks de benchmark ou pacotes de prompts só foram aceitos se oferecessem uma camada formal de integração para produto.

Isso reduziu uma lista extensa a oito opções viáveis. Comparações superficiais costumam misturar SDKs de runtime oficiais com catálogos de habilidades, projetos de pesquisa e ferramentas voltadas ao usuário final. Avaliar com profundidade oito alternativas traz mais valor prático, pois é no limite operacional que os projetos divergem.

Cada solução foi avaliada segundo cinco critérios:

  • Contrato de integração: o que a aplicação pode chamar, receber via streaming, pausar e interromper
  • Fronteira de execução: se o código roda no mesmo processo, como subprocesso, atrás de um servidor ou em sandbox
  • Propriedade do estado: quem armazena transcrições, arquivos temporários, credenciais e pontos de restauração
  • Controle de políticas: onde ficam permissões, autorização de ferramentas, isolamento de inquilinos e regras de rede
  • Custo de saída: quanto código do produto sobrevive a uma mudança de modelo ou runtime

Nenhum teste manual de benchmark de produto é alegado aqui. O ranking reflete a documentação atual dos provedores, tabelas de preços vigentes, arquiteturas de isolamento descritas e o modelo de custos apresentado. Essa abordagem privilegia contratos de integração previsíveis em vez de demonstrações isoladas.

1. Vercel AI SDK HarnessAgent: melhor camada geral de portabilidade

O Vercel AI SDK HarnessAgent é a melhor opção para aplicações em TypeScript que necessitam de uma interface padronizada para múltiplos runtimes de programação. O AI SDK 7 lista Claude Code, Cline, Codex, Cursor, Deep Agents, fx, Grok Build, OpenCode e Pi, enquanto o pacote subjacente padroniza sessões, streaming, permissões, skills, compactação de contexto e acesso a sandboxes. Um cenário típico é um produto de revisão de código que inicia com Claude Code, mas planeja avaliar o Codex no futuro sem precisar reconstruir a interface de chat ou a orquestração de tarefas. A contrapartida é o estágio de maturidade: @ai-sdk/harness é expressamente experimental, e a maioria dos adapters baseados em bridge exige uma sandbox em rede com portas expostas.

Página de lançamento do Vercel AI SDK HarnessAgent destacando uma API unificada para runtimes de agentes de código
Vercel AI SDK HarnessAgent

Ideal para: Equipes TypeScript que encaram a portabilidade de runtime como proteção técnica do produto
Destaque: Geração e streaming compatíveis com AI SDK entre múltiplos runtimes de desenvolvimento
Preço: O pacote Apache-2.0 é open source. Os planos Vercel Hobby e Pro custam $0 e $20 por mês; o Pro inclui $20 em créditos de uso e período de testes, com Enterprise sob consulta. O Vercel Sandbox parte de $0.128 por hora de CPU ativa e $0.0212 por GB-hora provisionado.
Avaliação gratuita: A Vercel oferece período de testes no plano Pro; a biblioteca em si é de código aberto

O ponto forte
O que faz bem
5 points

  • Superfície padronizada para a aplicação hospedeira cobrindo nove runtimes suportados
  • Geração e streaming compatíveis com AI SDK preservam estruturas existentes baseadas em useChat
  • Suporte a schema tipado de saída e streams estruturados parciais quando o adapter suporta
  • Desconexão de sessão, parada, encerramento, preparação para retomada e suporte a MCP por harness
  • Licença Apache-2.0
O ponto fraco
Onde deixa a desejar
4 points

  • HarnessAgent ainda é experimental e sujeito a mudanças de compatibilidade
  • Adapters de Claude Code, Codex, OpenCode e DeepAgents exigem sandbox em rede com portas expostas
  • O AI SDK 7 requer Node.js 22 e ESM, sem suporte a require em CommonJS
  • Uma interface comum não elimina comportamentos específicos de cada runtime nem o trabalho de avaliação

A razão para escolher a Vercel não é apenas a conveniência, mas o poder de adaptação. Se os prompts, o estado de interface, o schema de resposta, o histórico de jobs e os eventos de avaliação residem acima do adapter, trocar de runtime demanda esforço, mas não exige recriar o produto do zero. Isso faz diferença quando um fornecedor revisa regras de autenticação, o preço do modelo se torna inviável ou outro motor apresenta melhor desempenho na base de código da empresa.

Essa camada de abstração também traz limites claros. Adapters via bridge, como Claude Code, Cline, Codex, Cursor, Deep Agents, fx, OpenCode e Pi, exigem atualmente uma sessão de sandbox em rede; já o Grok Build roda em processo hospedeiro. Portanto, portabilidade aqui não significa rodar em qualquer lugar sem ajustes de infraestrutura, mas manter o contrato de código estável enquanto as particularidades operacionais ficam isoladas no adapter.

Desde 31 de agosto de 2026, o adapter oficial @ai-sdk/harness-fx da Vercel incorporou o fx como o nono harness suportado, operando via ACP entre o HarnessAgent e o fx. O adapter preserva a interface comum, mas o fx não suporta saída estruturada, compactação manual, direcionamento durante o turno (steering) ou filtragem nativa de ferramentas nessa integração. Detalhes dessa arquitetura estão em Vercel fx AI SDK harness adapter explicado.

O pacote @ai-sdk/harness alcançou a versão 1.0.96. Versões evoluindo com rapidez dentro de um escopo experimental pedem cuidados: fixe a versão no gerenciador de pacotes, mantenha testes de contrato antes de atualizar e armazene os eventos brutos de runtime para testes de regressão.

  1. Defina o contrato de produto antes

    Estabeleça parâmetros de entrada, escopo de arquivos permitido, schema JSON de resposta, regras de cancelamento e teto orçamentário sem amarrar a especificação a um runtime específico. Um bom ponto de partida é a correção de um teste quebrado em escopo fechado, retornando arquivos alterados, status do teste e um relatório conciso de risco.

  2. Comece com um único adapter

    Configure o AI SDK 7 em um serviço Node.js 22 em ESM, selecione um adapter e isole o diretório de trabalho de cada sessão. Evite implementar seletores de runtime na interface nesta etapa.

  3. Defina o isolamento de forma explícita

    Para adapters via bridge, provisione uma sandbox em rede, aponte o diretório de trabalho, instale apenas dependências previsíveis e gerencie o encerramento da sessão pelos métodos formais do SDK. Credenciais nunca devem ficar acessíveis no workspace do agente.

  4. Monitore as quatro métricas essenciais

    Para cada ciclo, registre taxa de conclusão, bloqueios de permissão, tokens utilizados e tempo de execução total. Esses dados indicam com clareza se trocar de adapter reduz custos operacionais ou apenas transfere falhas de lugar.

  5. Repita os testes com um segundo runtime

    Adicione um segundo adapter sob o mesmo contrato de produto e execute os mesmos testes de repositório. Mantenha o primeiro em produção até que o segundo prove ganhos reais no seu fluxo de trabalho, e não em índices genéricos de mercado.

2. Claude Agent SDK: melhor runtime proprietário completo

O Claude Agent SDK é a opção direta mais madura quando o diferencial da aplicação está em utilizar o loop completo do Claude Code. Ele expõe em Python e TypeScript o mesmo mecanismo de agente, gestão de contexto, ferramentas de manipulação de arquivos, execução de comandos no terminal, busca na web, MCP e regras de permissão. Uma aplicação de auditoria de segurança que necessita de controle estrito de permissões e sessões extensas de análise de repositório encontra aqui uma solução mais pronta do que em loops básicos. O contraponto é a dependência do ecossistema Anthropic e a necessidade de isolar adequadamente múltiplos subprocessos no ambiente do hospedeiro.

Visão geral do Claude Agent SDK detalhando o loop de agente do Claude Code e ferramentas nativas
Claude Agent SDK

Ideal para: Produtos cuja proposta de valor dependa do loop operacional e ferramentas nativas do Claude Code
Destaque: Mesmo fluxo de agente e gerenciamento de contexto do Claude Code, integráveis via Python e TypeScript
Preço: Baseado em consumo. Os preços atuais da API Claude cobram por milhão de tokens (entrada/saída): Fable 5 a $10/$50, Opus 5 a $5/$25, Sonnet 5 a $2/$10 e Haiku 4.5 a $1/$5.
Avaliação gratuita: Não há período de testes isolado anunciado para o Agent SDK

O ponto forte
O que faz bem
4 points

  • Recursos integrados para leitura, gravação e edição de arquivos, execução de comandos, web, MCP e controle de permissões
  • Bibliotecas para Python e TypeScript
  • Padrões de sessão preparados para execuções efêmeras, persistentes ou híbridas
  • Adapters de SessionStore permitem descarregar o histórico de transcrições para bancos externos
O ponto fraco
Onde deixa a desejar
4 points

  • Sujeito aos Commercial Terms da Anthropic, sem garantias amplas de código aberto irrestrito
  • Aplicações de terceiros não podem repassar logins do claude.ai ou cotas de usuário sem autorização formal
  • Cada sessão ativa roda em um subprocesso próprio, impactando a arquitetura de concorrência e memória
  • O SessionStore persiste as transcrições das mensagens, mas não arquivos de trabalho ou artefatos de memória CLAUDE.md

O Claude Agent SDK se destaca quando o projeto busca evitar a montagem manual de múltiplos componentes. A aplicação herda um fluxo de programação estruturado em vez de precisar conceber sequenciamento de ferramentas, estratégias de estouro de contexto e diálogos de permissão. Isso diminui a base de código do produto, mas atrela o comportamento do sistema ao cronograma de lançamentos da Anthropic.

Em produção, o dimensionamento de hardware é crucial. A recomendação da Anthropic sugere 1 GiB de RAM, 5 GiB de disco e 1 CPU por agente como base mínima. Como cada sessão roda em subprocesso próprio, servidores com múltiplos agentes concorrentes precisam de limites de memória bem definidos e filas de admissão rigorosas, em vez de depender apenas de auto-scaling.

A retenção de dados também demanda atenção. O SessionStore espelha históricos no S3, Redis, Postgres ou via adapter personalizado, mas não armazena arquivos CLAUDE.md de memória nem as pastas de trabalho temporárias. Falhas de espelhamento geram o evento mirror_error enquanto o processo segue em execução. Se o produto promete retomada contínua de tarefas, monitorar esse erro e sincronizar os arquivos do workspace de forma independente são etapas obrigatórias.

O isolamento entre diferentes usuários (multi-tenancy) também precisa de parametrização intencional. Processos compartilhados correm o risco de acessar arquivos de configuração ou dados de memória de outras instâncias. O modelo recomendado isola pastas de configuração e diretórios de trabalho por inquilino, desativa memória persistente automática, limpa referências globais de configuração no sistema de arquivos e aplica políticas de rede na infraestrutura externa.

3. OpenAI Codex SDK: melhor para automação nativa do Codex

O OpenAI Codex SDK é a maneira mais limpa de integrar threads persistentes do Codex, streaming de progresso e modificações estruturadas de código à sua aplicação. O pacote oficial para TypeScript encapsula a CLI do Codex e realiza a comunicação via JSONL na entrada e saída padrão. Trata-se de uma solução adequada para rotinas de release automatizadas que precisam retornar um JSON fechado contendo arquivos afetados, resultado dos testes e changelog. A desvantagem está no acoplamento de processo: o SDK depende da CLI instalada no ambiente e exige repositórios Git por padrão.

README do TypeScript SDK do OpenAI Codex mostrando threads incorporadas, streaming e resposta estruturada
OpenAI Codex SDK

Ideal para: Produtos com infraestrutura já centrada em modelos da OpenAI e autenticação existente do Codex
Destaque: Threads persistentes com emissão de eventos em stream e respostas estruturadas por JSON Schema
Preço: O SDK é distribuído sob licença Apache-2.0. A API do GPT-5.6 Sol opera com tarifa promocional de $4 por milhão de tokens de entrada e $20 por milhão de saída.
Avaliação gratuita: Não se aplica ao SDK de código aberto; o uso de modelos e subscrições é tarifado separadamente

O ponto forte
O que faz bem
5 points

  • Pacote oficial em TypeScript
  • Suporte a múltiplos turnos de conversa e recuperação de sessões via threads
  • Respostas orientadas por JSON Schema facilitam integração automatizada em pipelines
  • O streaming reporta chamadas de ferramenta, respostas intermediárias, edições de arquivo e consumo de tokens
  • Aproveita a autenticação configurada localmente na CLI do Codex
O ponto fraco
Onde deixa a desejar
4 points

  • A biblioteca em TypeScript funciona como um wrapper de subprocesso da CLI, e não como um núcleo em processo
  • Requer Node.js 18 ou superior no ambiente
  • O diretório de execução precisa ser um repositório Git, a menos que a verificação seja desligada explicitamente
  • O comportamento da aplicação fica vinculado às particularidades da OpenAI em vez de um padrão neutro

O Codex fica posicionado abaixo do Claude nesta lista apenas porque a comparação valoriza soluções com orquestração de ambiente mais abrangente. Para sistemas que já estruturam tarefas em torno do Codex, ele pode ser a melhor escolha. Os métodos da API atendem bem às necessidades de produto: as threads mantêm o contexto do diálogo, runStreamed() emite o andamento em tempo real e o uso de schemas JSON impede que respostas informais em texto quebrem a automação downstream.

Operar via subprocesso não é necessariamente um defeito. Trocar JSONL via stdin e stdout simplifica o debug, mantém a fronteira desacoplada de linguagem e isola o SDK de alterações internas da CLI. Ainda assim, tempo de inicialização de processos, monitoramento de saúde da CLI e políticas de encerramento precisam constar no manual operacional da infraestrutura. Requisições web não devem disparar processos de terminal sem limites definidos.

As threads gravam dados em ~/.codex/sessions no TypeScript. Essa configuração local funciona em desenvolvimento, mas é inadequada se usada como única estratégia de persistência em contêineres efêmeros. Associe os IDs de thread aos registros de tarefas da aplicação, controle o caminho base do Codex e sincronize dados críticos para um storage confiável antes de recriar os nós de execução.

Se a dúvida for como a equipe de engenharia usa o Codex em relação a outras ferramentas, o comparativo Codex vs Claude Code vs Cursor detalha a experiência de uso humano. A análise deste SDK concentra-se na automação programática e supervisão de tarefas por software.

4. Cursor SDK: melhor runtime unificado local e em nuvem

O Cursor SDK avançou para além de uma extensão de editor, tornando-se uma opção válida de integração programática. Seus SDKs em TypeScript e Python permitem controlar agentes em duas modalidades: execuções locais que rodam no mesmo ambiente da aplicação e agentes em nuvem orquestrados dentro de máquinas virtuais isoladas pela própria Cursor. Essa estrutura viabiliza acionar agentes em background na nuvem, acompanhar eventos em stream, interromper tarefas ou processar o código localmente quando a confidencialidade do repositório exigir. O contraponto é o confinamento ao ecossistema do fornecedor: ambos os modos são runtimes Cursor, e a execução local de comandos demanda isolamento cuidadoso antes de ser exposta a clientes externos.

Ideal para: Projetos que exigem uma biblioteca unificada para tarefas locais e execução em nuvem gerenciada
Destaque: Interface idêntica tanto para processos locais quanto para agentes remotos persistentes no Cursor
Preço: Vinculado aos planos e limites de requisição do Cursor. O plano Hobby é gratuito com requisições limitadas; Pro sai a $20 mensais; Teams a $40 por usuário/mês; Enterprise mediante cotação.
Avaliação gratuita: O plano Hobby pode ser utilizado sem custos iniciais

O ponto forte
O que faz bem
4 points

  • SDKs oficiais em TypeScript e Python, com protocolo Bridge para suporte a outras linguagens
  • Mesma assinatura de métodos para execuções locais e máquinas virtuais na nuvem
  • Agentes em nuvem com retenção de estado, streaming de eventos, cancelamento e formatação consistente de logs
  • Configuração de hooks e sandboxing permite delimitar o uso de ferramentas locais
O ponto fraco
Onde deixa a desejar
4 points

  • Execução local em TypeScript requer Node.js 22.13 ou superior
  • Agentes locais rodam ao lado do processo da aplicação, deixando o isolamento de inquilinos sob sua responsabilidade
  • Execução em nuvem, controle de acessos, cotas e faturamento continuam centralizados no Cursor
  • O SDK consome as cotas gerais da conta no Cursor, em vez de ser um runtime open source desacoplado

O Cursor se posiciona atrás dos SDKs diretos de Codex e Claude por focar em flexibilidade de infraestrutura e não em neutralidade de plataforma. Atende muito bem plataformas internas de desenvolvimento que buscam paridade de fluxo entre a máquina do desenvolvedor e clusters na nuvem. Torna-se menos atrativo quando hospedagem própria, inspeção total de código-fonte ou independência de fornecedor forem mandatórios.

5. OpenHands Software Agent SDK: melhor stack remota open source

O OpenHands Software Agent SDK é a principal alternativa open source quando o sistema exige tanto uma API de agentes quanto uma infraestrutura remota de execução pronta para deploy. Suas interfaces em Python e REST atendem instalações locais, Docker e Kubernetes, enquanto o Agent Server transmite eventos em tempo real via WebSocket. Empresas em setores regulados conseguem isolar workspaces em infraestrutura proprietária e fornecer aos sistemas internos um endpoint compatível com o padrão OpenAI. O desafio está no esforço de manutenção: cliente, servidor de agentes, segregação de contêineres, roteamento de LLMs e storage persistente viram responsabilidade direta da sua equipe.

Documentação do OpenHands Software Agent SDK exibindo opções em Python, REST, ferramentas e recursos do Agent Server
OpenHands Software Agent SDK

Ideal para: Times focados em Python que necessitam de um serviço auto-hospedado e aberto para agentes de software
Destaque: Modelo padronizado de diálogo que funciona igualmente em ambientes locais, contêineres Docker e nós remotos
Preço: Gratuito sob licença MIT; gastos com modelos de IA, contêineres, rede e armazenamento são custeados separadamente
Avaliação gratuita: Não se aplica; trata-se de um projeto aberto e gratuito

O ponto forte
O que faz bem
5 points

  • APIs em Python e REST arquitetadas especificamente para agentes focados em manipulação de código
  • Inclui ferramentas nativas de Bash, edição de código, navegação web e conexões MCP
  • Agent Server pronto para execução distribuída em Docker e Kubernetes
  • Streaming de eventos bidirecional via WebSocket e API compatível com o ecossistema OpenAI
  • Licença MIT permissiva com suporte a modelos proprietários e modelos de código aberto
O ponto fraco
Onde deixa a desejar
4 points

  • Exige uma estrutura operacional muito maior do que integrar um loop executado no próprio processo
  • Utilização remota depende do alinhamento constante de cliente, servidor, workspaces e regras de rede
  • Custos com infraestrutura computacional e consumo de tokens continuam existindo mesmo com software livre
  • Python é a linguagem nativa do SDK, o que exige criar uma ponte de serviços se sua aplicação for puramente TypeScript

O OpenHands se justifica quando "hospedagem própria" significa mais do que rodar scripts em uma máquina local. A arquitetura remota é dividida em três frentes: o cliente em Python, o Agent Server (via HTTP e WebSocket) e os workspaces isolados de execução. Alternar de uma máquina local para contêineres Docker ou para um cluster Kubernetes exige apenas trocar a definição do workspace, preservando o código do fluxo do agente.

Essa abordagem ajuda quando múltiplos serviços consomem o agente. Interfaces web, plug-ins de IDE, bots de comunicação ou clientes compatíveis com a API da OpenAI podem consumir o mesmo endpoint centralizado. Fica mais simples concentrar gestão de identidades, auditoria, controle de cotas e distribuição regional na borda do serviço. É a base open source mais completa para uma plataforma interna.

Em contrapartida, há um custo claro em horas de engenharia. É necessário atualizar contêineres, restringir recursos de workspaces, gerenciar segredos de API, lidar com quedas de conexões WebSocket e definir ciclo de vida para repositórios clonados. A licença MIT garante liberdade de software, mas não resolve o custo total de propriedade (TCO).

Na comparação com a Vercel, o ponto central é a divisão de trabalho. A Vercel entrega o painel de controle em TypeScript e cuida do ciclo de vida das sandboxes gerenciadas. O OpenHands fornece acesso ao código e autonomia arquitetural, exigindo em troca maior carga de gerenciamento. Se conformidade regulatória ou portabilidade irrestrita de modelos forem requisitos contratuais, o esforço se justifica. Para entregar uma funcionalidade pontual em pouco tempo, pode representar complexidade excessiva.

6. OpenCode SDK: melhor superfície tipada cliente/servidor

O OpenCode SDK é a opção independente mais indicada para aplicações em JavaScript ou TypeScript que precisam de um cliente tipado comunicando-se com um servidor OpenCode dedicado. O método createOpencode() orquestra tanto o servidor quanto o cliente, enquanto createOpencodeClient() estabelece conexão com uma instância remota preexistente. Aplicações desktop ou painéis internos de engenharia conseguem iniciar sessões, processar streams de eventos, responder a requisições de permissão, despachar comandos de terminal, auditar arquivos e coletar saídas estruturadas com tipagem gerada automaticamente. A restrição é estrutural: como se trata de um padrão cliente/servidor, o ciclo de vida do processo, exposição de portas, autenticação e segregação de inquilinos ficam sob a tutela da aplicação principal.

Documentação do OpenCode SDK detalhando o cliente tipado em JavaScript e o gerenciamento de servidor local
OpenCode SDK

Ideal para: Aplicações JS e TS que buscam um servidor de agentes explícito controlado por cliente tipado
Destaque: Tipos gerados via especificação OpenAPI cobrindo sessões, arquivos, terminal, permissões e eventos
Preço: Gratuito sob licença MIT; custos de computação do servidor e tokens de modelos são independentes
Avaliação gratuita: Não se aplica; projeto open source gratuito

O ponto forte
O que faz bem
5 points

  • Permite subir o servidor embutido junto com o cliente ou conectar-se a uma instância remota ativa
  • Interface com validação estática gerada a partir da especificação OpenAPI do servidor
  • Métodos diretos para sessões, permissões, shell, arquivos, pesquisa, configurações e assinatura de eventos
  • Saída validada via JSON Schema com mecanismo de até duas repetições automáticas em caso de erro
  • Licença MIT
O ponto fraco
Onde deixa a desejar
4 points

  • O SDK é um controlador de servidor, não um loop simplificado embutido no processo
  • A configuração padrão em localhost atende a desenvolvimento, mas não serve como modelo de segurança multi-tenant
  • A aplicação hospedeira precisa gerenciar inicialização, telemetria, atualizações, autenticação e controle de rede
  • JavaScript e TypeScript formam a única rota de cliente oficialmente documentada

A configuração local padrão é minimalista: IP 127.0.0.1, porta 4096 e timeout de inicialização de 5,000 ms. Essa combinação funciona para apps desktop em Electron, automações em scripts locais ou ferramentas de suporte ao desenvolvedor. Contudo, não deve ser levada a ambientes compartilhados sem alterações. Um servidor exposto a múltiplos usuários exige autenticação na borda, workspaces isolados por tarefa e restrições sobre quais comandos de shell e edições de arquivos são permitidos.

O ponto forte do OpenCode é a facilidade de inspeção. Métodos para criação de sessão, envio de prompts, cancelamento, compartilhamento, sumarização, chamadas de shell, resposta a autorizações, alterações no sistema de arquivos, leitura de configurações e eventos são expostos abertamente. Isso viabiliza construir consoles administrativos completos, ao contrário de bibliotecas que expõem apenas funções simples de envio e recebimento de texto.

O contraponto direto com o OpenHands reside na linguagem e no escopo de atuação. O OpenCode oferece um cliente JS/TS muito bem delineado para seu próprio servidor. O OpenHands foca em Python e dispõe de uma infraestrutura mais elaborada para workspaces remotos. Prefira o OpenCode se sua stack for primariamente TypeScript e o servidor do OpenCode suprir suas necessidades de runtime. Vá de OpenHands se a flexibilidade de implantação e a plataforma agnóstica de agentes forem mais estratégicas do que ter um cliente nativo em TypeScript.

7. Pi: melhor núcleo de agente minimalista

O Pi é a escolha indicada quando a aplicação precisa apenas de um loop de controle compacto, sem o peso de uma plataforma pronta de agentes de código. O pacote @earendil-works/pi-agent-core gerencia estado, disparo de ferramentas, streaming de eventos, troca de modelos em tempo de execução, direcionamento dinâmico (steering), filas de follow-up e interceptação de ações; o ecossistema oferece ainda um SDK para Node.js e comunicação via JSONL RPC. Uma solução especializada de migração de código legado pode definir exclusivamente as ferramentas e eventos necessários, evitando carregar estruturas de terminal dispensáveis. A contrapartida é o esforço de montagem: persistência, ferramentas de manipulação de código, sandboxing e regras de governança precisam ser desenvolvidos por você.

Documentação do Pi mostrando seu harness enxuto de código e interfaces programáticas de SDK e RPC
Pi

Ideal para: Desenvolvedores que preferem construir o loop, as ferramentas e a segurança de forma artesanal
Destaque: Núcleo com gerenciamento de estado, streaming de eventos e ganchos de ferramentas sem impor arquitetura de servidor
Preço: Gratuito sob licença MIT; modelos, persistência e servidores ficam a cargo do implementador
Avaliação gratuita: Não se aplica; o Pi é um framework livre e aberto

O ponto forte
O que faz bem
5 points

  • Núcleo leve com controle de estado, execução de ferramentas e emissão de eventos em stream
  • SDK programático para Node.js acompanhado de interface RPC via JSONL em stdin/stdout
  • Suporte a provedores customizados, autenticação por subscrição, chaves de API e instâncias locais via llama.cpp
  • Eventos de tool_call e tool_result permitem inspecionar, interromper ou alterar parâmetros de execução
  • Disparo paralelo de ferramentas ativado por padrão, com opção de modo sequencial
O ponto fraco
Onde deixa a desejar
4 points

  • O pacote central não entrega um ambiente pronto de execução e edição de código
  • O armazenamento persistente de sessões precisa ser construído pela aplicação
  • Isolamento em contêineres via Gondolin, Docker ou OpenShell exige desenho arquitetural próprio
  • Cabe ao desenvolvedor implementar catálogo de ferramentas, transformação de contexto e regras de segurança

O Pi chama a atenção justamente por evitar decisões arbitrárias pela aplicação. O núcleo transmite respostas do modelo, dispara ferramentas, aceita interrupções de fluxo, organiza follow-ups na fila, remodela o contexto antes de bater na API de IA e encerra a execução ao fim do turno. Essa base é suficiente para criar uma experiência proprietária sem ter que começar do zero com chamadas puras de HTTP para modelos de linguagem.

Essa sobriedade cobra seu preço. Armazenamento persistente e isolamento em sandboxes não vêm prontos. O catálogo de ferramentas depende do que o desenvolvedor registrar. O runtime permanece compacto, mas cada funcionalidade omitida precisa passar pela esteira de desenvolvimento do seu time.

Isso torna o Pi conveniente para agentes de escopo estrito. Imagine um microsserviço que apenas lê o arquivo de dependências de um repositório, ajusta versões de bibliotecas, dispara um comando de validação de testes e gera um resumo assinado. Quatro ferramentas delimitadas e uma camada simples de banco de dados podem ser muito mais seguras do que subir um runtime genérico de terminal. Por outro lado, para aplicações parecidas com IDEs que demandam sessões persistentes, catálogo extenso de skills, shells e interfaces de monitoramento completas, essa simplicidade transfere muito trabalho para sua equipe.

Vale notar que o Pi também conta com um adapter oficial dentro da Vercel. Se você quer adotar o loop do Pi hoje, mas quer manter as portas abertas para avaliar outros motores no futuro, a camada da Vercel pode servir de interface estável. Se a meta é fugir de camadas intermediárias de abstração, consumir o core do Pi de forma direta faz mais sentido.

8. fx and libfx: melhor opção experimental para embed nativo e navegador

O fx and libfx representa a alternativa experimental mais arrojada para cenários que exigem compilação nativa em binário único, integração via ACP, uso embutido no Node, um loop de código rodando direto no navegador ou o fx conectado ao Vercel HarnessAgent. O portal do projeto descreve a versão v0.0.7 como um agente de código de apenas 6.19 MiB, agnóstico a modelos e sob licença Apache-2.0, enquanto o libfx disponibiliza um agente headless e uma interface de terminal interativa por meio de add-ons nativos para Node ou WebAssembly. A aplicação típica é uma ferramenta para desenvolvedores com foco em execução local que precisa de um motor enxuto e de uma demonstração funcional no browser. As limitações são consideráveis: o software é experimental, o suporte no navegador exige JSPI, a compilação WASM remove ferramentas essenciais de sistema e o controle nativo de sandboxing para comandos locais foi retirado a partir da versão v0.0.5.

Repositório do Vercel Labs fx apresentando um agente de código nativo, minúsculo e incorporável
fx and libfx

Ideal para: Projetos de pesquisa e protótipos que investigam agentes compactos em ambiente nativo, ACP, Node ou via navegador
Destaque: Núcleo desenvolvido em Zig distribuído como binário nativo, add-on Node, fx-core.wasm e fx-term.wasm
Preço: Gratuito sob licença Apache-2.0; credenciais para modelos e custos de computação local são independentes
Avaliação gratuita: Não se aplica; projeto de código aberto

O ponto forte
O que faz bem
5 points

  • Binário nativo com apenas 6.19 MiB e funcionamento agnóstico em relação a modelos
  • Suporte nativo a ACP combinado com interfaces headless e interativas em JavaScript
  • Módulos nativos para Node com compilação para Linux e macOS em arquiteturas x64 e arm64
  • Ganchos expostos para requisições fetch, variáveis de ambiente, autorizações, armazenamento de sessão e OAuth, I/O de terminal e workspaces restritos no browser
  • Aceita autenticações diretas de assinaturas de usuário no Codex e Grok
O ponto fraco
Onde deixa a desejar
4 points

  • Tanto o projeto quanto o SDK em WebAssembly são oficialmente experimentais
  • O uso de WASM no navegador exige Chrome ou Edge 137+ com suporte a JSPI; integrações em Node requerem Node.js 20+
  • A versão WASM não suporta processos nativos, sandboxing de SO, servidores MCP nativos, subagentes, skills, updates automáticos, acesso amplo a arquivos via WASI e rede pública externa
  • A partir da v0.0.5, comandos aprovados rodam como subprocessos normais do sistema, descontinuando parâmetros nativos de sandboxing

A versão 0.0.7 introduziu recursos como direcionamento dinâmico no meio do turno, arquivos de configuração MCP no nível do projeto, descoberta automática de capabilities em servidores MCP e regras mais restritas de confiança. No entanto, o ponto crítico de segurança permanece: desde a v0.0.5, comandos autorizados (sejam monitorados, em background ou capturados) rodam diretamente como subprocessos no sistema operacional da máquina, tendo sido removidos os parâmetros antigos de configuração de sandbox e seus comandos auxiliares.

Esse detalhe muda as regras do jogo. Em uma aplicação desktop corporativa, qualquer comando validado pelo agente atinge o sistema operacional anfitrião sem barreiras nativas, a menos que seu próprio software crie uma jaula de execução externa. O orçamento do projeto precisará incluir barreiras para autorização de comandos, cotas de memória/processamento, controle rigoroso de pastas, trilhas de auditoria e, muito provavelmente, uma sandbox de SO terceirizada. Uma simples função de autorização (callback de permissão) não funciona como sandbox.

A operação via navegador enfrenta outras fronteiras. O libfx requer navegadores Chrome ou Edge na versão 137 ou superior com a flag JSPI ativa para executar o módulo WebAssembly. Além disso, o runtime WASM deliberadamente não traz processos nativos, isolamento em nível de SO, servidores MCP rodando localmente, suporte a subagentes ou skills, atualizações automáticas, manipulação ampla do sistema via WASI e conexões diretas para a internet pública. A aplicação hospedeira pode até expor comandos simulados em primeiro plano, mas será responsável por validar comandos, impor limites e tratar os dados devolvidos.

A guarda de chaves de API é outro ponto de atenção mesmo em testes iniciais. A documentação reforça que tokens com permissões amplas nunca devem ficar expostos no bundle do cliente no navegador. Utilize credenciais efêmeras ou construa um proxy autenticado no backend. Sem a infraestrutura de proxy, os adapters de workspace e as barreiras de comando prontas, o arquivo WebAssembly isolado não forma um produto utilizável.

O cenário recomendado para o fx hoje são protótipos internos, aplicados sobre repositórios não sigilosos e com poucas ferramentas ativas. O pior cenário é lançar um serviço voltado a clientes externos rodando no browser com chaves persistentes expostas, abrindo pontes de comando no terminal sob a ilusão de que o WebAssembly garante contenção de segurança. O fx demonstra grande mérito arquitetural, mas seu nível atual de maturidade justifica a posição no fim da lista.

Qual framework escolher para o seu cenário?

Adote o Vercel AI SDK HarnessAgent se o produto precisa estar protegido contra mudanças futuras no ecossistema de modelos e runtimes de programação. Migrar adapters nunca tem custo zero, mas manter um contrato consistente no produto permite reaproveitar telas, schemas JSON de saída, logs de sessão e datasets de testes. Reconsidere essa opção caso sua organização proíba pacotes em estágio experimental ou se o adapter omitir um recurso muito específico do fornecedor que seja vital para o sistema.

Adote o Claude Agent SDK se a experiência do Claude Code for o diferencial que seus clientes compram e sua infraestrutura puder acomodar um subprocesso por agente concorrente. Trata-se da alternativa mais refinada e pronta para uso imediato. A balança pende para o Codex caso você necessite de threads estruturadas nativas e integração com a autenticação da OpenAI, ou para a Vercel caso evitar lock-in de fornecedor seja imperativo.

Adote o OpenAI Codex SDK se o ambiente da sua empresa já gira em torno da OpenAI e você precisa de threads persistentes, logs detalhados de eventos em streaming e outputs rigidamente validados via schema. Reconsidere caso sua equipe queira evitar o controle de subprocessos via CLI ou prefira não atrelar a arquitetura a uma interface fechada de fornecedor.

Adote o Cursor SDK quando o mesmo fluxo de trabalho precisar transitar sem atritos entre a máquina de desenvolvimento e agentes executados nas máquinas virtuais da nuvem gerenciada do Cursor. Mude de rota caso hospedagem em infraestrutura própria ou neutralidade de runtime sejam condições contratuais inegociáveis.

Adote o OpenHands se você estiver estruturando uma plataforma interna onde múltiplos sistemas da empresa consumirão o mesmo serviço governado de agentes de código sob controle total da sua infraestrutura. A segregação clara entre cliente, servidor de agentes e workspace atende bem times de plataforma. Avalie o OpenCode se o ecossistema for exclusivamente focado em TypeScript, ou o Pi se uma plataforma distribuída trouxer complexidade desnecessária para o escopo.

Adote o OpenCode SDK caso a meta seja dispor de um cliente fortemente tipado para gerenciar um servidor OpenCode. Atende com facilidade ferramentas de desktop e painéis internos de desenvolvimento. Evite-o se sua aplicação não tiver como assumir o gerenciamento do processo do servidor, controle de portas e restrições de rede.

Adote o Pi quando um loop simples, reativo e altamente combinável for a melhor escolha, permitindo que seu time controle a implementação de ferramentas, gravação de estado e políticas de segurança. Migre para runtimes mais robustos se você não tiver interesse em despender tempo recriando mecanismos comuns de sessão e sandbox.

Adote o fx somente se sua equipe estiver conduzindo experimentos específicos em torno de binários ultracompactos, integrações com o protocolo ACP ou WebAssembly direto no navegador. O esforço exigido da aplicação hospedeira para garantir segurança em tempo de execução e no browser supera em muito a facilidade aparente de seu arquivo de poucos megabytes.

Se o seu objetivo for implementar agentes de código corporativos para os desenvolvedores da organização, e não incorporar um framework dentro do seu próprio software, consulte o guia sobre melhores agentes de IA para empresas. Regras de compras, controles de identidade, relatórios de auditoria e adoção interna terão um peso muito maior do que a flexibilidade de um SDK.

Quais opções evitar

Deixar de recomendar uma opção para incorporação técnica não significa que ela seja inadequada para programar. Significa apenas que o formato de integração não atende aos requisitos deste tipo de projeto.

Aider como dependência de produto. O Aider é uma ferramenta extraordinária para pareamento via terminal, comunicando-se tanto com modelos em nuvem quanto locais. Embora seja tecnicamente viável automatizar chamadas de CLI, orquestrar um subprocesso informal difere bastante de consumir um SDK documentado que ofereça garantias de ciclo de vida de sessão, canais formais de autorização e saídas estruturadas. Continue usando o Aider diretamente no seu terminal; para integrar em produtos, prefira SDKs dedicados ou servidores com APIs formais.

SWE-agent em novas implementações. O repositório oficial do SWE-agent declara que o projeto foi sucedido pelo mini-SWE-agent, recomendando a adoção da nova base de código. O SWE-agent continua relevante para reproduzir pesquisas acadêmicas e benchmarks de literatura, mas ancorar uma nova arquitetura comercial em um projeto formalmente descontinuado cria uma dívida técnica evitável logo no primeiro dia.

Fuja também de pacotes wrappers cuja única vantagem competitiva seja atuar como intermediários de chamadas para determinados modelos. Modelos de IA mudam e sofrem cortes de preço muito mais depressa do que os schemas de dados, políticas de segurança, suítes de validação e regras de negócio do seu produto. Sua camada de controle precisa tornar esses ativos estruturais visíveis e perenes.

O plano de ação para a semana

Não inicie seu projeto na segunda-feira tentando importar todos os SDKs ao mesmo tempo. Comece escrevendo um contrato de aceite agnóstico e teste-o com duas alternativas.

Selecione três cenários de teste que representem tarefas reais do seu produto:

  • A correção pontual de um teste unitário com falha em escopo restrito
  • A atualização de uma biblioteca desatualizada acompanhada de notas de migração
  • Uma análise de código estritamente de leitura que identifique trechos específicos sem aplicar alterações

Para cada cenário, determine os diretórios acessíveis do repositório, comandos do shell autorizados, tempo limite de relógio, teto máximo de tokens consumidos, schema JSON obrigatório de retorno e critérios de acionamento humano. Durante os testes, documente a taxa de sucesso, validação dos testes, lista de arquivos tocados, comandos negados por segurança, volume de tokens gastos, contagem de repetições e o tempo demandado até a aprovação humana. Execute a rodada primeiro na opção mais cotada e, em seguida, na alternativa concorrente mais forte.

O objetivo deste processo é produzir um memorando técnico de decisão embasado, não eleger um vencedor de benchmarks teóricos. Se a Vercel preservar a interface do seu produto e os runtimes rodarem com qualidade semelhante, a portabilidade vence. Se o Claude resolver as tarefas complexas com menos repetições, a dependência do fornecedor pode se pagar pelo ganho de confiabilidade. Se o OpenHands cumprir as metas de segurança da empresa sem repassar custos a serviços gerenciados terceiros, o time de infraestrutura saberá lidar com o cluster. E se o fx exigir construir uma sandbox sob medida antes de colocar o produto no ar, esse esforço entrará no cronograma da equipe desde o primeiro instante.

Perguntas frequentes

Qual é o melhor harness de agente de código para LLMs locais?

O OpenHands é a stack aberta mais completa se os modelos locais precisarem de um servidor remoto dedicado e workspaces com execução isolada. O Pi é mais indicado caso você queira um loop minimalista e pretenda fornecer suas próprias ferramentas, persistência e sandbox. O fx também opera de forma agnóstica a modelos, mas seu estágio experimental faz dele uma ferramenta de pesquisa, não uma escolha padrão.

Qual harness de agente de código tem o melhor resultado em benchmarks?

Nenhum benchmark público define sozinho qual framework se adapta ao seu produto. Índices medem soluções sob prompts, ferramentas, repositórios e parâmetros próprios. Times de desenvolvimento devem executar tarefas reais dos seus repositórios sob suas próprias regras de segurança e comparar conclusões bem-sucedidas, repetições, gasto de tokens e tempo de revisão humana.

O OpenCode se enquadra como um harness de agentes de código incorporáveis?

Sim. O SDK oficial do OpenCode permite disparar o servidor e o cliente em conjunto ou acoplar um cliente fortemente tipado a um servidor ativo. Sua camada de integração adota o modelo cliente/servidor, diferindo de loops embutidos diretamente no mesmo processo da aplicação.

Qual é o melhor harness gratuito para agentes de código incorporáveis?

O OpenHands é a opção completa mais recomendada sob licença MIT; o Pi é o principal núcleo minimalista sob licença MIT. O OpenCode e o fx também são projetos abertos. "Gratuito" diz respeito aos termos da licença de software; custos com tokens de modelos, computação, storage, tráfego de rede e a equipe de engenharia para mantê-los continuam existindo.


Última atualização

3 de set. de 2026

CategoriaBuild

Prefira este site no Google

Adicionar omidsaffari.com como fonte preferida na Busca do Google

Marque omidsaffari.com como fonte preferida e o Google destaca o site para você em Top Stories, AI Overviews e AI Mode.

Newsletter

Uma carta, todo domingo. Sistemas que funcionam, não hot takes.

Build logs, sistemas em produção e notas de campo de um portfólio de ventures de IA.

Semanal. Sem spam. Cancele quando quiser.