Release and CI

릴리스 성능 점검

이 페이지는 2026년 5월 OpenClaw 성능, 패키지 크기, 의존성, shrinkwrap 정리의 근거를 담고 있습니다. 공개 블로그 글의 기술 부록입니다.

여기에는 두 가지 감사 결과가 결합되어 있습니다.

  • 릴리스 성능 점검: v2026.5.28부터 안정 버전 v2026.4.23까지의 GitHub Releases를 대상으로 OpenClaw Performance 워크플로, profile=smoke, mock-provider 레인을 사용했습니다. 대부분의 태그 행은 샘플 하나이며, v2026.5.27v2026.5.28 행은 최신 repeat-3 릴리스 브랜치 아티팩트를 사용합니다.
  • 이전 4월 맥락: v2026.4.1부터 v2026.5.2까지 게시된 clawgrit-reports mock-provider 기준선이며, 깨진 4월 말 릴리스를 공개 성능 기준선으로 간주하지 않기 위해서만 사용했습니다.
  • 설치 용량 점검: 임시 패키지에 새로 npm install --ignore-scripts를 실행하고, 크기는 du -sk node_modules로, 패키지 인스턴스 수는 node_modules 순회로 측정했습니다.
  • npm 패키지 크기 점검: 게시된 릴리스에 대해 npm pack openclaw@<version> --dry-run --json을 실행해 압축 tarball 크기, 압축 해제 크기, 파일 수를 기록했습니다.

스냅샷

성능 범위: 요청된 릴리스 77개, 아티팩트 기반 지점 74개, 사용할 수 없는 CI 실행 3개. 측정된 최신 안정 버전 지점: v2026.5.28.

설치 용량 타임라인

5.28에서 변경된 사항

v2026.5.27v2026.5.28 사이의 정리는 기능 자체를 제거한 것이 아니라 기본 설치 그래프를 줄였습니다.

주요 수치

4월 말의 깨진 행을 공개 성능 기준선으로 사용하지 마세요. v2026.4.23v2026.4.29는 유용한 회귀 증거이지만, 큰 14x식 델타는 대부분 나쁜 릴리스 라인에서 회복한 정도를 설명합니다.

블로그 서사에서는 규모를 보여 주는 기준으로 더 이른 4월 공개 기준선을 사용하세요.

지표 더 이른 4월 기준선 v2026.5.28 델타
콜드 에이전트 턴 9,819ms 1,908ms 80.6% 낮음, 5.1배 빠름
웜 에이전트 턴 7,458ms 1,870ms 74.9% 낮음, 4.0배 빠름
에이전트 피크 RSS 686.2MB 581.0MB 15.3% 낮음

더 이른 4월 기준선은 공개된 clawgrit-reports mock-provider 실행의 v2026.4.14입니다. 해당 실행은 반복 3을 사용했고, 진단 타임라인이 방출되지 않았기 때문에만 실패했습니다. 콜드, 웜, RSS 중앙값은 여전히 대략적인 규모로 유용합니다. 이를 릴리스 게이트 통계가 아니라 서사적 맥락으로 취급하세요.

5월 스윕 안에서 최신 릴리스 브랜치 행은 v2026.5.2에서 실질적으로 이동했습니다.

지표 v2026.5.2 v2026.5.28 델타
콜드 에이전트 턴 3,897ms 1,908ms 51.0% 낮음
웜 에이전트 턴 3,610ms 1,870ms 48.2% 낮음
에이전트 피크 RSS 613.7MB 581.0MB 5.3% 낮음

이전 안정 릴리스와 비교하면 다음과 같습니다.

지표 v2026.5.27 v2026.5.28 델타
콜드 에이전트 턴 2,231ms 1,908ms 14.5% 낮음
웜 에이전트 턴 2,226ms 1,870ms 16.0% 낮음
에이전트 피크 RSS 649.0MB 581.0MB 10.5% 낮음

설치 공간

지표 기준선 v2026.5.28 델타
2026.5.22 피크 대비 설치 크기 1,020.6MB 361.7MiB 64.6% 낮음
최신 릴리스 2026.5.27 대비 설치 크기 767.1MiB 361.7MiB 52.8% 낮음
월간 최고 2026.2.26 대비 의존성 645 300 53.5% 낮음
최신 릴리스 2026.5.27 대비 의존성 371 300 19.1% 낮음
2026.5.22 대비 중첩 openclaw/node_modules 911.8MB 259.7MiB 71.5% 낮음
2026.5.27 대비 중첩 openclaw/node_modules 656.1MiB 259.7MiB 60.4% 낮음

npm 패키지 크기

버전 압축된 tarball 압축 해제된 패키지 파일 참고
2026.1.30 12.8MB 33.5MB 4,607 초기 리브랜딩 패키지
2026.2.26 23.6MB 82.9MB 10,125 기능 증가
2026.3.31 43.3MB 182.6MB 21,037 패키지 크기 최고점
2026.4.29 22.9MB 74.6MB 9,309 패키지 가지치기가 보임
2026.5.12 23.4MB 80.1MB 12,035 주요 외부 Plugin 분리
2026.5.22 17.2MB 76.9MB 12,386 문서/자산이 패키지에서 제외됨
2026.5.27 17.8MB 79.0MB 12,509 이전 안정 패키지
2026.5.28 17.9MB 81.0MB 9,082 최신 안정 패키지

2026.5.12는 changelog에서 보이는 Plugin 추출 마일스톤입니다. Amazon Bedrock, Bedrock Mantle, Slack, OpenShell sandbox, Anthropic Vertex, Matrix, WhatsApp은 코어 의존성 경로 밖으로 이동했으므로, 해당 의존성 콘은 모든 코어 설치가 아니라 해당 Plugin과 함께 설치됩니다.

Kova 에이전트 턴 요약

4월 안정 라인에는 서로 다른 두 이야기가 있습니다. 4월 초는 느렸지만 식별 가능한 수준이었습니다. 4월 말은 회귀 절벽이 되었습니다. v2026.5.2는 mock-provider 레인이 처음으로 3-5초 범위로 내려가고 제공된 스윕에서 일관되게 통과하기 시작한 지점입니다.

이전 공개 맥락:

릴리스 Kova 콜드 턴 웜 턴 에이전트 피크 RSS
v2026.4.10 실패 11,031ms 7,962ms 679.0MB
v2026.4.12 실패 11,965ms 8,289ms 713.5MB
v2026.4.14 실패 9,819ms 7,458ms 686.2MB
v2026.4.20 실패 22,314ms 18,811ms 810.8MB
v2026.4.22 실패 9,630ms 7,459ms 743.0MB

제공된 스윕:

릴리스 Kova 콜드 턴 웜 턴 에이전트 피크 RSS
v2026.4.23 실패 47,847ms 8,010ms 1,082.7MB
v2026.4.24 실패 48,264ms 25,483ms 996.0MB
v2026.4.25 실패 81,080ms 59,172ms 1,113.9MB
v2026.4.26 실패 76,771ms 54,941ms 1,140.8MB
v2026.4.27 실패 60,902ms 33,699ms 1,156.0MB
v2026.4.29 실패 94,031ms 57,334ms 3,613.7MB
v2026.5.2 통과 3,897ms 3,610ms 613.7MB
v2026.5.7 통과 3,923ms 3,693ms 654.1MB
v2026.5.12 통과 7,248ms 6,629ms 834.8MB
v2026.5.18 통과 3,301ms 2,913ms 630.3MB
v2026.5.20 통과 3,413ms 2,952ms 643.2MB
v2026.5.22 통과 4,494ms 4,093ms 654.3MB
v2026.5.26 통과 2,626ms 2,282ms 660.4MB
v2026.5.27-beta.1 통과 2,575ms 2,217ms 635.3MB
v2026.5.27 통과 2,231ms 2,226ms 649.0MB
v2026.5.28 통과 1,908ms 1,870ms 581.0MB

소스 프로브

필수 프로브 진입점이 해당 소스 트리에 아직 없었기 때문에, 성공한 이전 ref 17개에 대해 소스 프로브는 건너뛰었습니다. 해당 ref의 에이전트 턴 지표는 여전히 존재합니다.

대표 소스 프로브 지점:

릴리스 기본 readyz p50 Plugin 50개 readyz p50 CLI 상태 p50 Plugin 최대 RSS
v2026.4.29 2,819ms 2,618ms 1,679ms 389.0MB
v2026.5.2 2,324ms 2,013ms 1,384ms 377.2MB
v2026.5.7 1,649ms 1,540ms 1,175ms 387.6MB
v2026.5.18 1,942ms 1,927ms 607ms 426.5MB
v2026.5.20 1,966ms 1,987ms 621ms 455.0MB
v2026.5.22 2,081ms 1,884ms 5,095ms 444.2MB
v2026.5.26 1,546ms 1,634ms 656ms 400.4MB
v2026.5.27-beta.1 1,462ms 1,548ms 548ms 394.0MB
v2026.5.27 1,491ms 1,571ms 553ms 401.5MB
v2026.5.28 1,457ms 1,474ms 623ms 386.1MB

v2026.5.22 CLI 상태 급증은 agent-turn 레인이 여전히 통과했더라도 이 표에서 확인할 수 있습니다. 대상 CLI 또는 Gateway 회귀를 조사할 때는 소스 프로브를 유지하세요.

설치 공간 감사

의존성 샘플은 월별 안정 릴리스 하나와 2026.5.22 shrinkwrap 도입 이벤트 및 최신 2026.5.28 릴리스를 사용합니다.

지점 설치된 의존성 신규 설치 OpenClaw 패키지 중첩된 openclaw/node_modules 루트 shrinkwrap Canvas 설치 동작
1월 2026.1.30 605 438.4MB 45.8MB 2.4MB 아니요 최상위 wrapper + darwin-arm64
2월 2026.2.26 645 575.7MB 110.1MB 3.5MB 아니요 최상위 wrapper + darwin-arm64
3월 2026.3.31 438 584.1MB 234.8MB 0MB 아니요 최상위 wrapper + darwin-arm64
4월 2026.4.29 392 335.0MB 97.4MB 0MB 아니요 설치된 항목 없음
2026.5.22 401 1,020.6MB 1,020.4MB 911.8MB 중첩: @napi-rs/canvas 패키지 12개 모두
5월 2026.5.26 371 767.5MB 767.4MB 656.4MB 중첩: @napi-rs/canvas 패키지 12개 모두
2026.5.27 371 767.1MiB 766.9MiB 656.1MiB 중첩: @napi-rs/canvas 패키지 12개 모두
최신 2026.5.28 300 361.7MiB 361.6MiB 259.7MiB 설치된 항목 없음

Shrinkwrap 경계

게시된 tarball 검사를 통해 경계를 확인할 수 있습니다.

버전 게시된 안정 버전? 루트 npm-shrinkwrap.json 참고
2026.5.20 아니요 shrinkwrap 이전 마지막 안정 릴리스
2026.5.21 아니요 n/a 안정 npm 릴리스 없음
2026.5.22 shrinkwrap 도입
2026.5.23 아니요 n/a 안정 npm 릴리스 없음
2026.5.24 아니요 n/a 안정 npm 릴리스 없음
2026.5.25 아니요 n/a 안정 npm 릴리스 없음
2026.5.26 중첩 의존성 트리가 여전히 존재
2026.5.27 중첩 의존성 트리가 여전히 존재
2026.5.28 중첩 의존성 트리가 훨씬 작아짐

중요한 차이는 다음과 같습니다. shrinkwrap 자체가 문제가 아닙니다. v2026.5.28도 여전히 루트 shrinkwrap을 제공합니다. 문제는 npm이 큰 중첩 OpenClaw 의존성 트리와 12개의 @napi-rs/canvas 플랫폼 패키지를 모두 구체화하게 만든 패키지 형태였습니다. 중첩 트리는 v2026.5.28에서 더 작아졌고, canvas 플랫폼 fanout은 더 이상 로컬 감사에 나타나지 않습니다.

shrinkwrap에 대한 쉬운 설명과 maintainer 수준 패키지 검사는 npm shrinkwrap을 참조하세요.

공급망 해석

의존성 수는 설치 크기 지표일 뿐만 아니라 운영 보안 지표이기도 합니다. 모든 패키지는 운영자가 신뢰해야 하는 maintainer, tarball, 전이 업데이트, 선택적 네이티브 바이너리, 설치 시 동작의 집합을 확장합니다.

정리 방향은 다음과 같습니다.

  • 무겁고 선택적인 기능은 기본 core 설치 밖에 둡니다
  • Plugin 패키지가 자체 런타임 의존성 그래프를 소유하게 합니다
  • Gateway 시작 중 런타임 패키지 관리자 복구를 피합니다
  • 모든 플랫폼 네이티브 패키지 구체화를 유발하지 않으면서 결정적 설치를 보존합니다
  • 패키지 승인 및 측정 경로에서 설치 스크립트를 비활성화된 상태로 유지합니다
  • 게시 전에 중첩 의존성 트리와 네이티브 선택적 의존성 폭증을 포착합니다

관련 문서:

Was this useful?
On this page

On this page