Saltar al contenido principal
Esta página recopila la evidencia detrás de la limpieza de rendimiento, tamaño de paquete, dependencias y shrinkwrap de OpenClaw de mayo de 2026. Es el complemento técnico de la publicación pública del blog. Aquí se combinan dos auditorías:
  • Barrido de rendimiento de la versión: GitHub Releases desde v2026.5.28 hacia atrás hasta la versión estable v2026.4.23, usando el flujo de trabajo OpenClaw Performance, profile=smoke, carril de proveedor simulado. La mayoría de las filas de etiquetas son una muestra; las filas v2026.5.27 y v2026.5.28 usan los artefactos más recientes de rama de versión con repetición 3.
  • Contexto anterior de abril: líneas base publicadas de proveedor simulado de clawgrit-reports desde v2026.4.1 hasta v2026.5.2, usadas solo para evitar tratar las versiones rotas de finales de abril como la línea base pública de rendimiento.
  • Barrido de huella de instalación: instalaciones nuevas con npm install --ignore-scripts en paquetes temporales, con du -sk node_modules para el tamaño y un recorrido de node_modules para los conteos de instancias de paquetes.
  • Barrido de tamaño de paquete npm: npm pack openclaw@<version> --dry-run --json para versiones publicadas, registrando el tamaño del tarball comprimido, el tamaño descomprimido y el conteo de archivos.
El barrido principal de rendimiento usa una muestra smoke por etiqueta, excepto las filas v2026.5.27 y v2026.5.28, que usan los artefactos más recientes de rama de versión con repetición 3. El contexto anterior de abril usa medianas de repetición 3 publicadas de clawgrit-reports. Trata las cifras como evidencia de tendencia y señal para buscar regresiones, no como estadísticas de puerta de lanzamiento.

Instantánea

Cobertura de rendimiento: 77 versiones solicitadas, 74 puntos respaldados por artefactos, y 3 ejecuciones de CI no disponibles. Último punto estable medido: v2026.5.28.

Turno estable del agente

Turno en frío 5,1 veces más rápido
  • v2026.4.14: 9,8 s
  • v2026.5.28: 1,9 s

Paquete publicado

Tarball de 17,9 MBÚltimo paquete estable, por debajo del pico de tamaño de paquete de marzo de 43,3 MB.

Última instalación estable

Instalación nueva de 361,7 MiBv2026.5.28 reduce drásticamente el árbol de dependencias anidado de OpenClaw, pero aún queda un árbol anidado más pequeño de 259,7 MiB en la auditoría de instalación local.

Grafo de dependencias

300 paquetes instaladosÚltima versión estable, medida como raíces únicas de nombre/versión de paquete en una instalación nueva con scripts deshabilitados.

Cronología de la huella de instalación

Máximo mensual

645 dependencias2026.2.26 fue el máximo mensual de conteo de dependencias en esta muestra.

Shrinkwrap introducido

Instalación de 1020,6 MB2026.5.22 añadió shrinkwrap raíz y expuso un problema de forma del paquete: 911,8 MB terminaron bajo openclaw/node_modules anidado.

Última estable

Instalación de 361,7 MiB2026.5.28 reduce el tamaño de instalación nueva en un 52,8 % frente a 2026.5.27, pero todavía instala un árbol anidado de OpenClaw de 259,7 MiB.

Grafo de dependencias

300 raíces de paquetes2026.5.28 instala 71 raíces únicas de nombre/versión de paquete menos que 2026.5.27.
Shrinkwrap no era el problema por sí solo. La mala forma del paquete sí lo era. v2026.5.28 todavía publica shrinkwrap, pero el árbol de dependencias anidado es mucho más pequeño y el despliegue de canvas para todas las plataformas desapareció en la auditoría local.

Qué cambió en 5.28

La limpieza entre v2026.5.27 y v2026.5.28 redujo el grafo de instalación predeterminada en lugar de eliminar las capacidades en sí.

Root default graph

Las raíces únicas de nombre/versión de paquete bajaron de 371 a 300. Las instancias de paquetes bajaron de 372 a 301.

Nested tree

El openclaw/node_modules anidado bajó de 656.1MiB a 259.7MiB en la misma auditoría de instalación local.

Native optional cones

El cono de paquetes nativos @napi-rs/canvas para todas las plataformas dejó de llegar a la instalación predeterminada.

Supply-chain surface

Menos paquetes predeterminados significa menos tarballs, mantenedores, binarios nativos, comportamientos durante la instalación y rutas de actualización transitivas en las que confiar de forma predeterminada.

Cifras principales

No uses las filas rotas de finales de abril como referencias públicas de rendimiento. v2026.4.23 y v2026.4.29 son evidencia útil de regresión, pero los grandes deltas de estilo 14x describen principalmente la recuperación de una línea de versiones defectuosa. Para la narrativa del blog, usa la referencia publicada de principios de abril como escala:
MétricaReferencia de principios de abrilv2026.5.28Delta
Turno frío de agente9,819ms1,908ms80.6% menos, 5.1x más rápido
Turno cálido de agente7,458ms1,870ms74.9% menos, 4.0x más rápido
RSS pico del agente686.2MB581.0MB15.3% menos
La referencia de principios de abril es v2026.4.14 de la ejecución publicada de proveedor simulado de clawgrit-reports. Esa ejecución usó repetición 3 y falló solo porque no se emitió la línea temporal de diagnóstico; las medianas de frío, cálido y RSS siguen siendo útiles como escala aproximada. Trátalo como contexto narrativo, no como una estadística de puerta de lanzamiento. Dentro del barrido de mayo, la fila más reciente de la rama de lanzamiento se movió de forma material desde v2026.5.2:
Métricav2026.5.2v2026.5.28Delta
Turno frío de agente3,897ms1,908ms51.0% menos
Turno cálido de agente3,610ms1,870ms48.2% menos
RSS pico del agente613.7MB581.0MB5.3% menos
Comparado con la versión estable anterior:
Métricav2026.5.27v2026.5.28Delta
Turno frío de agente2,231ms1,908ms14.5% menos
Turno cálido de agente2,226ms1,870ms16.0% menos
RSS pico del agente649.0MB581.0MB10.5% menos

Huella de instalación

MétricaReferenciav2026.5.28Delta
Tamaño de instalación desde el pico de 2026.5.221,020.6MB361.7MiB64.6% menos
Tamaño de instalación desde la versión más reciente 2026.5.27767.1MiB361.7MiB52.8% menos
Dependencias desde el máximo mensual 2026.2.2664530053.5% menos
Dependencias desde la versión más reciente 2026.5.2737130019.1% menos
openclaw/node_modules anidado desde 2026.5.22911.8MB259.7MiB71.5% menos
openclaw/node_modules anidado desde 2026.5.27656.1MiB259.7MiB60.4% menos

Tamaño del paquete npm

VersiónTarball comprimidoPaquete desempaquetadoArchivosNotas
2026.1.3012.8MB33.5MB4,607paquete renombrado temprano
2026.2.2623.6MB82.9MB10,125crecimiento de funciones
2026.3.3143.3MB182.6MB21,037punto máximo de tamaño del paquete
2026.4.2922.9MB74.6MB9,309poda del paquete visible
2026.5.1223.4MB80.1MB12,035gran separación de plugins externos
2026.5.2217.2MB76.9MB12,386docs/assets excluidos del paquete
2026.5.2717.8MB79.0MB12,509paquete estable anterior
2026.5.2817.9MB81.0MB9,082paquete estable más reciente
2026.5.12 es el hito visible de extracción de plugins en el registro de cambios: Amazon Bedrock, Bedrock Mantle, Slack, OpenShell sandbox, Anthropic Vertex, Matrix y WhatsApp salieron de la ruta de dependencias del núcleo para que sus conos de dependencias se instalen con esos plugins en lugar de con cada instalación del núcleo.

Resumen de turnos del agente Kova

La línea estable de abril contiene dos historias diferentes. Principios de abril era lenta pero reconocible. Finales de abril se convirtió en un precipicio de regresión. v2026.5.2 es donde el carril de proveedor simulado baja por primera vez al rango de 3-5 s y empieza a pasar de forma constante en el barrido suministrado. Contexto publicado anterior:
LanzamientoKovaTurno fríoTurno cálidoRSS pico del agente
v2026.4.10FALLA11,031ms7,962ms679.0MB
v2026.4.12FALLA11,965ms8,289ms713.5MB
v2026.4.14FALLA9,819ms7,458ms686.2MB
v2026.4.20FALLA22,314ms18,811ms810.8MB
v2026.4.22FALLA9,630ms7,459ms743.0MB
Barrido suministrado:
LanzamientoKovaTurno fríoTurno cálidoRSS pico del agente
v2026.4.23FALLA47,847ms8,010ms1,082.7MB
v2026.4.24FALLA48,264ms25,483ms996.0MB
v2026.4.25FALLA81,080ms59,172ms1,113.9MB
v2026.4.26FALLA76,771ms54,941ms1,140.8MB
v2026.4.27FALLA60,902ms33,699ms1,156.0MB
v2026.4.29FALLA94,031ms57,334ms3,613.7MB
v2026.5.2APROBADO3,897ms3,610ms613.7MB
v2026.5.7APROBADO3,923ms3,693ms654.1MB
v2026.5.12APROBADO7,248ms6,629ms834.8MB
v2026.5.18APROBADO3,301ms2,913ms630.3MB
v2026.5.20APROBADO3,413ms2,952ms643.2MB
v2026.5.22APROBADO4,494ms4,093ms654.3MB
v2026.5.26APROBADO2,626ms2,282ms660.4MB
v2026.5.27-beta.1APROBADO2,575ms2,217ms635.3MB
v2026.5.27APROBADO2,231ms2,226ms649.0MB
v2026.5.28APROBADO1,908ms1,870ms581.0MB

Sondeos de fuente

Los sondeos de fuente se omitieron para 17 refs antiguas exitosas porque esos árboles de fuente aún no tenían los puntos de entrada de sondeo requeridos. Las métricas de turnos de agente siguen existiendo para esas refs. Puntos representativos de sondeo de fuente:
Lanzamientoreadyz p50 predeterminadoreadyz p50 con 50 pluginsSalud de CLI p50RSS máximo del 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
El pico de salud de la CLI de v2026.5.22 es visible en esta tabla aunque el carril agent-turn todavía pasó. Conserva las sondas de origen al investigar regresiones dirigidas de CLI o Gateway.

Auditoría de huella de instalación

Las muestras de dependencias usan una versión estable por mes, además del evento de introducción de shrinkwrap de 2026.5.22 y la versión más reciente 2026.5.28.
PuntoDependencias instaladasInstalación nuevaPaquete OpenClawopenclaw/node_modules anidadoShrinkwrap raízComportamiento de instalación de Canvas
Ene 2026.1.30605438.4MB45.8MB2.4MBnowrapper de nivel superior + darwin-arm64
Feb 2026.2.26645575.7MB110.1MB3.5MBnowrapper de nivel superior + darwin-arm64
Mar 2026.3.31438584.1MB234.8MB0MBnowrapper de nivel superior + darwin-arm64
Abr 2026.4.29392335.0MB97.4MB0MBnoninguno instalado
2026.5.224011,020.6MB1,020.4MB911.8MBanidado: los 12 paquetes @napi-rs/canvas
May 2026.5.26371767.5MB767.4MB656.4MBanidado: los 12 paquetes @napi-rs/canvas
2026.5.27371767.1MiB766.9MiB656.1MiBanidado: los 12 paquetes @napi-rs/canvas
Última 2026.5.28300361.7MiB361.6MiB259.7MiBninguno instalado

Límite de shrinkwrap

Before shrinkwrap

2026.5.20 no tiene shrinkwrap raíz ni un árbol grande de dependencias anidadas de OpenClaw.

Introduced

2026.5.22 añade shrinkwrap raíz e instala 911.8MB bajo el openclaw/node_modules anidado.

Latest stable

2026.5.28 conserva shrinkwrap y aún instala 259.7MiB bajo el openclaw/node_modules anidado.

Canvas fanout fixed

2026.5.28 ya no instala ningún paquete @napi-rs/canvas en la auditoría local de instalación nueva.
La inspección del tarball publicado verifica el límite:
Versión¿Estable publicada?npm-shrinkwrap.json raízNotas
2026.5.20noúltima versión estable antes de shrinkwrap
2026.5.21non/dsin versión npm estable
2026.5.22shrinkwrap introducido
2026.5.23non/dsin versión npm estable
2026.5.24non/dsin versión npm estable
2026.5.25non/dsin versión npm estable
2026.5.26el árbol de dependencias anidado persiste
2026.5.27el árbol de dependencias anidado persiste
2026.5.28árbol de dependencias anidado mucho menor
La distinción importante: shrinkwrap en sí no es el problema. v2026.5.28 todavía distribuye shrinkwrap raíz. El problema era la forma del paquete, que hacía que npm materializara un gran árbol de dependencias anidadas de OpenClaw y los 12 paquetes de plataforma @napi-rs/canvas. El árbol anidado es más pequeño en v2026.5.28, y el despliegue de plataformas de canvas ya no aparece en la auditoría local. Para una explicación en lenguaje claro de shrinkwrap y las comprobaciones de paquetes a nivel de mantenedor, consulta npm shrinkwrap.

Interpretación de cadena de suministro

El recuento de dependencias es una métrica de seguridad operativa, no solo una métrica de tamaño de instalación. Cada paquete amplía el conjunto de mantenedores, tarballs, actualizaciones transitivas, binarios nativos opcionales y comportamientos en tiempo de instalación en los que los operadores deben confiar. La dirección de limpieza es:
  • mantener las capacidades pesadas y opcionales fuera de la instalación predeterminada del núcleo
  • hacer que los paquetes de plugins sean dueños de su grafo de dependencias de runtime
  • evitar reparaciones del gestor de paquetes en runtime durante el arranque de Gateway
  • preservar instalaciones deterministas sin provocar la materialización de paquetes nativos para todas las plataformas
  • mantener los scripts de instalación deshabilitados en las rutas de aceptación y medición de paquetes
  • detectar árboles de dependencias anidados y explosiones de dependencias opcionales nativas antes de publicar
Documentos relacionados: