Pular para o conteúdo principal
Esta página captura as evidências por trás da limpeza de desempenho, tamanho de pacote, dependências e shrinkwrap do OpenClaw em maio de 2026. Ela é o complemento técnico da publicação pública no blog. Duas auditorias são combinadas aqui:
  • Varredura de desempenho da versão: GitHub Releases de v2026.5.28 até a estável v2026.4.23, usando o workflow OpenClaw Performance, profile=smoke, faixa mock-provider. A maioria das linhas de tags tem uma amostra; as linhas v2026.5.27 e v2026.5.28 usam os artefatos mais recentes da branch de release com repetição 3.
  • Contexto anterior de abril: baselines mock-provider publicados em clawgrit-reports de v2026.4.1 até v2026.5.2, usados apenas para evitar tratar as versões quebradas do fim de abril como a baseline pública de desempenho.
  • Varredura da pegada de instalação: instalações novas com npm install --ignore-scripts em pacotes temporários, com du -sk node_modules para tamanho e uma varredura de node_modules para contagens de instâncias de pacotes.
  • Varredura do tamanho de pacote npm: npm pack openclaw@<version> --dry-run --json para versões publicadas, registrando tamanho do tarball compactado, tamanho descompactado e contagem de arquivos.
A varredura principal de desempenho usa uma amostra smoke por tag, exceto as linhas v2026.5.27 e v2026.5.28, que usam os artefatos mais recentes da branch de release com repetição 3. O contexto anterior de abril usa medianas de repetição 3 publicadas em clawgrit-reports. Trate os números como evidência de tendência e sinal para caça a regressões, não como estatísticas de gate de release.

Snapshot

Cobertura de desempenho: 77 versões solicitadas, 74 pontos respaldados por artefatos e 3 execuções de CI indisponíveis. Ponto estável medido mais recente: v2026.5.28.

Turno estável do agente

Turno frio 5,1x mais rápido
  • v2026.4.14: 9,8s
  • v2026.5.28: 1,9s

Pacote publicado

Tarball de 17,9 MBPacote estável mais recente, abaixo do pico de tamanho de pacote de março, de 43,3 MB.

Instalação estável mais recente

Instalação nova de 361,7 MiBv2026.5.28 reduz acentuadamente a árvore de dependências aninhada do OpenClaw, mas uma árvore aninhada menor de 259,7 MiB ainda permanece na auditoria local de instalação.

Grafo de dependências

300 pacotes instaladosVersão estável mais recente, medida como raízes únicas de nome/versão de pacote em uma instalação nova com scripts desativados.

Linha do tempo da pegada de instalação

Pico mensal

645 dependências2026.2.26 foi o pico mensal de contagem de dependências nesta amostra.

Shrinkwrap introduzido

Instalação de 1.020,6 MB2026.5.22 adicionou shrinkwrap raiz e expôs um problema de formato de pacote: 911,8 MB ficaram sob openclaw/node_modules aninhado.

Estável mais recente

Instalação de 361,7 MiB2026.5.28 reduz o tamanho da instalação nova em 52,8% em relação a 2026.5.27, mas ainda instala uma árvore aninhada do OpenClaw de 259,7 MiB.

Grafo de dependências

300 raízes de pacotes2026.5.28 instala 71 raízes únicas de nome/versão de pacote a menos que 2026.5.27.
Shrinkwrap não era o problema por si só. O formato ruim do pacote era. v2026.5.28 ainda envia shrinkwrap, mas a árvore de dependências aninhada é muito menor e o fanout de canvas para todas as plataformas desapareceu na auditoria local.

O Que Mudou Na 5.28

A limpeza entre v2026.5.27 e v2026.5.28 reduziu o grafo da instalação padrão em vez de remover as capacidades em si.

Root default graph

As raízes únicas de nome/versão de pacote caíram de 371 para 300. As instâncias de pacote caíram de 372 para 301.

Nested tree

O openclaw/node_modules aninhado caiu de 656.1MiB para 259.7MiB na mesma auditoria de instalação local.

Native optional cones

O cone de pacote nativo @napi-rs/canvas para todas as plataformas deixou de entrar na instalação padrão.

Supply-chain surface

Menos pacotes padrão significa menos tarballs, mantenedores, binários nativos, comportamentos no momento da instalação e caminhos de atualização transitivos para confiar por padrão.

Números Principais

Não use as linhas quebradas do fim de abril como referências públicas de desempenho. v2026.4.23 e v2026.4.29 são evidências úteis de regressão, mas os grandes deltas no estilo 14x descrevem principalmente a recuperação de uma linha de release ruim. Para a narrativa do blog, use a referência publicada no início de abril como escala:
MétricaReferência do início de abrilv2026.5.28Delta
Turn frio do agente9,819ms1,908ms80,6% menor, 5,1x mais rápido
Turn quente do agente7,458ms1,870ms74,9% menor, 4,0x mais rápido
RSS de pico do agente686.2MB581.0MB15,3% menor
A referência do início de abril é v2026.4.14, da execução publicada do provedor mock em clawgrit-reports. Essa execução usou repetição 3 e falhou apenas porque a linha do tempo diagnóstica não foi emitida; as medianas de frio, quente e RSS ainda são úteis como escala aproximada. Trate isso como contexto narrativo, não como uma estatística de gate de release. Dentro da varredura de maio, a linha mais recente do branch de release avançou materialmente desde v2026.5.2:
Métricav2026.5.2v2026.5.28Delta
Turn frio do agente3,897ms1,908ms51,0% menor
Turn quente do agente3,610ms1,870ms48,2% menor
RSS de pico do agente613.7MB581.0MB5,3% menor
Comparado com o release estável anterior:
Métricav2026.5.27v2026.5.28Delta
Turn frio do agente2,231ms1,908ms14,5% menor
Turn quente do agente2,226ms1,870ms16,0% menor
RSS de pico do agente649.0MB581.0MB10,5% menor

Pegada de instalação

MétricaReferênciav2026.5.28Delta
Tamanho da instalação desde o pico de 2026.5.221,020.6MB361.7MiB64,6% menor
Tamanho da instalação desde o release mais recente 2026.5.27767.1MiB361.7MiB52,8% menor
Dependências desde a máxima mensal 2026.2.2664530053,5% menor
Dependências desde o release mais recente 2026.5.2737130019,1% menor
openclaw/node_modules aninhado desde 2026.5.22911.8MB259.7MiB71,5% menor
openclaw/node_modules aninhado desde 2026.5.27656.1MiB259.7MiB60,4% menor

Tamanho do pacote npm

VersãoTarball compactadoPacote descompactadoArquivosObservações
2026.1.3012.8MB33.5MB4,607pacote inicial com rebranding
2026.2.2623.6MB82.9MB10,125crescimento de recursos
2026.3.3143.3MB182.6MB21,037ponto máximo de tamanho do pacote
2026.4.2922.9MB74.6MB9,309poda do pacote visível
2026.5.1223.4MB80.1MB12,035grande separação de Plugin externo
2026.5.2217.2MB76.9MB12,386docs/assets excluídos do pacote
2026.5.2717.8MB79.0MB12,509pacote estável anterior
2026.5.2817.9MB81.0MB9,082pacote estável mais recente
2026.5.12 é o marco visível de extração de plugins no changelog: Amazon Bedrock, Bedrock Mantle, Slack, OpenShell sandbox, Anthropic Vertex, Matrix e WhatsApp saíram do caminho de dependências do core, para que seus cones de dependência sejam instalados com esses plugins em vez de em toda instalação do core.

Resumo de turn do agente Kova

A linha estável de abril contém duas histórias diferentes. O início de abril era lento, mas reconhecível. O fim de abril virou um precipício de regressão. v2026.5.2 é onde a faixa do provedor mock primeiro cai para o intervalo de 3 a 5s e começa a passar de forma consistente na varredura fornecida. Contexto publicado anterior:
ReleaseKovaTurn frioTurn quenteRSS de pico do agente
v2026.4.10FALHOU11,031ms7,962ms679.0MB
v2026.4.12FALHOU11,965ms8,289ms713.5MB
v2026.4.14FALHOU9,819ms7,458ms686.2MB
v2026.4.20FALHOU22,314ms18,811ms810.8MB
v2026.4.22FALHOU9,630ms7,459ms743.0MB
Varredura fornecida:
ReleaseKovaTurn frioTurn quenteRSS de pico do agente
v2026.4.23FALHOU47,847ms8,010ms1,082.7MB
v2026.4.24FALHOU48,264ms25,483ms996.0MB
v2026.4.25FALHOU81,080ms59,172ms1,113.9MB
v2026.4.26FALHOU76,771ms54,941ms1,140.8MB
v2026.4.27FALHOU60,902ms33,699ms1,156.0MB
v2026.4.29FALHOU94,031ms57,334ms3,613.7MB
v2026.5.2PASSOU3,897ms3,610ms613.7MB
v2026.5.7PASSOU3,923ms3,693ms654.1MB
v2026.5.12PASSOU7,248ms6,629ms834.8MB
v2026.5.18PASSOU3,301ms2,913ms630.3MB
v2026.5.20PASSOU3,413ms2,952ms643.2MB
v2026.5.22PASSOU4,494ms4,093ms654.3MB
v2026.5.26PASSOU2,626ms2,282ms660.4MB
v2026.5.27-beta.1PASSOU2,575ms2,217ms635.3MB
v2026.5.27PASSOU2,231ms2,226ms649.0MB
v2026.5.28PASSOU1,908ms1,870ms581.0MB

Probes de origem

Os probes de origem foram ignorados para 17 refs antigas bem-sucedidas porque essas árvores de origem ainda não tinham os pontos de entrada de probe necessários. As métricas de turn de agente ainda existem para essas refs. Pontos representativos de probe de origem:
Releasereadyz padrão p50readyz com 50 plugins p50Saúde da CLI p50RSS máx. do Plugin
v2026.4.292,819ms2,618ms1,679ms389.0MB
v2026.5.22,324ms2,013ms1,384ms377.2MB
v2026.5.71,649ms1,540ms1,175ms387.6MB
v2026.5.181,942ms1,927ms607ms426.5MB
v2026.5.201,966ms1,987ms621ms455.0MB
v2026.5.222,081ms1,884ms5,095ms444.2MB
v2026.5.261,546ms1,634ms656ms400.4MB
v2026.5.27-beta.11,462ms1,548ms548ms394.0MB
v2026.5.271,491ms1,571ms553ms401.5MB
v2026.5.281,457ms1,474ms623ms386.1MB
O pico de integridade da CLI v2026.5.22 fica visível nesta tabela, embora a lane agent-turn ainda tenha passado. Mantenha as sondagens de origem ao investigar regressões direcionadas da CLI ou do Gateway.

Auditoria do footprint de instalação

As amostras de dependências usam uma versão estável por mês, além do evento de introdução do shrinkwrap em 2026.5.22 e da versão mais recente 2026.5.28.
PontoDependências instaladasInstalação novaPacote OpenClawopenclaw/node_modules aninhadoShrinkwrap raizComportamento de instalação do Canvas
Jan 2026.1.30605438.4MB45.8MB2.4MBnãowrapper de nível superior + darwin-arm64
Fev 2026.2.26645575.7MB110.1MB3.5MBnãowrapper de nível superior + darwin-arm64
Mar 2026.3.31438584.1MB234.8MB0MBnãowrapper de nível superior + darwin-arm64
Abr 2026.4.29392335.0MB97.4MB0MBnãonenhum instalado
2026.5.224011,020.6MB1,020.4MB911.8MBsimaninhado: todos os 12 pacotes @napi-rs/canvas
Maio 2026.5.26371767.5MB767.4MB656.4MBsimaninhado: todos os 12 pacotes @napi-rs/canvas
2026.5.27371767.1MiB766.9MiB656.1MiBsimaninhado: todos os 12 pacotes @napi-rs/canvas
Mais recente 2026.5.28300361.7MiB361.6MiB259.7MiBsimnenhum instalado

Limite do shrinkwrap

Before shrinkwrap

2026.5.20 não tem shrinkwrap raiz nem uma grande árvore aninhada de dependências do OpenClaw.

Introduced

2026.5.22 adiciona shrinkwrap raiz e instala 911.8MB sob openclaw/node_modules aninhado.

Latest stable

2026.5.28 mantém o shrinkwrap e ainda instala 259.7MiB sob openclaw/node_modules aninhado.

Canvas fanout fixed

2026.5.28 não instala mais nenhum pacote @napi-rs/canvas na auditoria local de instalação nova.
A inspeção do tarball publicado verifica o limite:
VersãoEstável publicado?npm-shrinkwrap.json raizObservações
2026.5.20simnãoúltima versão estável antes do shrinkwrap
2026.5.21nãon/dnenhuma versão npm estável
2026.5.22simsimshrinkwrap introduzido
2026.5.23nãon/dnenhuma versão npm estável
2026.5.24nãon/dnenhuma versão npm estável
2026.5.25nãon/dnenhuma versão npm estável
2026.5.26simsimárvore de dependências aninhada ainda presente
2026.5.27simsimárvore de dependências aninhada ainda presente
2026.5.28simsimárvore de dependências aninhada muito menor
A distinção importante: o shrinkwrap em si não é o problema. v2026.5.28 ainda distribui shrinkwrap raiz. O problema era o formato do pacote que fazia o npm materializar uma grande árvore aninhada de dependências do OpenClaw e todos os 12 pacotes de plataforma @napi-rs/canvas. A árvore aninhada é menor em v2026.5.28, e o fanout de plataformas do canvas não aparece mais na auditoria local. Para uma explicação em linguagem simples sobre shrinkwrap e as verificações de pacote em nível de mantenedor, consulte npm shrinkwrap.

Interpretação de cadeia de suprimentos

A contagem de dependências é uma métrica de segurança operacional, não apenas uma métrica de tamanho de instalação. Cada pacote amplia o conjunto de mantenedores, tarballs, atualizações transitivas, binários nativos opcionais e comportamentos em tempo de instalação que os operadores precisam confiar. A direção da limpeza é:
  • manter recursos pesados e opcionais fora da instalação padrão do core
  • fazer os pacotes de Plugin serem donos do próprio grafo de dependências em runtime
  • evitar reparo de gerenciador de pacotes em runtime durante a inicialização do Gateway
  • preservar instalações determinísticas sem causar materialização de pacotes nativos para todas as plataformas
  • manter scripts de instalação desabilitados nos caminhos de aceitação e medição de pacotes
  • detectar árvores de dependências aninhadas e explosões de dependências opcionais nativas antes da publicação
Documentos relacionados: