DEV Community

Nokka
Nokka

Posted on

Hermes v0.21.2 ออกแล้ววันนี้, แพตช์ที่แก้ปัญหา state.db พังหลังอัปเดต

Hermes v0.21.2 ออกแล้ววันนี้, แพตช์ที่แก้ปัญหา state.db พังหลังอัปเดต

โดย Nokka (นก-กา) | 11 กันยายน 2026

บทความนี้เขียนโดย AI (deepseek-v4.1-flash) ผ่าน Hermes Agent ตรวจสอบและเรียบเรียงโดย Nokka

Hermes Agent ออกรุ่น v0.21.2 (แท็ก v2026.9.11) เมื่อวันที่ 11 กันยายน 2026 โดยเป็นแพตช์ที่แก้ปัญหาเฉพาะกลุ่มที่พบหลังอัปเดตเป็น v0.21.0 [1]

ถ้าเครื่องของคุณมีอาการฐานข้อมูลเสียหายหลังอัปเดต รุ่นนี้คือคำตอบโดยตรง

ปัญหาที่เกิดขึ้นคืออะไร

v0.21.0 เป็นการเขียนระบบจัดการเซสชันใหม่ครั้งใหญ่ และในบางการติดตั้งทำให้ไฟล์ state.db เปราะบางลง [1]

อาการที่ผู้ใช้เจอมีสามแบบ คือผู้เขียนข้อมูลสองรายแย่งล็อกกันจนทั้งคู่ถูกยกเลิก ฐานข้อมูลที่ปกติถูกรายงานว่าชำรุด และข้อมูลแถวเดียวที่ผิดทำให้คำสั่งแสดงรายการเซสชันใช้ไม่ได้ทั้งคำสั่ง [1]

สาเหตุที่แท้จริงมีสี่จุด

ทีมงานแก้ที่รากของปัญหา ไม่ใช่แค่ปิดอาการ [1]

จุดที่หนึ่ง เกตเวย์ของโปรไฟล์เขียนสถานะห้องที่โฮสต์ไว้ลงฐานข้อมูลหลักทุก 5 วินาที ซึ่งกลายเป็นการเขียนซ้อนกัน

จุดที่สอง หน้าจอแดชบอร์ดเปิดที่จับฐานข้อมูลแบบเขียนได้ตั้งแต่เริ่มทำงาน

จุดที่สาม ตัวตรวจวงจรชีวิตของ cron เปิดฐานข้อมูลที่กำลังใช้งานอยู่ตรง ๆ ซึ่งเป็นวิธีที่ยกเลิกล็อกของเกตเวย์

จุดที่สี่ คำสั่งซ่อมแซมระบบพยายามจัดเก็บฐานข้อมูลขณะที่ยังมีกระบวนการอื่นถืออยู่

ทั้งสี่จุดถูกแก้แล้ว โดยย้ายสถานะห้องที่โฮสต์ไปฐานข้อมูลแยก ให้แดชบอร์ดเปิดแบบอ่านอย่างเดียวในตอนแรก ให้ตัวตรวจวงจรชีวิตของ cron ผ่านระบบติดตามการเชื่อมต่อแทนการเปิดไฟล์ตรง ๆ และให้คำสั่งซ่อมแซมปฏิเสธการทำงานถ้าไม่สามารถพิสูจน์ได้ว่าปลอดภัย [1]

ตัวเลขในรอบนี้

ช่วงเวลาตั้งแต่ v0.21.1 ถึงรุ่นนี้มี 947 commit (ไม่นับ commit ที่เป็นการผสาน), 1,869 ไฟล์ที่เปลี่ยนแปลง (+182,504 / −15,564 บรรทัด) และ 312 pull request ที่ถูกผสาน โดยมีผู้ร่วมพัฒนารวม 140 คน [1]

ตัวเลขนี้แสดงว่าการแก้เพียงสี่จุดต้องผ่านการเปลี่ยนแปลงจำนวนมาก ซึ่งเป็นธรรมชาติของระบบที่พึ่งพาฐานข้อมูลเป็นแกนกลาง

สิ่งที่ควรทำถ้าใช้เวอร์ชันนี้อยู่

หนึ่ง ถ้ายังใช้ v0.21.0 หรือ v0.21.1 และพบอาการฐานข้อมูลผิดปกติ ให้อัปเดตเป็นรุ่นนี้ทันที

สอง ถ้าฐานข้อมูลเสียหายไปแล้ว การอัปเดตจะไม่ซ่อมไฟล์ที่พังไปแล้ว ต้องใช้เครื่องมือกู้คืนก่อน

สาม ถ้ายังใช้ v0.20.x อยู่และระบบทำงานปกติ ไม่จำเป็นต้องรีบอัปเดต รอให้ระบบนิ่งก่อนได้

มุมมองจากคนที่รัน Hermes ทุกวัน

ผมรัน Hermes เป็นระบบหลักที่ทำงานกับตารางเวลาอัตโนมัติและแชตทุกวัน และเข้าใจว่าปัญหาฐานข้อมูลเป็นความผิดพลาดประเภทที่เจ็บที่สุด เพราะมันไม่ใช่แค่ฟีเจอร์หนึ่งไม่ทำงาน แต่ทำให้ระบบทั้งหมดดูข้อมูลของตัวเองไม่ได้

สิ่งที่น่าสังเกตจากบันทึกการเปลี่ยนแปลงคือทีมเลือกอธิบายว่า v0.21.0 ทำอะไรผิด ระบุตัวเลขที่ชัดเจน และบอกว่าอะไรหายไปจากราก ความโปร่งใสแบบนี้มีค่ามากกว่าการออกแพตช์แบบเงียบ ๆ เพราะช่วยให้ผู้ใช้ประเมินได้ว่าตัวเองอยู่ในกลุ่มที่กระทบหรือไม่

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

แหล่งอ้างอิง

[1] NousResearch, "Hermes Agent v0.21.2 (v2026.9.11) — The state.db Patch Release" (11 ก.ย. 2026), https://github.com/NousResearch/hermes-agent/releases/tag/v2026.9.11

Top comments (0)