Release and CI
การตรวจสอบประสิทธิภาพก่อนเผยแพร่
หน้านี้รวบรวมหลักฐานเบื้องหลังการปรับปรุงประสิทธิภาพ ขนาดแพ็กเกจ การขึ้นต่อกัน และ shrinkwrap ของ OpenClaw ในเดือนพฤษภาคม 2026 โดยเป็นเอกสารประกอบเชิงเทคนิค สำหรับบล็อกโพสต์สาธารณะ
การตรวจสอบสองชุดถูกรวมไว้ที่นี่:
- การตรวจสอบประสิทธิภาพของรีลีส: GitHub Releases ตั้งแต่
v2026.5.28ย้อนกลับไปถึง รุ่นเสถียรv2026.4.23โดยใช้เวิร์กโฟลว์OpenClaw Performance,profile=smokeและเลนผู้ให้บริการจำลอง แถวของแท็กส่วนใหญ่ใช้ตัวอย่างหนึ่งครั้ง ส่วนแถวv2026.5.27และv2026.5.28ใช้อาร์ติแฟกต์ล่าสุดจากสาขารีลีสที่ทำซ้ำ 3 ครั้ง - บริบทก่อนหน้าในเดือนเมษายน: ค่าฐานของผู้ให้บริการจำลองจาก
clawgrit-reportsที่เผยแพร่แล้ว ตั้งแต่v2026.4.1ถึงv2026.5.2ใช้เพียงเพื่อหลีกเลี่ยงการนำ รีลีสปลายเดือนเมษายนที่เสียหายมาเป็นค่าฐานประสิทธิภาพสาธารณะ - การตรวจสอบพื้นที่ติดตั้ง: ติดตั้งใหม่ด้วย
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
รอบ cold เร็วขึ้น 5.1 เท่า
v2026.4.14: 9.8 วินาทีv2026.5.28: 1.9 วินาที
tarball ขนาด 17.9MB
แพ็กเกจรุ่นเสถียรล่าสุด ลดลงจากจุดสูงสุดของขนาดแพ็กเกจในเดือนมีนาคมที่ 43.3MB
การติดตั้งใหม่ขนาด 361.7MiB
ลดแผนผังการขึ้นต่อกันแบบซ้อนของ OpenClaw ลงอย่างมากจากจุดสูงสุดเมื่อเริ่มใช้ shrinkwrap
ใน 2026.5.22 แม้ในการตรวจสอบการติดตั้งภายในเครื่องยังคงเหลือแผนผังแบบซ้อน
ขนาด 259.7MiB ที่เล็กกว่า
แพ็กเกจที่ติดตั้ง 300 รายการ
วัดจากรากของชื่อ/เวอร์ชันแพ็กเกจที่ไม่ซ้ำกันในการติดตั้งใหม่โดยปิดใช้งาน สคริปต์ ซึ่งมีจำนวนรากน้อยกว่ารีลีสเสถียรก่อนหน้า 71 รายการ
สิ่งที่เปลี่ยนแปลงใน 5.28
การปรับปรุงระหว่าง v2026.5.27 และ v2026.5.28 ลดกราฟการติดตั้งเริ่มต้น
แทนที่จะนำความสามารถต่าง ๆ ออก
รากของชื่อ/เวอร์ชันแพ็กเกจที่ไม่ซ้ำกันลดลงจาก 371 เป็น 300 อินสแตนซ์แพ็กเกจ ลดลงจาก 372 เป็น 301
openclaw/node_modules แบบซ้อนลดลงจาก 656.1MiB เป็น 259.7MiB ใน
การตรวจสอบการติดตั้งภายในเครื่องครั้งเดียวกัน
กลุ่มแพ็กเกจเนทีฟ @napi-rs/canvas สำหรับทุกแพลตฟอร์มไม่ถูกติดตั้ง
ในการติดตั้งเริ่มต้นอีกต่อไป
แพ็กเกจเริ่มต้นที่น้อยลงหมายถึง tarball ผู้ดูแล ไบนารีเนทีฟ พฤติกรรมขณะติดตั้ง และเส้นทางอัปเดตแบบส่งต่อที่ต้องเชื่อถือโดยปริยายมีจำนวนน้อยลง
ตัวเลขสำคัญ
อย่าใช้แถวปลายเดือนเมษายนที่เสียหายเป็นค่าฐานประสิทธิภาพสาธารณะ
v2026.4.23 และ v2026.4.29 มีประโยชน์ในฐานะหลักฐานการถดถอย แต่ค่าความแตกต่าง
ระดับ 14x ส่วนใหญ่อธิบายการฟื้นตัวจากชุดรีลีสที่มีปัญหา
สำหรับเนื้อหาในบล็อก ให้ใช้ค่าฐานที่เผยแพร่ก่อนหน้านี้ในเดือนเมษายนเป็นมาตราส่วน
ค่าฐานคือ v2026.4.14 จากการรันผู้ให้บริการจำลองใน clawgrit-reports
ที่เผยแพร่แล้ว (ทำซ้ำ 3 ครั้ง การรันนั้นล้มเหลวเพียงเพราะไม่ได้ส่งออกไทม์ไลน์
การวินิจฉัย ดังนั้นค่ามัธยฐานของ cold, warm และ RSS ยังคงมีประโยชน์เป็นมาตราส่วน
โดยประมาณ) ให้ถือว่านี่เป็นบริบทสำหรับการเล่าเรื่อง ไม่ใช่สถิติสำหรับเกณฑ์ผ่านรีลีส
| เมตริก | ค่าฐานต้นเดือนเมษายน | v2026.5.28 |
ความแตกต่าง |
|---|---|---|---|
| รอบ cold ของเอเจนต์ | 9,819ms | 1,908ms | ลดลง 80.6%, เร็วขึ้น 5.1 เท่า |
| รอบ warm ของเอเจนต์ | 7,458ms | 1,870ms | ลดลง 74.9%, เร็วขึ้น 4.0 เท่า |
| RSS สูงสุดของเอเจนต์ | 686.2MB | 581.0MB | ลดลง 15.3% |
ภายในการตรวจสอบเดือนพฤษภาคม แถวล่าสุดจากสาขารีลีสเปลี่ยนแปลงอย่างมีนัยสำคัญเมื่อเทียบกับ
v2026.5.2:
| เมตริก | v2026.5.2 |
v2026.5.28 |
ความแตกต่าง |
|---|---|---|---|
| รอบ cold ของเอเจนต์ | 3,897ms | 1,908ms | ลดลง 51.0% |
| รอบ warm ของเอเจนต์ | 3,610ms | 1,870ms | ลดลง 48.2% |
| RSS สูงสุดของเอเจนต์ | 613.7MB | 581.0MB | ลดลง 5.3% |
เมื่อเทียบกับรีลีสเสถียรก่อนหน้า:
| เมตริก | v2026.5.27 |
v2026.5.28 |
ความแตกต่าง |
|---|---|---|---|
| รอบ cold ของเอเจนต์ | 2,231ms | 1,908ms | ลดลง 14.5% |
| รอบ warm ของเอเจนต์ | 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% |
openclaw/node_modules แบบซ้อนจาก 2026.5.22 |
911.8MB | 259.7MiB | ลดลง 71.5% |
openclaw/node_modules แบบซ้อนจาก 2026.5.27 |
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 คือหลักหมายของการแยก Plugin ที่เห็นได้ชัดในบันทึกการเปลี่ยนแปลง:
Amazon Bedrock, Bedrock Mantle, Slack, แซนด์บ็อกซ์ OpenShell, Anthropic Vertex,
Matrix และ WhatsApp ถูกย้ายออกจากเส้นทางการขึ้นต่อกันของแกนหลัก เพื่อให้กลุ่มการขึ้นต่อกัน
ของแต่ละรายการติดตั้งพร้อมกับ Plugin เหล่านั้น แทนที่จะติดตั้งพร้อมกับแกนหลักทุกครั้ง
สรุปรอบการทำงานของเอเจนต์ Kova
ชุดรุ่นเสถียรในเดือนเมษายนประกอบด้วยสองเรื่องราวที่แตกต่างกัน ช่วงต้นเดือนเมษายนทำงานช้า
แต่ยังอยู่ในรูปแบบที่พอคาดหมายได้ ช่วงปลายเดือนเมษายนกลายเป็นหน้าผาการถดถอย v2026.5.2 คือจุดที่
เลนผู้ให้บริการจำลองลดลงเข้าสู่ช่วง 3-5 วินาทีเป็นครั้งแรก และเริ่มผ่านอย่างสม่ำเสมอ
ในการตรวจสอบที่ให้มา
บริบทก่อนหน้าที่เผยแพร่แล้ว:
| รีลีส | Kova | รอบ cold | รอบ warm | 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 | รอบ cold | รอบ warm | 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 |
การตรวจวัดจากซอร์ส
มีการข้ามการตรวจวัดจากซอร์สสำหรับการอ้างอิงเก่าที่สำเร็จ 17 รายการ เนื่องจากแผนผังซอร์สเหล่านั้น ยังไม่มีจุดเริ่มต้นสำหรับการตรวจวัดที่จำเป็น แต่เมตริกรอบการทำงานของเอเจนต์ยังคง มีอยู่สำหรับการอ้างอิงเหล่านั้น
จุดตรวจวัดจากซอร์สที่เป็นตัวแทน:
| รีลีส | readyz เริ่มต้น p50 |
readyz สำหรับ 50 Plugin p50 |
สถานะ CLI p50 | RSS สูงสุดของ Plugin |
|---|---|---|---|---|
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 |
การพุ่งสูงของสถานะ CLI ใน v2026.5.22 มองเห็นได้ในตารางนี้ แม้ว่า
เลนรอบการทำงานของเอเจนต์ยังคงผ่านก็ตาม ให้เก็บการตรวจวัดจากซอร์สไว้เมื่อสืบสวน
การถดถอยเฉพาะจุดของ CLI หรือ Gateway
การตรวจสอบพื้นที่ติดตั้ง
ตัวอย่างการขึ้นต่อกันใช้รีลีสเสถียรหนึ่งรุ่นต่อเดือน ร่วมกับเหตุการณ์เริ่มใช้ shrinkwrap
ใน 2026.5.22 และรีลีสล่าสุด 2026.5.28
| จุด | การพึ่งพาที่ติดตั้ง | การติดตั้งใหม่ | แพ็กเกจ OpenClaw | openclaw/node_modules ที่ซ้อนอยู่ |
Shrinkwrap ระดับราก | พฤติกรรมการติดตั้ง Canvas |
|---|---|---|---|---|---|---|
ม.ค. 2026.1.30 |
605 | 438.4MB | 45.8MB | 2.4MB | ไม่ใช่ | ตัวห่อหุ้มระดับบนสุด + darwin-arm64 |
ก.พ. 2026.2.26 |
645 | 575.7MB | 110.1MB | 3.5MB | ไม่ใช่ | ตัวห่อหุ้มระดับบนสุด + darwin-arm64 |
มี.ค. 2026.3.31 |
438 | 584.1MB | 234.8MB | 0MB | ไม่ใช่ | ตัวห่อหุ้มระดับบนสุด + darwin-arm64 |
เม.ย. 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 รายการ |
พ.ค. 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
2026.5.20 เผยแพร่โดยไม่มี Shrinkwrap ระดับรากและไม่มีแผนผังการพึ่งพา OpenClaw
แบบซ้อนขนาดใหญ่ 2026.5.22 เพิ่ม Shrinkwrap ระดับรากและติดตั้งข้อมูล 911.8MB
ภายใต้ openclaw/node_modules ที่ซ้อนอยู่ 2026.5.28 ยังคงใช้ Shrinkwrap และยังคง
ติดตั้งข้อมูล 259.7MiB ภายใต้ openclaw/node_modules ที่ซ้อนอยู่ แต่ไม่ติดตั้ง
แพ็กเกจ @napi-rs/canvas ใด ๆ ในการตรวจสอบการติดตั้งใหม่ภายในเครื่องอีกต่อไป
การตรวจสอบ Tarball ที่เผยแพร่ยืนยันขอบเขตดังกล่าว:
| เวอร์ชัน | เผยแพร่เป็นรุ่นเสถียรหรือไม่ | npm-shrinkwrap.json ระดับราก |
หมายเหตุ |
|---|---|---|---|
2026.5.20 |
ใช่ | ไม่ใช่ | รุ่นเสถียรล่าสุดก่อนใช้ Shrinkwrap |
2026.5.21 |
ไม่ใช่ | ไม่มีข้อมูล | ไม่มีการเผยแพร่ npm รุ่นเสถียร |
2026.5.22 |
ใช่ | ใช่ | เริ่มใช้ Shrinkwrap |
2026.5.23 |
ไม่ใช่ | ไม่มีข้อมูล | ไม่มีการเผยแพร่ npm รุ่นเสถียร |
2026.5.24 |
ไม่ใช่ | ไม่มีข้อมูล | ไม่มีการเผยแพร่ npm รุ่นเสถียร |
2026.5.25 |
ไม่ใช่ | ไม่มีข้อมูล | ไม่มีการเผยแพร่ npm รุ่นเสถียร |
2026.5.26 |
ใช่ | ใช่ | แผนผังการพึ่งพาแบบซ้อนยังคงอยู่ |
2026.5.27 |
ใช่ | ใช่ | แผนผังการพึ่งพาแบบซ้อนยังคงอยู่ |
2026.5.28 |
ใช่ | ใช่ | แผนผังการพึ่งพาแบบซ้อนมีขนาดเล็กลงมาก |
ความแตกต่างที่สำคัญคือ: ตัว Shrinkwrap เองไม่ใช่ปัญหา
v2026.5.28 ยังคงเผยแพร่พร้อม Shrinkwrap ระดับราก ปัญหาอยู่ที่รูปแบบของแพ็กเกจ
ซึ่งทำให้ npm สร้างแผนผังการพึ่งพา OpenClaw แบบซ้อนขนาดใหญ่และแพ็กเกจเฉพาะ
แพลตฟอร์ม @napi-rs/canvas ทั้ง 12 รายการขึ้นมาจริง แผนผังแบบซ้อนมีขนาดเล็กลงใน
v2026.5.28 และการกระจายแพ็กเกจ Canvas ไปยังทุกแพลตฟอร์มไม่ปรากฏในการตรวจสอบ
ภายในเครื่องอีกต่อไป
สำหรับคำอธิบาย Shrinkwrap ที่เข้าใจง่ายและการตรวจสอบแพ็กเกจระดับผู้ดูแล โปรดดู Shrinkwrap ของ npm
การตีความด้านห่วงโซ่อุปทาน
จำนวนการพึ่งพาเป็นตัวชี้วัดความปลอดภัยในการปฏิบัติงาน ไม่ใช่เพียงตัวชี้วัด ขนาดการติดตั้ง แต่ละแพ็กเกจเพิ่มจำนวนผู้ดูแล, Tarball, การอัปเดตแบบสืบทอด, ไบนารีเนทีฟที่เป็นทางเลือก และพฤติกรรมระหว่างการติดตั้งที่ผู้ปฏิบัติงาน ต้องให้ความไว้วางใจ
แนวทางการปรับปรุงคือ:
- แยกความสามารถที่มีขนาดใหญ่และเป็นทางเลือกออกจากการติดตั้งแกนหลักเริ่มต้น
- ให้แพ็กเกจ Plugin เป็นเจ้าของกราฟการพึ่งพาขณะทำงานของตนเอง
- หลีกเลี่ยงการซ่อมแซมด้วยตัวจัดการแพ็กเกจขณะทำงานระหว่างการเริ่มต้น Gateway
- รักษาการติดตั้งให้กำหนดผลลัพธ์ได้แน่นอนโดยไม่ทำให้แพ็กเกจเนทีฟสำหรับทุกแพลตฟอร์ม ถูกสร้างขึ้นจริง
- ปิดใช้งานสคริปต์การติดตั้งในเส้นทางการยอมรับและการวัดผลแพ็กเกจ
- ตรวจจับแผนผังการพึ่งพาแบบซ้อนและการเพิ่มขึ้นอย่างมากของการพึ่งพาเนทีฟที่เป็นทางเลือกก่อน เผยแพร่
เอกสารที่เกี่ยวข้อง: