Maintenance
ช่องทางการเผยแพร่
OpenClaw มีช่องทางการอัปเดตสี่ช่องทาง:
- เสถียร: npm dist-tag
latestแนะนำสำหรับผู้ใช้ส่วนใหญ่ - เสถียรแบบขยาย: npm dist-tag
extended-stableช่องทางแพ็กเกจใหม่แยกต่างหากสำหรับเดือนที่ยังอยู่ในช่วงการรองรับย้อนหลัง ช่องทางนี้รองรับเฉพาะแพ็กเกจ และติดตั้งได้เฉพาะในโหมดเบื้องหน้า การเลือกที่บันทึกไว้จะได้รับเพียงคำแนะนำการอัปเดตแบบอ่านอย่างเดียวเมื่อเปิดใช้update.checkOnStartแต่จะไม่ใช้การอัปเดตโดยอัตโนมัติ - เบตา: npm dist-tag
betaจะย้อนกลับไปใช้latestเมื่อไม่มีbetaหรือbetaเก่ากว่ารุ่นเสถียรปัจจุบัน - รุ่นพัฒนา: จุดล่าสุดที่เคลื่อนที่ไปเรื่อย ๆ ของ
main(git) ใช้ npm dist-tagdevเมื่อมีการเผยแพร่mainมีไว้สำหรับการทดลองและการพัฒนาอย่างต่อเนื่อง โดยอาจมีฟีเจอร์ที่ยังไม่สมบูรณ์หรือการเปลี่ยนแปลงที่ทำให้เข้ากันไม่ได้ อย่าใช้กับ Gateway ในระบบใช้งานจริง
โดยทั่วไป บิลด์เสถียรจะเผยแพร่ไปยัง เบตา ก่อน ผ่านการตรวจสอบที่นั่น แล้วจึงเลื่อนขั้นเป็น latest โดยไม่เพิ่มหมายเลขเวอร์ชัน ผู้ดูแลสามารถเผยแพร่โดยตรงไปยัง latest ได้เช่นกัน Dist-tag เป็นแหล่งข้อมูลจริงสำหรับการติดตั้งผ่าน npm
การสลับช่องทาง
openclaw update --channel stableopenclaw update --channel extended-stableopenclaw update --channel betaopenclaw update --channel dev--channel จะบันทึกตัวเลือกไว้ใน update.channel ของการกำหนดค่า และควบคุมเส้นทางการติดตั้งทั้งสองแบบ:
| ช่องทาง | การติดตั้งผ่าน npm/แพ็กเกจ | การติดตั้งผ่าน git |
|---|---|---|
stable |
dist-tag latest |
แท็ก git เสถียรล่าสุด (ไม่รวม -alpha.N, -beta.N, -rc.N, -dev.N, -next.N, -preview.N, -canary.N, -nightly.N และส่วนต่อท้ายรุ่นก่อนเผยแพร่ที่มีชื่ออื่น ๆ) |
extended-stable |
แปลงตัวเลือก npm สาธารณะ extended-stable ตรวจสอบแพ็กเกจที่เลือกอย่างเจาะจง และติดตั้งเวอร์ชันนั้นโดยตรง หากล้มเหลวจะหยุดอย่างปลอดภัยโดยไม่ย้อนกลับไปใช้ latest, beta หรือ dev |
ไม่รองรับ: OpenClaw จะคง checkout ไว้โดยไม่เปลี่ยนแปลงและขอให้คุณใช้การติดตั้งแบบแพ็กเกจ |
beta |
dist-tag beta โดยย้อนกลับไปใช้ latest เมื่อไม่มี beta หรือ beta เก่ากว่า |
แท็ก git เบตาล่าสุด โดยย้อนกลับไปใช้แท็ก git เสถียรล่าสุดเมื่อไม่มีเบตาหรือเบตาเก่ากว่า |
dev |
dist-tag dev (พบไม่บ่อย ผู้ใช้รุ่นพัฒนาส่วนใหญ่ใช้การติดตั้งผ่าน git) |
ดึงข้อมูล ทำ rebase ของ checkout บนสาขา main ต้นทาง บิลด์ และติดตั้ง CLI ส่วนกลางอีกครั้ง |
สำหรับการติดตั้ง dev ผ่าน git ตำแหน่ง checkout เริ่มต้นคือ ~/openclaw (หรือ $OPENCLAW_HOME/openclaw เมื่อตั้งค่า OPENCLAW_HOME) กำหนดตำแหน่งอื่นได้ด้วย OPENCLAW_GIT_DIR
การระบุเวอร์ชันหรือแท็กแบบครั้งเดียว
ใช้ --tag เพื่อระบุ dist-tag เวอร์ชัน หรือข้อกำหนดแพ็กเกจเฉพาะสำหรับการอัปเดตครั้งเดียว โดยไม่ เปลี่ยนช่องทางที่บันทึกไว้:
# ติดตั้งเวอร์ชันเฉพาะopenclaw update --tag 2026.4.1-beta.1 # ติดตั้งจาก dist-tag เบตา (ครั้งเดียว ไม่บันทึก)openclaw update --tag beta # สลับไปยัง checkout ของ GitHub main ที่เคลื่อนที่ต่อเนื่อง (บันทึกถาวร)openclaw update --channel dev # ติดตั้งข้อกำหนดแพ็กเกจ npm เฉพาะopenclaw update --tag openclaw@2026.4.1-beta.1 # ติดตั้งจาก GitHub main ครั้งเดียวโดยไม่บันทึกช่องทางopenclaw update --tag mainหมายเหตุ:
--tagใช้ได้กับ การติดตั้งแบบแพ็กเกจ (npm) เท่านั้น การติดตั้งผ่าน git จะไม่สนใจค่านี้- แท็กจะไม่ถูกบันทึก การรัน
openclaw updateครั้งถัดไปจะใช้ช่องทางที่กำหนดค่าไว้ --tag mainจะแมปไปยังข้อกำหนดที่เข้ากันได้กับ npm คือgithub:openclaw/openclaw#mainสำหรับการรันครั้งนั้น หากต้องการติดตั้งจากmainที่เคลื่อนที่ต่อเนื่องแบบถาวร ให้ใช้openclaw update --channel dev(การติดตั้งแบบแพ็กเกจจะสลับเป็น checkout ของ git) หรือติดตั้งใหม่ด้วยวิธี git ของตัวติดตั้ง:curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git --version mainเส้นทางการติดตั้งผ่าน npm จะปฏิเสธเป้าหมายจากแหล่ง GitHub/git โดยตรง และแนะนำให้ใช้วิธี git แทน- การป้องกันการดาวน์เกรด: หากเวอร์ชันเป้าหมายเก่ากว่าเวอร์ชันปัจจุบัน OpenClaw จะขอการยืนยัน (ข้ามได้ด้วย
--yes) - ช่องทางเสถียรแบบขยายจะใช้เป้าหมายแพ็กเกจที่ระบุแน่นอนและผ่านการตรวจสอบเสมอ ช่องทางนี้ไม่ใช่นามแฝงแบบครั้งเดียวของ
--tag extended-stableและไม่สามารถใช้--tagร่วมกับช่องทางเสถียรแบบขยายที่มีผลอยู่ได้ --channel betaแตกต่างจาก--tag beta: ขั้นตอนของช่องทางสามารถย้อนกลับไปใช้รุ่นเสถียร/latestเมื่อไม่มีเบตาหรือเบตาเก่ากว่า ส่วน--tag betaจะระบุ dist-tagbetaโดยตรงสำหรับการรันครั้งนั้นเสมอ
การทดลองรัน
ดูตัวอย่างสิ่งที่ openclaw update จะดำเนินการโดยไม่ทำการเปลี่ยนแปลง:
openclaw update --dry-runopenclaw update --channel beta --dry-runopenclaw update --tag 2026.4.1-beta.1 --dry-runopenclaw update --dry-run --jsonการทดลองรันจะรายงานช่องทางที่มีผล เวอร์ชันเป้าหมาย การดำเนินการที่วางแผนไว้ และระบุว่าจำเป็นต้องยืนยันการดาวน์เกรดหรือไม่
Plugin และช่องทาง
การสลับช่องทางด้วย openclaw update จะซิงค์แหล่งที่มาของ Plugin ด้วย:
devจะสลับ Plugin ที่ติดตั้งไว้และมีเวอร์ชันรวมมาให้กลับไปใช้แหล่งที่มาแบบรวม (checkout ของ git)stableและbetaจะคืนค่าแพ็กเกจ Plugin ที่ติดตั้งผ่าน npm หรือ ClawHubextended-stableจะแปลง Plugin npm อย่างเป็นทางการที่มีสิทธิ์ ซึ่งระบุเจตนาแบบเปล่า/ค่าเริ่มต้นหรือlatestให้เป็นเวอร์ชันหลักที่ติดตั้งไว้อย่างเจาะจง โดยจะไม่ค้นหาแท็ก@extended-stableของ Plugin ขณะรัน- Plugin ที่ติดตั้งผ่าน npm จะได้รับการอัปเดตหลังจากการอัปเดตส่วนหลักเสร็จสิ้น
การตรวจสอบสถานะปัจจุบัน
openclaw update statusแสดงช่องทางที่ใช้งานอยู่ (พร้อมแหล่งที่ใช้ตัดสินใจ ได้แก่ การกำหนดค่า แท็ก git สาขา git เวอร์ชันที่ติดตั้ง หรือค่าเริ่มต้น) ประเภทการติดตั้ง (git หรือแพ็กเกจ) เวอร์ชันปัจจุบัน และความพร้อมของการอัปเดต
แนวทางปฏิบัติที่ดีในการติดแท็ก
- ติดแท็กรุ่นที่คุณต้องการให้ checkout ของ git ไปลงที่:
vYYYY.M.PATCHสำหรับรุ่นเสถียร และvYYYY.M.PATCH-beta.Nสำหรับเบตา ส่วนต่อท้ายรุ่นก่อนเผยแพร่ที่มีชื่อ เช่น-alpha.N,-rc.Nและ-next.Nไม่ใช่เป้าหมายของรุ่นเสถียรหรือเบตา - แท็กเสถียรแบบตัวเลขรุ่นเก่า เช่น
vYYYY.M.PATCH-1และv1.0.1-1ยังคงได้รับการยอมรับเป็นแท็ก git เสถียรเพื่อความเข้ากันได้ vYYYY.M.PATCH.beta.N(คั่นด้วยจุด) ก็ยังได้รับการยอมรับเพื่อความเข้ากันได้เช่นกัน แต่ควรใช้-beta.N- รักษาแท็กให้เปลี่ยนแปลงไม่ได้: ห้ามย้ายหรือนำแท็กกลับมาใช้ใหม่
- npm dist-tag ยังคงเป็นแหล่งข้อมูลจริงสำหรับการติดตั้งผ่าน npm:
latest-> เสถียรextended-stable-> รุ่นแพ็กเกจสำหรับเดือนที่ยังอยู่ในช่วงการรองรับย้อนหลังbeta-> บิลด์ผู้สมัครหรือบิลด์เสถียรที่เผยแพร่ผ่านเบตาก่อนdev-> สแนปช็อตของ main (ไม่บังคับ)
ความพร้อมใช้งานของแอป macOS
บิลด์เบตาและรุ่นพัฒนาอาจ ไม่มี รุ่นแอป macOS ซึ่งไม่มีปัญหา:
- แท็ก git และ npm dist-tag ยังสามารถเผยแพร่แยกกันได้
- ระบุว่า "ไม่มีบิลด์ macOS สำหรับเบตานี้" ในบันทึกประจำรุ่นหรือบันทึกการเปลี่ยนแปลง