Maintenance
กำลังอัปเดต
อัปเดต OpenClaw ให้เป็นเวอร์ชันล่าสุดอยู่เสมอ
สำหรับการแทนที่อิมเมจ Docker, Podman และ Kubernetes โปรดดู การอัปเกรดอิมเมจคอนเทนเนอร์ Gateway จะดำเนินงานอัปเกรดที่ปลอดภัยต่อการเริ่มต้นระบบก่อนเข้าสู่สถานะพร้อมใช้งาน และจะออกหาก สถานะที่เมานต์ไว้ต้องได้รับการซ่อมแซมด้วยตนเอง
แนะนำ: openclaw update
ตรวจหาประเภทการติดตั้ง (npm, pnpm, Bun หรือ git) ดึงข้อมูลเวอร์ชันล่าสุด เรียกใช้ openclaw doctor และรีสตาร์ต Gateway
openclaw updateสลับช่องทางหรือระบุเวอร์ชันที่ต้องการ:
openclaw update --channel betaopenclaw update --channel extended-stableopenclaw update --channel devopenclaw update --dry-run # แสดงตัวอย่างโดยไม่ดำเนินการopenclaw update ไม่มีแฟล็ก --verbose (แต่ตัวติดตั้งมี) สำหรับการวินิจฉัย ให้ใช้
--dry-run เพื่อแสดงตัวอย่างการดำเนินการที่วางแผนไว้ ใช้ --json เพื่อรับผลลัพธ์แบบมีโครงสร้าง หรือ
ใช้ openclaw update status --json เพื่อตรวจสอบสถานะช่องทางและความพร้อมใช้งาน
--channel beta จะเลือก npm dist-tag รุ่น beta ก่อน แต่จะเปลี่ยนไปใช้ stable/latest
เมื่อไม่มีแท็ก beta หรือเวอร์ชันของแท็กดังกล่าวเก่ากว่ารีลีส stable ล่าสุด
ให้ใช้ --tag beta แทนสำหรับการอัปเดตแพ็กเกจแบบครั้งเดียวที่ตรึงไว้กับ npm
beta dist-tag โดยตรง
--channel extended-stable ใช้กับแพ็กเกจเท่านั้น และการติดตั้งยังคง
ทำงานในโฟร์กราวด์เท่านั้น OpenClaw อ่านตัวเลือกสาธารณะ extended-stable ของ npm
ตรวจสอบแพ็กเกจแบบเจาะจงที่เลือก และติดตั้งเวอร์ชันนั้นโดยตรง หากข้อมูลรีจิสทรีขาดหาย
หรือไม่สอดคล้องกัน ระบบจะหยุดอย่างปลอดภัยและจะไม่เปลี่ยนไปใช้ latest
หากเวอร์ชันที่เลือกเก่ากว่าเวอร์ชันที่ติดตั้งอยู่ การยืนยัน
ดาวน์เกรดตามปกติยังคงมีผล CLI จะบันทึกช่องทางหลังจาก
อัปเดตคอร์สำเร็จ แต่การเรียกใช้ npm install -g openclaw@extended-stable โดยตรง
จะไม่อัปเดต update.channel
หลังจากสลับคอร์แล้ว Plugin npm ทางการที่เข้าเกณฑ์ซึ่งมีเจตนาแบบค่าเปล่า/ค่าเริ่มต้น หรือ
latest จะปรับให้ตรงกับเวอร์ชันคอร์นั้นทุกประการ การตรึงเวอร์ชันที่แน่นอนและแท็ก
ที่ไม่ใช่ latest ซึ่งระบุไว้อย่างชัดเจน รวมถึง Plugin จากบุคคลที่สามและแหล่งที่ไม่ใช่ npm จะไม่เปลี่ยนแปลง
การติดตั้งจากแค็ตตาล็อกที่สร้างโดย OpenClaw เวอร์ชันปัจจุบันจะคง
เจตนาเริ่มต้นนั้นไว้ ระเบียนรุ่นเก่าที่มีเฉพาะเวอร์ชันแบบเจาะจงจะยังคงถูกตรึงไว้ เนื่องจาก
OpenClaw ไม่สามารถแยกแยะการตรึงอัตโนมัติเดิมออกจากการตรึงของผู้ใช้ได้อย่างปลอดภัย ให้เรียกใช้
openclaw plugins update @openclaw/name หนึ่งครั้งในช่องทาง extended-stable
เพื่อให้ Plugin นั้นกลับมาติดตามเวอร์ชันคอร์แบบตรงกันทุกประการ
--channel dev มอบ GitHub เช็กเอาต์ main แบบเคลื่อนที่ต่อเนื่อง สำหรับการอัปเดต
แพ็กเกจแบบครั้งเดียว --tag main จะแมปไปยังข้อกำหนดแพ็กเกจ
github:openclaw/openclaw#main และติดตั้งโดยตรงผ่านตัวจัดการแพ็กเกจเป้าหมาย (npm/pnpm/bun)
สำหรับ Plugin ที่มีการจัดการ หากไม่มีรีลีส beta ระบบจะแสดงคำเตือนแทนที่จะถือว่าล้มเหลว: การอัปเดตคอร์ยังคงสำเร็จได้ ขณะที่ Plugin เปลี่ยนไปใช้รีลีส ค่าเริ่มต้น/latest ที่บันทึกไว้
โปรดดูความหมายของแต่ละช่องทางที่ ช่องทางรีลีส
สลับระหว่างการติดตั้งด้วย npm และ git
ใช้ช่องทางเพื่อเปลี่ยนประเภทการติดตั้ง ตัวอัปเดตจะเก็บสถานะ การกำหนดค่า
ข้อมูลประจำตัว และพื้นที่ทำงานไว้ใน ~/.openclaw โดยจะเปลี่ยนเฉพาะการติดตั้งโค้ด OpenClaw
ที่ CLI และ Gateway ใช้งาน
# การติดตั้งแพ็กเกจ npm -> git เช็กเอาต์ที่แก้ไขได้openclaw update --channel dev # git เช็กเอาต์ -> การติดตั้งแพ็กเกจ npmopenclaw update --channel stableแสดงตัวอย่างการสลับโหมดการติดตั้งก่อน:
openclaw update --channel dev --dry-runopenclaw update --channel stable --dry-rundev จะทำให้มี git เช็กเอาต์ สร้างบิลด์ และติดตั้ง CLI ส่วนกลางจาก
เช็กเอาต์นั้น ช่องทาง stable, extended-stable และ beta ใช้การติดตั้ง
แบบแพ็กเกจ ระบบจะปฏิเสธ extended-stable บน git เช็กเอาต์โดยไม่แก้ไขหรือ
แปลงเช็กเอาต์นั้น หากติดตั้ง Gateway ไว้แล้ว openclaw update จะรีเฟรช
ข้อมูลเมตาของบริการและรีสตาร์ตบริการ เว้นแต่จะระบุ --no-restart
สำหรับการติดตั้งแพ็กเกจที่มีบริการ Gateway แบบมีการจัดการ openclaw update จะกำหนดเป้าหมาย
ไปยังรากแพ็กเกจที่บริการนั้นใช้ หากคำสั่งเชลล์ openclaw มาจาก
การติดตั้งอื่น ตัวอัปเดตจะแสดงรากทั้งสองและพาธ Node ของบริการ
ที่มีการจัดการ และตรวจสอบเวอร์ชัน Node ดังกล่าวเทียบกับข้อกำหนด
engines.node ของรีลีสเป้าหมายก่อนแทนที่แพ็กเกจ
ทางเลือก: เรียกใช้ตัวติดตั้งอีกครั้ง
curl -fsSL https://openclaw.ai/install.sh | bashเพิ่ม --no-onboard เพื่อข้ามการเริ่มต้นใช้งาน หากต้องการบังคับประเภทการติดตั้งที่ระบุ ให้ส่ง
--install-method git --no-onboard หรือ --install-method npm --no-onboard
หาก openclaw update ล้มเหลวหลังจากขั้นตอนติดตั้งแพ็กเกจ npm ให้เรียกใช้
ตัวติดตั้งอีกครั้งแทน ตัวติดตั้งจะไม่เรียกใช้ตัวอัปเดต แต่จะเรียกการติดตั้งแพ็กเกจ
ส่วนกลางโดยตรง และสามารถกู้คืนการติดตั้ง npm ที่อัปเดตเพียงบางส่วนได้
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npmตรึงการกู้คืนไว้กับเวอร์ชันหรือ dist-tag ที่ระบุด้วย --version:
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm --version <version-or-dist-tag>ทางเลือก: ใช้ npm, pnpm หรือ bun ด้วยตนเอง
npm i -g openclaw@latestแนะนำให้ใช้ openclaw update สำหรับการติดตั้งที่มีการควบคุมดูแล เนื่องจากสามารถประสานการสลับแพ็กเกจ
กับบริการ Gateway ที่กำลังทำงานอยู่ได้ หากอัปเดตการติดตั้งที่มีการควบคุมดูแลด้วยตนเอง
ให้หยุด Gateway ที่มีการจัดการก่อน ตัวจัดการแพ็กเกจจะแทนที่ไฟล์
โดยตรง และมิฉะนั้น Gateway ที่กำลังทำงานอยู่อาจพยายามโหลดไฟล์คอร์หรือ Plugin
ระหว่างการสลับ รีสตาร์ต Gateway หลังจากตัวจัดการแพ็กเกจทำงานเสร็จ เพื่อให้โหลด
การติดตั้งใหม่
สำหรับการติดตั้งส่วนกลางทั้งระบบบน Linux ที่มี root เป็นเจ้าของ หาก openclaw update ล้มเหลวโดยมี
EACCES ให้กู้คืนด้วย npm ของระบบ โดยหยุด Gateway ไว้ตลอด
การแทนที่ด้วยตนเอง ใช้แฟล็กโปรไฟล์/สภาพแวดล้อมเดียวกับที่ใช้ตามปกติสำหรับ
Gateway นั้น แทนที่ /usr/bin/npm ด้วย npm ของระบบที่เป็นเจ้าของ
คำนำหน้าส่วนกลางที่ root เป็นเจ้าของบนโฮสต์:
openclaw gateway stopsudo /usr/bin/npm i -g openclaw@latestopenclaw gateway install --forceopenclaw gateway restartจากนั้นตรวจสอบ:
openclaw --versioncurl -fsS http://127.0.0.1:18789/readyzopenclaw plugins list --jsonopenclaw gateway status --deep --jsonopenclaw doctor --lint --jsonเมื่อ openclaw update จัดการการติดตั้ง npm ส่วนกลาง ระบบจะติดตั้งเป้าหมาย
ลงในคำนำหน้า npm ชั่วคราวก่อน แพ็กเกจตัวเลือกจะตรวจสอบเวอร์ชัน Node
ของโฮสต์ระหว่าง preinstall จากนั้น OpenClaw จึงจะตรวจสอบรายการไฟล์
dist ที่บรรจุในแพ็กเกจ และสลับโครงสร้างแพ็กเกจที่สะอาดเข้าไปยังคำนำหน้าส่วนกลางจริง
ตัวป้องกันความสมบูรณ์ของแพ็กเกจจะไม่รวมอยู่ในรายการที่คาดหมาย และจะถูกนำออกหลังจาก
preinstall สำเร็จเท่านั้น ดังนั้นการข้ามสคริปต์วงจรชีวิตจะล้มเหลวก่อน
การสลับเช่นกัน ใน npm 12 และใหม่กว่า ตัวอัปเดตจะอนุญาตเฉพาะวงจรชีวิตของ OpenClaw
ในแพ็กเกจตัวเลือกเท่านั้น ส่วนสคริปต์ของการขึ้นต่อกันแบบส่งต่อจะยังคงถูกบล็อก วิธีนี้ช่วยป้องกันไม่ให้ npm
วางแพ็กเกจใหม่ทับไฟล์เก่าที่ตกค้างจากแพ็กเกจเดิม หากคำสั่งติดตั้ง
ล้มเหลว OpenClaw จะลองใหม่หนึ่งครั้งด้วย --omit=optional ซึ่งช่วยในโฮสต์
ที่ไม่สามารถคอมไพล์การขึ้นต่อกันเสริมแบบเนทีฟได้
คำสั่งอัปเดต npm และอัปเดต Plugin ที่ OpenClaw จัดการยังล้าง
การกักกันซัพพลายเชน min-release-age ของ npm (หรือคีย์การกำหนดค่าเดิม before)
สำหรับโพรเซส npm ลูกด้วย นโยบายดังกล่าวมีไว้เพื่อการป้องกันโดยทั่วไป แต่การอัปเดต
OpenClaw ที่สั่งอย่างชัดเจนหมายถึง "ติดตั้งรีลีสที่เลือกทันที"
pnpm add -g openclaw@latestหาก pnpm 11 ติดตั้ง OpenClaw 2026.7.1 ให้เรียกใช้คำสั่งด้วยตนเองนั้นหนึ่งครั้ง รีลีสดังกล่าวมาก่อนเลย์เอาต์แพ็กเกจส่วนกลางแบบแยกของ pnpm 11 ดังนั้นตัวอัปเดตของรีลีสนั้นอาจ เข้าใจผิดว่าการติดตั้ง npm อื่นเป็น CLI ที่กำลังทำงานอยู่ รีลีสหลังจากนั้นจะคง ความเป็นเจ้าของของ pnpm และติดตามรากแพ็กเกจทดแทนระหว่างการอัปเดต นอกจากนี้ ยังใช้ไดเรกทอรี bin ส่วนกลางที่ตัวจัดการเจ้าของรายงาน และหยุดก่อน แก้ไขเมื่อคำสั่ง pnpm ที่พร้อมใช้งานรายงานรากส่วนกลางหรือเวอร์ชันหลักที่ต่างออกไป หรือเมื่อแพ็กเกจที่เรียกใช้งานถูกตัดขาดหรือไม่ใช่การติดตั้ง OpenClaw ที่ใช้งานอยู่เพียงรายการเดียวในตำแหน่งนั้น
หาก OpenClaw ใช้กลุ่มการติดตั้งส่วนกลางของ pnpm 11 ร่วมกับแพ็กเกจอื่น ตัวอัปเดตอัตโนมัติจะหยุดก่อนเปลี่ยนแปลงกลุ่ม ให้อัปเดตกลุ่มเดิม ที่คั่นด้วยจุลภาคด้วยตนเอง เพื่อให้แพ็กเกจร่วมกลุ่มและนโยบายการบิลด์ยังคงเดิม
bun add -g openclaw@latestหัวข้อขั้นสูงเกี่ยวกับการติดตั้ง npm
โครงสร้างแพ็กเกจแบบอ่านอย่างเดียว
OpenClaw ถือว่าการติดตั้งส่วนกลางจากแพ็กเกจเป็นแบบอ่านอย่างเดียวขณะรันไทม์ แม้ผู้ใช้ปัจจุบันจะมีสิทธิ์เขียนไดเรกทอรีแพ็กเกจส่วนกลางก็ตาม การติดตั้งแพ็กเกจ Plugin จะอยู่ในราก npm/git ที่ OpenClaw เป็นเจ้าของภายใต้ไดเรกทอรีการกำหนดค่าของผู้ใช้ และการเริ่มต้น Gateway จะไม่แก้ไขโครงสร้างแพ็กเกจ OpenClaw
การตั้งค่า npm บน Linux บางแบบจะติดตั้งแพ็กเกจส่วนกลางไว้ในไดเรกทอรีที่ root เป็นเจ้าของ เช่น /usr/lib/node_modules/openclaw OpenClaw รองรับเลย์เอาต์นี้ เนื่องจากคำสั่งติดตั้ง/อัปเดต Plugin จะเขียนข้อมูลภายนอกไดเรกทอรีแพ็กเกจส่วนกลางดังกล่าว
ยูนิต systemd ที่เพิ่มความปลอดภัย
ให้สิทธิ์ OpenClaw เขียนไปยังรากการกำหนดค่า/สถานะ เพื่อให้การติดตั้ง Plugin การอัปเดต Plugin และการล้างข้อมูลโดย doctor ที่สั่งอย่างชัดเจนสามารถบันทึกการเปลี่ยนแปลงได้:
ReadWritePaths=/var/lib/openclaw /home/openclaw/.openclaw /tmpการตรวจสอบพื้นที่ดิสก์ล่วงหน้า
ก่อนอัปเดตแพ็กเกจและติดตั้ง Plugin ที่สั่งอย่างชัดเจน OpenClaw จะพยายามตรวจสอบพื้นที่ดิสก์แบบพยายามให้ดีที่สุดสำหรับโวลุ่มเป้าหมาย พื้นที่ต่ำจะทำให้เกิดคำเตือนพร้อมพาธที่ตรวจสอบ แต่จะไม่บล็อกการอัปเดต เนื่องจากโควตาระบบไฟล์ สแนปช็อต และโวลุ่มเครือข่ายอาจเปลี่ยนแปลงหลังการตรวจสอบ การติดตั้งจริงของตัวจัดการแพ็กเกจและการตรวจสอบหลังการติดตั้งยังคงเป็นผลชี้ขาด
ตัวอัปเดตอัตโนมัติ
ปิดไว้โดยค่าเริ่มต้น เปิดใช้งานใน ~/.openclaw/openclaw.json:
{ update: { channel: "stable", auto: { enabled: true, }, },}| ช่องทาง | ลักษณะการทำงาน |
|---|---|
stable |
ดำเนินการหลังจากการหน่วงเวลาในตัว พร้อมการกระจายเวลาแบบกำหนดซ้ำได้เพื่อทยอยเปิดตัว |
extended-stable |
ตรวจหาคำแนะนำการอัปเดตแบบอ่านอย่างเดียวเมื่อเริ่มต้นและทุก 24 ชั่วโมงเมื่อเปิดใช้ checkOnStart และจะไม่ดำเนินการอัตโนมัติ |
beta |
ตรวจสอบตามช่วงเวลาในตัวและดำเนินการทันที |
dev |
ไม่มีการดำเนินการอัตโนมัติ ให้ใช้ openclaw update ด้วยตนเอง |
Gateway ยังบันทึกคำแนะนำการอัปเดตเมื่อเริ่มต้นด้วย (ปิดใช้งานด้วย
update.checkOnStart: false) การเลือก extended-stable ที่จัดเก็บไว้จะใช้
เส้นทางคำแนะนำแบบอ่านอย่างเดียวนี้และช่วงเวลาคำแนะนำ 24 ชั่วโมงที่มีอยู่ แต่จะไม่เรียกใช้
การติดตั้งอัตโนมัติ การส่งต่อ การรีสตาร์ต การหน่วงเวลา/การกระจายเวลาของ stable หรือการตรวจสอบ beta
สำหรับการดาวน์เกรดหรือการกู้คืนจากเหตุขัดข้อง ให้ตั้งค่า OPENCLAW_NO_AUTO_UPDATE=1 ในสภาพแวดล้อมของ Gateway เพื่อบล็อกการดำเนินการอัตโนมัติ แม้จะกำหนดค่า update.auto.enabled ไว้ก็ตาม คำแนะนำการอัปเดตเมื่อเริ่มต้นยังคงทำงานได้ เว้นแต่จะปิดใช้ update.checkOnStart ด้วย
การอัปเดตผ่านตัวจัดการแพ็กเกจที่ร้องขอผ่านระนาบควบคุม Gateway แบบสด
(update.run) จะไม่แทนที่โครงสร้างแพ็กเกจภายในโพรเซส Gateway
ที่กำลังทำงาน สำหรับการติดตั้งบริการแบบมีการจัดการ Gateway จะเริ่มการส่งต่อแบบแยกออกจากโพรเซส
แล้วออก จากนั้นให้เส้นทาง CLI openclaw update --yes --json ตามปกติหยุด
บริการ แทนที่แพ็กเกจ รีเฟรชข้อมูลเมตาของบริการ รีสตาร์ต ตรวจสอบ
เวอร์ชันและการเข้าถึง Gateway และกู้คืน macOS LaunchAgent ที่ติดตั้งแล้วแต่ยังไม่ได้โหลด
เมื่อทำได้ หาก Gateway ไม่สามารถดำเนินการส่งต่อนั้นได้อย่างปลอดภัย
update.run จะรายงานคำสั่งเชลล์ที่ปลอดภัยแทนการเรียกใช้ตัวจัดการแพ็กเกจ
ภายในโพรเซส
การ์ดอัปเดตในแถบด้านข้างของ Control UI จะแสดง อัปเดต Gateway เมื่อการ์ดจะเริ่ม
ขั้นตอน update.run นี้โดยตรง ซึ่งครอบคลุม Control UI ที่โฮสต์ในเบราว์เซอร์ Gateway
ระยะไกล และ Gateway ภายในเครื่องที่จัดการด้วยตนเอง
ในแอป macOS ที่ลงนามแล้ว Gateway ภายในเครื่องที่แอปเป็นเจ้าของจะเปลี่ยนการ์ดนั้นเป็น
อัปเดตแอป Mac + Gateway โดย Sparkle จะอัปเดตแอปก่อน หลังจากเปิดแอปอีกครั้ง
แอปจะเรียกใช้ openclaw update --tag <app-version> --json รีสตาร์ต Gateway
และตรวจสอบสถานะการทำงานในหน้าต่างความคืบหน้าแบบการตั้งค่า หน้าต่างนี้จะปรากฏเฉพาะ
เมื่อ Gateway ที่มีการจัดการนั้นต้องได้รับการอัปเดต ซ่อมแซม หรือติดตั้ง ส่วนการอัปเดตเฉพาะแอป
จะเปิดกลับเข้าสู่แอปโดยตรง รายละเอียดความล้มเหลวจะยังคงแสดงอยู่พร้อมการดำเนินการ Retry, คู่มือการอัปเดต และ
Discord แอปจะไม่ใช้เส้นทางที่ประสานงานกันนี้
กับ Gateway ระยะไกลหรือที่จัดการจากภายนอก จะไม่ดาวน์เกรด Gateway
ที่ใหม่กว่า และจะไม่ลบล้างการปักหมุดช่องทาง extended-stable
เมื่ออัปเดตสำเร็จ แอปจะจัดคิวเหตุการณ์ต้อนรับแบบครั้งเดียวสำหรับเซสชันโดยตรงระดับบนสุด ล่าสุดที่มีการโต้ตอบกับผู้ใช้/ช่องทางจริง การเรียกใช้ Cron, Heartbeat และการอัปเดตเซสชันเฉพาะเบื้องหลังจะไม่เปลี่ยนการเลือกนั้น ใน โหมดระยะไกล แอปจะอัปเดตเฉพาะรันไทม์ Node ของ Mac ภายในเครื่องและส่งเหตุการณ์ เฉพาะเมื่อ Gateway ระยะไกลที่เชื่อมต่ออยู่มีเวอร์ชันใหม่เท่ากับหรือใหม่กว่าแอป
หลังการอัปเดต
เรียกใช้ doctor
openclaw doctorย้ายข้อมูลการกำหนดค่า ตรวจสอบนโยบาย DM และตรวจสอบสถานะ Gateway รายละเอียด: Doctor
รีสตาร์ต Gateway
openclaw gateway restartตรวจสอบยืนยัน
openclaw healthการย้อนกลับ
การย้อนกลับมีสองระดับ:
- ติดตั้งโค้ด OpenClaw เวอร์ชันเก่าอีกครั้งโดยคงสถานะปัจจุบันไว้
- กู้คืนสถานะก่อนการอัปเดตเฉพาะเมื่อโค้ดเก่าไม่สามารถใช้การกำหนดค่า หรือฐานข้อมูลที่ย้ายข้อมูลแล้วได้
เริ่มด้วยการย้อนกลับเฉพาะโค้ด การกู้คืนสถานะจะละทิ้งการเปลี่ยนแปลงที่เกิดขึ้นหลังจาก การสำรองข้อมูล
ก่อนอัปเดต: สร้างข้อมูลสำรองที่ตรวจสอบยืนยันแล้ว
openclaw update จะเก็บสำเนาการกำหนดค่าก่อนการอัปเดตโดยอัตโนมัติ แต่ไม่ได้
สร้างจุดกู้คืนสถานะทั้งหมด ก่อนการอัปเดตครั้งสำคัญ ให้สร้างจุดดังกล่าว
อย่างชัดเจน:
mkdir -p ~/Backups/openclawopenclaw backup create --output ~/Backups/openclaw --verifyไฟล์รายการของอาร์ไคฟ์จะบันทึกเวอร์ชัน OpenClaw และพาธต้นทางที่รวมอยู่ ในการสำรองข้อมูล อาร์ไคฟ์อาจมีข้อมูลประจำตัว โปรไฟล์การยืนยันตัวตน และสถานะ ช่องทาง ดังนั้นให้จัดเก็บด้วยสิทธิ์สำหรับเจ้าของเท่านั้นและการป้องกันระดับเดียวกับ ไดเรกทอรีสถานะที่ใช้งานอยู่ ดูไฟล์ที่รวมและจงใจ ไม่รวมได้ที่ การสำรองข้อมูล
สำหรับจุดกู้คืนแบบตรงกันทุกไบต์ซึ่งรวมอาร์ติแฟกต์ชั่วคราวที่อาร์ไคฟ์ แบบพกพาไม่รวมไว้ ให้หยุด Gateway แล้วใช้สแนปช็อตระบบไฟล์ โวลุ่ม หรือ VM ที่แพลตฟอร์มของคุณมีให้
ย้อนกลับการติดตั้งแพ็กเกจ
แสดงรายการเวอร์ชันที่เผยแพร่แล้ว จากนั้นดูตัวอย่างและติดตั้งเวอร์ชันที่ทราบว่าใช้งานได้ดี:
npm view openclaw versions --jsonopenclaw update --tag <known-good-version> --dry-runopenclaw update --tag <known-good-version>ควรใช้ openclaw update --tag แทนการติดตั้งโดยตรงผ่านตัวจัดการแพ็กเกจ โดยจะ
ตรวจพบการดาวน์เกรด ขอการยืนยัน ดำเนินการปรับ Plugin ที่มีการจัดการให้สอดคล้องกัน
และตรวจสอบความเข้ากันได้กับเป้าหมายที่ติดตั้ง รีเฟรชข้อมูลเมตาของบริการ
รีสตาร์ต Gateway และตรวจสอบยืนยันเวอร์ชันที่กำลังทำงาน หากช่องทางที่จัดเก็บไว้
คือ extended-stable ให้ใช้
--channel stable --tag <known-good-version> เนื่องจากแท็กแบบใช้ครั้งเดียวที่ระบุแน่นอนไม่สามารถ
ใช้ร่วมกับตัวเลือก extended-stable ได้
การอัปเดตแพ็กเกจจะเตรียมและตรวจสอบยืนยันแพ็กเกจเป้าหมายก่อนเปิดใช้งาน หาก การสลับระบบไฟล์หรือการแทนที่ชิมคำสั่งล้มเหลว OpenClaw จะกู้คืนแพ็กเกจเก่า โดยอัตโนมัติ หลังจากสลับสำเร็จ หากการตรวจสอบสถานะ Gateway ล้มเหลวในภายหลัง ระบบจะรายงานเวอร์ชันก่อนหน้าและคำแนะนำการย้อนกลับด้วยตนเอง แทนที่จะ แทนที่แพ็กเกจอีกครั้งโดยอัตโนมัติ
หากใช้เส้นทางการอัปเดตผ่าน CLI ไม่ได้ ให้ใช้ตัวจัดการแพ็กเกจและขอบเขต การติดตั้งเดียวกับที่เป็นเจ้าของ Gateway ปัจจุบัน:
openclaw gateway stopnpm i -g openclaw@<known-good-version>openclaw gateway install --forceopenclaw gateway restartแทนที่ npm ด้วย pnpm หรือ bun เมื่อตัวจัดการนั้นเป็นเจ้าของการติดตั้ง ระหว่าง
การกู้คืนจากเหตุขัดข้อง ให้ป้องกันไม่ให้ตัวอัปเดตอัตโนมัติที่เปิดใช้งานอยู่ติดตั้ง
รุ่นที่ใหม่กว่าทันที โดยตั้งค่า OPENCLAW_NO_AUTO_UPDATE=1 ในสภาพแวดล้อมของ Gateway
ย้อนกลับซอร์สเช็กเอาต์
ใช้เช็กเอาต์ที่สะอาดและเลือกแท็กหรือคอมมิตที่ทราบว่าใช้งานได้ดี:
git fetch --all --tagsgit checkout --detach <known-good-tag-or-commit>pnpm install && pnpm buildopenclaw gateway restartหากต้องการกลับไปยังเวอร์ชันล่าสุด: git checkout main && git pull
ตัวอัปเดตจะคืน git checkout ไปยังบรานช์และ SHA ก่อนหน้าโดยอัตโนมัติเมื่อการติดตั้งการขึ้นต่อกัน การบิลด์ การบิลด์ UI หรือ doctor ล้มเหลวหลังจากเริ่ม การอัปเดต git แล้ว แต่ยังคงต้องเช็กเอาต์ด้วยตนเองเมื่อจงใจเลือก คอมมิตที่เก่ากว่า
การดาวน์เกรดข้ามการย้ายเซสชันไปยัง SQLite
ก่อนเริ่ม OpenClaw รุ่นเก่าที่ใช้ไฟล์ ให้ใช้ CLI ปัจจุบันเพื่อ กู้คืนอาร์ติแฟกต์บทสนทนาแบบเดิมที่เก็บถาวรไว้:
openclaw gateway stopopenclaw doctor --session-sqlite restore --session-sqlite-all-agentsการดำเนินการนี้จะไม่ลบข้อมูล SQLite เซสชันที่สร้างขึ้นหลังการย้ายข้อมูลไปยัง SQLite จะมีอยู่เฉพาะใน SQLite และจะไม่ปรากฏในรันไทม์รุ่นเก่า ดู การดาวน์เกรดหลังการย้ายเซสชันไปยัง SQLite
กู้คืนสถานะเฉพาะเมื่อจำเป็น
หากโค้ดเก่าไม่สามารถอ่านการกำหนดค่าหรือสคีมาฐานข้อมูลที่ใหม่กว่าได้ ให้หยุด Gateway และกู้คืนสแนปช็อตระบบไฟล์ โวลุ่ม หรือ VM ก่อนการอัปเดตที่ตรวจสอบยืนยันแล้ว เก็บสถานะปัจจุบันแยกไว้ก่อนกู้คืน เนื่องจากการดำเนินการนี้จะลบ การเปลี่ยนแปลงที่เกิดขึ้นหลังจากสแนปช็อต
อาร์ไคฟ์ openclaw backup create แบบครอบคลุมรองรับการสร้างและการตรวจสอบยืนยัน แต่
ไม่รองรับการเปิดใช้งานทั้งอาร์ไคฟ์แทนที่เดิมโดยตรง ให้แตกอาร์ไคฟ์แบบครอบคลุมไปยังไดเรกทอรี
เตรียมการ แล้วใช้การจับคู่ต้นทางกับอาร์ไคฟ์ใน manifest.json สำหรับการกู้คืน
แบบออฟไลน์ ในทำนองเดียวกัน openclaw backup sqlite restore จะเขียนฐานข้อมูลที่ตรวจสอบยืนยันแล้ว
ไปยังเป้าหมายใหม่ โดยการเปิดใช้งานเป้าหมายนั้นยังคงเป็นขั้นตอนออฟไลน์ที่ผู้ปฏิบัติงาน
ต้องดำเนินการอย่างชัดเจน
ตรวจสอบยืนยันการย้อนกลับ
openclaw --versionopenclaw healthopenclaw plugins list --jsonopenclaw gateway status --deep --jsonopenclaw doctor --lint --jsonหากติดขัด
- เรียกใช้
openclaw doctorอีกครั้งและอ่านผลลัพธ์อย่างละเอียด - สำหรับ
openclaw update --channel devในซอร์สเช็กเอาต์ ตัวอัปเดตจะบูตสแตรปpnpmโดยอัตโนมัติเมื่อจำเป็น หากพบข้อผิดพลาดในการบูตสแตรป pnpm/corepack ให้ติดตั้งpnpmด้วยตนเอง (หรือเปิดใช้งานcorepackอีกครั้ง) แล้วเรียกใช้การอัปเดตใหม่ - ตรวจสอบ: การแก้ไขปัญหา
- สอบถามใน Discord: https://discord.gg/clawd
ที่เกี่ยวข้อง
- ภาพรวมการติดตั้ง: วิธีการติดตั้งทั้งหมด
- Doctor: การตรวจสอบสถานะหลังการอัปเดต
- การย้ายข้อมูล: คู่มือการย้ายข้อมูลระหว่างเวอร์ชันหลัก