Maintenance
ช่องทางการเผยแพร่รุ่น
OpenClaw จัดส่งช่องทางอัปเดต 3 ช่องทาง:
- stable: npm dist-tag
latestแนะนำสำหรับผู้ใช้ส่วนใหญ่ - beta: npm dist-tag
betaเมื่อเป็นเวอร์ชันปัจจุบัน หากไม่มี beta หรือเก่ากว่า รีลีส stable ล่าสุด โฟลว์อัปเดตจะถอยกลับไปใช้latest - dev: ส่วนหัวที่เคลื่อนไปเรื่อย ๆ ของ
main(git) npm dist-tag:dev(เมื่อเผยแพร่แล้ว) แบรนช์mainใช้สำหรับการทดลองและการพัฒนาที่ดำเนินอยู่ อาจมีฟีเจอร์ ที่ยังไม่สมบูรณ์หรือการเปลี่ยนแปลงที่ทำให้เข้ากันไม่ได้ ห้ามใช้กับ gateway สำหรับโปรดักชัน
โดยปกติเราจะจัดส่งบิลด์ stable ไปที่ beta ก่อน ทดสอบที่นั่น แล้วจึงรัน
ขั้นตอนโปรโมตแบบชัดเจนที่ย้ายบิลด์ที่ตรวจสอบแล้วไปยัง latest โดยไม่
เปลี่ยนหมายเลขเวอร์ชัน ผู้ดูแลยังสามารถเผยแพร่รีลีส stable
โดยตรงไปยัง latest ได้เมื่อจำเป็น Dist-tags เป็นแหล่งข้อมูลจริงสำหรับการติดตั้งผ่าน npm
การสลับช่องทาง
openclaw update --channel stableopenclaw update --channel betaopenclaw update --channel dev--channel จะบันทึกตัวเลือกของคุณไว้ใน config (update.channel) และจัดวิธี
การติดตั้งให้สอดคล้องกัน:
stable(การติดตั้งแพ็กเกจ): อัปเดตผ่าน npm dist-taglatestbeta(การติดตั้งแพ็กเกจ): เลือกใช้ npm dist-tagbetaก่อน แต่จะถอยกลับไปใช้latestเมื่อไม่มีbetaหรือเก่ากว่าแท็ก stable ปัจจุบันstable(การติดตั้ง git): เช็กเอาต์แท็ก git stable ล่าสุด โดยไม่รวม แท็ก semver prerelease เช่น-alpha.N,-beta.N,-rc.N,-dev.N,-next.N,-preview.N,-canary.N,-nightly.Nและ suffix prerelease อื่น ๆbeta(การติดตั้ง git): เลือกใช้แท็ก git beta ล่าสุดก่อน แต่จะถอยกลับไปใช้ แท็ก git stable ล่าสุดเมื่อไม่มี beta หรือเก่ากว่าdev: ตรวจให้แน่ใจว่ามี git checkout (ค่าเริ่มต้น~/openclawหรือ$OPENCLAW_HOME/openclawเมื่อตั้งค่าOPENCLAW_HOME; override ด้วยOPENCLAW_GIT_DIR), สลับไปที่main, rebase บน upstream, build และ ติดตั้ง CLI แบบ global จาก checkout นั้น
การระบุเวอร์ชันหรือแท็กแบบครั้งเดียว
ใช้ --tag เพื่อระบุ dist-tag, เวอร์ชัน หรือ package spec เฉพาะสำหรับการ
อัปเดตครั้งเดียว โดยไม่ เปลี่ยนช่องทางที่บันทึกไว้ของคุณ:
# Install a specific versionopenclaw update --tag 2026.4.1-beta.1 # Install from the beta dist-tag (one-off, does not persist)openclaw update --tag beta # Switch to the moving GitHub main checkoutopenclaw update --channel dev # Install a specific npm package specopenclaw update --tag openclaw@2026.4.1-beta.1 # Install from GitHub main once without persisting the channelopenclaw update --tag mainหมายเหตุ:
--tagใช้กับ การติดตั้งแพ็กเกจ (npm) เท่านั้น การติดตั้ง git จะละเว้นค่านี้- แท็กจะไม่ถูกบันทึกไว้ การรัน
openclaw updateครั้งถัดไปจะใช้ช่องทาง ที่คุณกำหนดค่าไว้ตามปกติ - สำหรับการติดตั้งแพ็กเกจ OpenClaw จะ pre-pack GitHub/git source specs ลงใน
tarball ชั่วคราวก่อนการติดตั้ง npm แบบ staged ใช้
--channel devหรือ--install-method git --version mainเมื่อคุณต้องการ checkoutmainที่เคลื่อนไปเรื่อย ๆ เป็นการติดตั้งแบบถาวรของคุณ - การป้องกันการ downgrade: หากเวอร์ชันเป้าหมายเก่ากว่าเวอร์ชันปัจจุบันของคุณ
OpenClaw จะถามเพื่อยืนยัน (ข้ามได้ด้วย
--yes) --channel betaแตกต่างจาก--tag beta: โฟลว์ช่องทางสามารถถอยกลับไปใช้ stable/latest เมื่อไม่มี beta หรือเก่ากว่า ขณะที่--tag betaระบุไปที่ dist-tagbetaดิบสำหรับการรันครั้งนั้นครั้งเดียว
Dry run
ดูตัวอย่างว่า openclaw update จะทำอะไรโดยไม่ทำการเปลี่ยนแปลง:
openclaw update --dry-runopenclaw update --channel beta --dry-runopenclaw update --tag 2026.4.1-beta.1 --dry-runopenclaw update --dry-run --jsonDry run จะแสดงช่องทางที่มีผล เวอร์ชันเป้าหมาย การดำเนินการที่วางแผนไว้ และ บอกว่าจะต้องยืนยันการ downgrade หรือไม่
Plugins และช่องทาง
เมื่อคุณสลับช่องทางด้วย openclaw update OpenClaw จะซิงก์แหล่งที่มาของ plugin
ด้วย:
devเลือกใช้ plugin ที่ bundled มาจาก git checkout ก่อนstableและbetaกู้คืนแพ็กเกจ plugin ที่ติดตั้งผ่าน npm- plugin ที่ติดตั้งผ่าน npm จะถูกอัปเดตหลังจากการอัปเดต core เสร็จสิ้น
การตรวจสอบสถานะปัจจุบัน
openclaw update statusแสดงช่องทางที่ใช้งานอยู่ ประเภทการติดตั้ง (git หรือ package), เวอร์ชันปัจจุบัน และ แหล่งที่มา (config, git tag, git branch หรือค่าเริ่มต้น)
แนวปฏิบัติที่ดีในการติดแท็ก
- ติดแท็กรีลีสที่คุณต้องการให้ git checkout ไปลงที่นั่น (
vYYYY.M.PATCHสำหรับ stable,vYYYY.M.PATCH-beta.Nสำหรับ beta; suffix semver prerelease ที่มีชื่อ เช่น-alpha.N,-rc.Nและ-next.Nไม่ใช่เป้าหมาย stable) - แท็ก stable แบบตัวเลขรุ่นเก่า เช่น
vYYYY.M.PATCH-1และv1.0.1-1ยัง ถูกจดจำเป็นแท็ก git stable เพื่อความเข้ากันได้ vYYYY.M.PATCH.beta.Nก็ถูกจดจำเพื่อความเข้ากันได้เช่นกัน แต่ควรใช้-beta.N- ทำให้แท็กไม่เปลี่ยนแปลง: ห้ามย้ายหรือนำแท็กกลับมาใช้ซ้ำ
- npm dist-tags ยังคงเป็นแหล่งข้อมูลจริงสำหรับการติดตั้งผ่าน npm:
latest-> stablebeta-> บิลด์ candidate หรือบิลด์ stable ที่ปล่อยผ่าน beta ก่อนdev-> สแนปช็อต main (ไม่บังคับ)
ความพร้อมใช้งานของแอป macOS
บิลด์ Beta และ dev อาจ ไม่มี รีลีสแอป macOS ซึ่งไม่เป็นไร:
- ยังสามารถเผยแพร่ git tag และ npm dist-tag ได้
- ระบุว่า "ไม่มีบิลด์ macOS สำหรับ beta นี้" ในบันทึกรีลีสหรือ changelog