🤖HermesBlog
Hermes Official Tutorials · Parte 48/9/2026

Tutorial 4: Updating & Uninstalling Hermes

Tutorial 4: Updating & Uninstalling Hermes — easy-to-understand guide based on official docs

Hermes tutorial

บทช่วยสอน 4: การอัปเดตและถอนการติดตั้ง Hermes

ยินดีต้อนรับกลับสู่ซีรีส์บทช่วยสอน Hermes Agent! ในตอนนี้ เราจะมาพูดถึงสิ่งที่ผู้ใช้ทุกคนต้องรู้ในสักวันหนึ่ง: วิธีทำให้ Hermes อัปเดตอยู่เสมอ และวิธีบอกลาเมื่อถึงเวลา ไม่ต้องกังวล — มันง่ายกว่าที่คิดมาก

อัปเดต Hermes: แค่คำสั่งเดียว

วิธีที่ง่ายที่สุดในการอัปเดต Hermes คือการใช้คำสั่งเดียว:

hermes update

แค่นั้นเอง คำสั่งนี้จัดการทุกอย่างให้คุณเอง มันดึงโค้ดล่าสุดจาก branch main อัปเดต dependencies ของคุณ และยังถามคุณเกี่ยวกับตัวเลือกการกำหนดค่าใหม่ๆ ที่เพิ่มเข้ามาตั้งแต่การอัปเดตครั้งล่าสุด เจ๋งใช่ไหมล่ะ?

เกิดอะไรขึ้นจริงๆ ระหว่างการอัปเดต?

คุณอาจสงสัยว่าเบื้องหลังเกิดอะไรขึ้น นี่คือรายละเอียด:

  1. สแนปชอตก่อนอัปเดต — ก่อนที่จะเปลี่ยนแปลงอะไร Hermes จะบันทึกสแนปชอตน้ำหนักเบาของไฟล์สถานะสำคัญของคุณ (ข้อมูล pairing, cron jobs, config.yaml, .env และอื่นๆ) ไฟล์ที่ใหญ่เกิน 1 GiB จะถูกข้ามไป เพื่อไม่ให้ฐานข้อมูลขนาดใหญ่ทำให้ช้าลง สแนปชอตนี้ถูกสร้างสำหรับทุกโปรไฟล์บนเครื่องของคุณ โดยแต่ละอันเก็บไว้ในไดเรกทอรี state-snapshots/ ของตัวเอง

  2. Git pull — Hermes ดึงโค้ดล่าสุดจาก branch main และอัปเดต submodules

  3. ตรวจสอบไวยากรณ์หลัง pull + ย้อนกลับอัตโนมัติ — หลังจาก pull แล้ว Hermes จะตรวจสอบไฟล์สำคัญ 9 ไฟล์ที่ทุกคำสั่งต้องใช้ตอนเริ่มต้น หากไฟล์ใด parse ไม่ได้ (เช่น เครื่องหมาย merge-conflict หลงเหลือ) Hermes จะย้อนกลับไปยังเวอร์ชันก่อนหน้าโดยอัตโนมัติ เพื่อให้ shell ของคุณยังใช้งานได้ คุณแค่รัน hermes update อีกครั้งเมื่อมีการแก้ไขจากฝั่งต้นทาง

  4. ติดตั้ง dependencies — รัน uv pip install -e ".[all]" เพื่อดึง dependencies ใหม่หรือที่เปลี่ยนแปลง

  5. ย้ายการกำหนดค่า — ตรวจพบตัวเลือกการกำหนดค่าใหม่และให้คุณตั้งค่า

  6. รีสตาร์ท gateway อัตโนมัติ — gateway ที่กำลังทำงานอยู่จะถูกรีเฟรชเพื่อให้โค้ดใหม่มีผลทันที gateway ที่จัดการโดย service (systemd บน Linux, launchd บน macOS) จะรีสตาร์ทผ่านตัวจัดการ service ในขณะที่ gateway ที่รันด้วยตนเองจะถูกรีสตาร์ทอัตโนมัติ

ข้ามหน้าต่างถามการกำหนดค่าไป? ไม่มีปัญหา!

หากคุณข้ามหน้าต่างถามการกำหนดค่าระหว่างการอัปเดต คุณสามารถกลับมาเพิ่มเติมได้ทีหลัง:

hermes config check    # ดูว่าอะไรขาดหายไป
hermes config migrate  # เพิ่มแบบโต้ตอบ

อัปเดตจาก branch อื่น

โดยค่าเริ่มต้น hermes update จะติดตาม origin/main แต่ถ้าคุณต้องการทดสอบ release candidate หรือ feature branch ล่ะ? ใช้ flag --branch:

hermes update --branch release-candidate
hermes update --check --branch experimental   # แค่ดูตัวอย่างว่าคุณตามหลังอยู่เท่าไหร่

หาก checkout ในเครื่องของคุณอยู่บน branch อื่น Hermes จะ stash งานที่ยังไม่ได้ commit โดยอัตโนมัติ สลับไปยัง branch เป้าหมาย และ pull branch ที่ไม่มีอยู่ในเครื่องจะถูกติดตามจาก origin/<name> อัตโนมัติ หาก branch ไม่มีอยู่ที่ไหนเลย คำสั่งจะล้มเหลวอย่างสะอาดและกู้คืนการเปลี่ยนแปลงที่ stash ไว้

แล้ว branch ที่จอดอยู่ล่ะ?

หาก checkout ของคุณอยู่บน feature branch hermes update จัดการได้อย่างชาญฉลาด:

  • branch ที่ merge เรียบร้อยแล้ว — Hermes บอกคุณว่ามัน merge เรียบร้อยแล้วและสลับกลับไปที่ main
  • มี commits ที่ยังไม่ merge, working tree สะอาด — Hermes ยังคงสลับไปที่ main เพื่อให้การอัปเดตดำเนินต่อไป (สำคัญสำหรับผู้เรียกใช้แบบไม่โต้ตอบ เช่น desktop app หรือ cron jobs) commits ของคุณไม่ถูกแตะต้อง และ Hermes จะพิมพ์ประกาศเสียงดังพร้อมชื่อ branch และวิธีกลับไปที่ branch นั้น

หากคุณ ตั้งใจ จะดูแลรักษา custom patches บน branch ให้ตั้งค่าใน config.yaml:

updates:
  parked_branch_strategy: update_in_place

วิธีนี้จะ merge origin/main เข้าไปใน branch ของคุณแทนที่จะสลับออกไป จะ fast-forward เมื่อเป็นไปได้; หากมีความแตกต่างกัน มันจะสร้าง safety tag และหยุดอย่างสะอาดเมื่อเกิด conflict

การเปลี่ยนแปลงในเครื่องระหว่างการอัปเดตแบบไม่โต้ตอบ

เมื่อคุณรัน hermes update ในเทอร์มินัล Hermes จะ stash การเปลี่ยนแปลงที่ยังไม่ได้ commit, pull จากนั้นถามว่าจะกู้คืนหรือไม่ แต่เมื่อการอัปเดตรันโดยไม่มีเทอร์มินัล (เช่น จาก desktop app) Hermes จะข้ามการอัปเดตหาก working tree สกปรก — พร้อมคำเตือนเสียงดังที่ระบุชื่อ branch และความห่างที่ตามหลัง ไม่มีการแกล้งทำเป็นว่าอัปเดตสำเร็จ!

ถอนการติดตั้ง Hermes

เมื่อถึงเวลาต้องแยกทาง การถอนการติดตั้งก็ตรงไปตรงมา อย่าลืมตรวจสอบเอกสารเฉพาะแพลตฟอร์มของคุณสำหรับขั้นตอนการลบที่แน่นอน แต่โดยทั่วไปคุณจะต้องลบไบนารีของ Hermes และทำความสะอาดไดเรกทอรีการกำหนดค่าที่มันสร้างขึ้น

สรุป

การทำให้ Hermes อัปเดตอยู่เสมอนั้นง่ายมากด้วย hermes update มาตรการความปลอดภัยในตัว — สแนปชอต, การย้อนกลับอัตโนมัติ, และการจัดการ branch — หมายความว่าคุณสามารถอัปเดตได้อย่างมั่นใจ และหากคุณต้องการแยกจากกัน การถอนการติดตั้งก็ง่ายพอๆ กัน

รอติดตามบทช่วยสอนถัดไปในซีรีส์ของเรานะ!

📖 เอกสารทางการ

この記事は Hermes Agent のเอกสารทางการに基づいています:เอกสารทางการ › getting-started/updating