Maintenance

ช่องทางการเผยแพร่

OpenClaw มีช่องทางการอัปเดตสี่ช่องทาง:

  • เสถียร: npm dist-tag latest แนะนำสำหรับผู้ใช้ส่วนใหญ่
  • เสถียรแบบขยาย: npm dist-tag extended-stable ช่องทางแพ็กเกจใหม่แยกต่างหากสำหรับเดือนที่ยังอยู่ในช่วงการรองรับย้อนหลัง ช่องทางนี้รองรับเฉพาะแพ็กเกจ และติดตั้งได้เฉพาะในโหมดเบื้องหน้า การเลือกที่บันทึกไว้จะได้รับเพียงคำแนะนำการอัปเดตแบบอ่านอย่างเดียวเมื่อเปิดใช้ update.checkOnStart แต่จะไม่ใช้การอัปเดตโดยอัตโนมัติ
  • เบตา: npm dist-tag beta จะย้อนกลับไปใช้ latest เมื่อไม่มี beta หรือ beta เก่ากว่ารุ่นเสถียรปัจจุบัน
  • รุ่นพัฒนา: จุดล่าสุดที่เคลื่อนที่ไปเรื่อย ๆ ของ main (git) ใช้ npm dist-tag dev เมื่อมีการเผยแพร่ main มีไว้สำหรับการทดลองและการพัฒนาอย่างต่อเนื่อง โดยอาจมีฟีเจอร์ที่ยังไม่สมบูรณ์หรือการเปลี่ยนแปลงที่ทำให้เข้ากันไม่ได้ อย่าใช้กับ Gateway ในระบบใช้งานจริง

โดยทั่วไป บิลด์เสถียรจะเผยแพร่ไปยัง เบตา ก่อน ผ่านการตรวจสอบที่นั่น แล้วจึงเลื่อนขั้นเป็น latest โดยไม่เพิ่มหมายเลขเวอร์ชัน ผู้ดูแลสามารถเผยแพร่โดยตรงไปยัง latest ได้เช่นกัน Dist-tag เป็นแหล่งข้อมูลจริงสำหรับการติดตั้งผ่าน npm

การสลับช่องทาง

bash
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 เวอร์ชัน หรือข้อกำหนดแพ็กเกจเฉพาะสำหรับการอัปเดตครั้งเดียว โดยไม่ เปลี่ยนช่องทางที่บันทึกไว้:

bash
# ติดตั้งเวอร์ชันเฉพาะ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-tag beta โดยตรงสำหรับการรันครั้งนั้นเสมอ

การทดลองรัน

ดูตัวอย่างสิ่งที่ openclaw update จะดำเนินการโดยไม่ทำการเปลี่ยนแปลง:

bash
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 หรือ ClawHub
  • extended-stable จะแปลง Plugin npm อย่างเป็นทางการที่มีสิทธิ์ ซึ่งระบุเจตนาแบบเปล่า/ค่าเริ่มต้นหรือ latest ให้เป็นเวอร์ชันหลักที่ติดตั้งไว้อย่างเจาะจง โดยจะไม่ค้นหาแท็ก @extended-stable ของ Plugin ขณะรัน
  • Plugin ที่ติดตั้งผ่าน npm จะได้รับการอัปเดตหลังจากการอัปเดตส่วนหลักเสร็จสิ้น

การตรวจสอบสถานะปัจจุบัน

bash
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 สำหรับเบตานี้" ในบันทึกประจำรุ่นหรือบันทึกการเปลี่ยนแปลง

เนื้อหาที่เกี่ยวข้อง

Was this useful?
On this page

On this page