คลังปลั๊กอินที่ปักหมุด SHA: เมื่อ Hermes เลิกให้เราโหลดโค้ดคนแปลกหน้าแบบเชื่อใจ
โดย Nokka (นก-กา) | 4 ตุลาคม 2026
บทความนี้เขียนโดย AI (deepseek-v4.1-flash) ผ่าน Hermes Agent ภายใต้การควบคุมและตรวจสอบคุณภาพโดยมนุษย์ - Nokka (นก-กา)
คุณเคยติดตั้งปลั๊กอินของเครื่องมือที่ตัวเองใช้ แล้วไม่รู้เลยว่าโค้ดที่โหลดมานั้นเป็นเวอร์ชันไหน ใครตรวจมาแล้วบ้างไหม?
ผมมองว่าช่องว่างนี้เป็นเรื่องที่ระบบปลั๊กอินของเครื่องมือส่วนใหญ่ปล่อยไว้ และ Hermes Agent v0.21.2 ที่ออกเมื่อ 11 กันยายน 2026 เลือกอุดมันด้วยวิธีที่ตรงไปตรงมา [1]
ใจความสำคัญ
- คลังปลั๊กอินแบบคัดกรองแล้ว พร้อมการปักหมุด SHA ให้ทุกครั้งที่ติดตั้งรู้แน่ว่าได้โค้ดชิ้นไหน [1]
- มีด่านตรวจรับเข้าคลังเป็นระบบ ไม่ใช่การเปิดรับทุกอย่างที่ส่งเข้ามา [1]
- เดสก์ท็อปได้หน้าปลั๊กอินหน้าเดียวที่ดูแลทั้งปลั๊กอินของ agent และของเดสก์ท็อป [1]
- ติดตั้งปลั๊กอินจากที่เก็บโค้ดส่วนตัวได้ด้วยข้อมูลรับรองที่เครื่องมีอยู่แล้ว [1]
- ปลั๊กอินในโปรเจกต์ถูกปิดโดยค่าเริ่มต้น และเปิดได้เฉพาะเมื่อคุณไว้ใจที่เก็บโค้ดนั้นจริง [2]
ปัญหาที่คนรัน agent เจอกันทุกคน
ปลั๊กอินคือโค้ดที่เราให้สิทธิ์ทำงานในเครื่องของเรา [4]
มันเพิ่มเครื่องมือใหม่ได้ และในกรณีของ Hermes มันยังลงทะเบียนฮุกที่ทำงานอัตโนมัติทุกครั้งที่มีการเรียกเครื่องมือได้ด้วย [2]
พูดง่ายๆ คือคุณกำลังให้โค้ดของคนอื่นมารันในบริบทที่มองเห็นงานของคุณ
ถ้าคุณติดตั้งจากที่เก็บของใครก็ได้ โดยไม่รู้ว่าโค้ดที่ได้เป็นคอมมิตไหน และไม่รู้ว่าผ่านการตรวจอะไรมาบ้าง
สิ่งที่คุณมีไม่ใช่ระบบปลั๊กอิน แต่เป็นความเชื่อใจที่ไม่มีหลักประกัน
สิ่งที่รุ่นนี้ทำเพิ่ม
บันทึกการออกของรุ่น v0.21.2 ระบุไว้สั้นๆ สามส่วน [1]
ส่วนแรกคือคลังปลั๊กอินที่มีการคัดกรองแล้ว พร้อมการปักหมุดด้วยค่า SHA มีเครื่องมือบรรทัดคำสั่ง ด่านตรวจรับเข้า เอกสาร และหน้าจอแดชบอร์ดครบ [1]
ส่วนที่สองคือเดสก์ท็อปได้หน้าปลั๊กอินหน้าเดียว ที่ดูแลทั้งปลั๊กอินของ agent และปลั๊กอินของเดสก์ท็อป
ในหน้านั้นทำได้ตั้งแต่ติดตั้ง เรียกดูคลัง ไปจนถึงปักหมุดที่คอมมิตที่ต้องการ โดยไม่ต้องออกจากหน้า [1]
ส่วนที่สามคือปลั๊กอินชื่อ Radio ที่มาในรูปแบบชุดเครื่องมือพัฒนาที่เปิดให้เลือกใช้ ไม่ได้บังคับติดตั้งมาพร้อมระบบ [1]
ทำไมการปักหมุด SHA ถึงเป็นเรื่องใหญ่
ค่า SHA ในที่นี้คือรหัสเฉพาะของคอมมิตในระบบควบคุมเวอร์ชัน
การปักหมุดหมายความว่า เมื่อคุณติดตั้งปลั๊กอิน ระบบยึดโค้ด ณ คอมมิตที่ระบุไว้ ไม่ใช่ยึดว่าโค้ดที่หัวสาขาตอนนี้คืออะไร
ความต่างนี้สำคัญมากในทางปฏิบัติ เพราะเจ้าของปลั๊กอินสามารถแก้โค้ดภายหลังได้ตลอด ถ้าไม่มีการปักหมุด วันที่คุณติดตั้งกับวันที่คุณอัปเดตอาจได้โค้ดคนละชุด โดยที่คุณไม่รู้ตัว
ผมมองว่านี่คือหลักการที่โลกซอฟต์แวร์ใช้กันมานานในรูปแบบอื่น เช่นการล็อกเวอร์ชันของไลบรารีในไฟล์กำหนด dependencies
การเอามาใช้กับปลั๊กอินของ agent คือการยอมรับว่าปลั๊กอินไม่ใช่ของเล่น แต่เป็นโค้ดที่ได้สิทธิ์ในเครื่องจริง
ด่านตรวจรับเข้าคลัง
อีกส่วนที่ผมสนใจคือคำว่า admission checks หรือด่านตรวจรับเข้า
บันทึกการออกไม่ได้ลงรายละเอียดว่าด่านนี้ตรวจอะไรบ้างในรุ่นนี้ [1] ผมจึงไม่เดาแทน และจะไม่เขียนว่ามันตรวจความปลอดภัยครบทุกชั้นหรือไม่
แต่การมีอยู่ของด่านนั้นบอกเจตนาได้ชัด
ถ้าคลังเปิดรับทุกอย่างที่ส่งเข้ามา คำว่าคัดกรองจะไม่มีความหมาย
การมีด่านตรวจรับเข้าแยกต่างหากหมายความว่ามีคนหรือมีกระบวนการที่ตัดสินว่าโค้ดชิ้นไหนควรอยู่ในคลังที่คนอื่นจะโหลดไปใช้ [1]
เอกสารทางการเขียนเตือนไว้ตรงๆ ว่าการอยู่ในคลังไม่ได้แปลว่าผ่านการตรวจโค้ด ระบบตรวจเฉพาะข้อมูลกำกับและความสามารถที่ปลั๊กอินประกาศไว้ตอนรับเข้าเท่านั้น [2]
สำหรับผม นี่คือสิ่งที่เปลี่ยนความหมายของคำว่าคลังปลั๊กอิน จากที่เคยเป็นแค่รายการรวมลิงก์ เป็นรายการที่ผ่านการพิจารณาแล้ว
เดสก์ท็อปได้หน้าปลั๊กอินหน้าเดียว
ก่อนรุ่นนี้ การจัดการปลั๊กอินของ agent กับของเดสก์ท็อปอยู่คนละที่
รุ่น v0.21.2 รวมไว้ในหน้าเดียว ดูแลทั้งสองประเภท ตั้งแต่การติดตั้ง การเรียกดูคลัง ไปจนถึงการปักหมุดที่คอมมิต [1]
ผมอ่านตรงนี้แล้วนึกถึงปัญหาที่คนใช้จริงเจอบ่อย คือไม่รู้ว่าปลั๊กอินที่ติดตั้งอยู่ตอนนี้มาจากไหน และเป็นเวอร์ชันอะไร
การมีหน้าเดียวที่บอกได้ทั้งสองคำถาม เป็นเรื่องที่ดูเล็ก แต่ลดความสับสนในงานจริงได้มาก
ปลั๊กอินส่วนตัวก็ใช้ข้อมูลรับรองเดิม
อีกข้อที่เชื่อมกับความสามารถด้านรหัสผ่านของรุ่นเดียวกัน
ปลั๊กอินจากที่เก็บโค้ดส่วนตัวสามารถติดตั้งได้ด้วยข้อมูลรับรองที่เครื่องมีอยู่แล้ว [1]
ข้อมูลรับรองถูกส่งเป็นเฮดเดอร์ใช้ครั้งเดียวสำหรับการติดตั้งหรืออัปเดตครั้งนั้น และไม่ถูกเขียนลงไฟล์ตั้งค่าของที่เก็บ [2]
ผมว่าจุดนี้คือหลักฐานว่าทีมผู้พัฒนาเข้าใจปัญหาจริง ไม่ได้แก้เฉพาะจุดที่คนบ่นมากที่สุด แต่แก้หลักการเดียวกันให้ครบทั้งระบบ
สถานะบนเครื่องที่ผมใช้จริง
เพื่อความตรงไปตรงมา ผมต้องบอกว่าผมรัน Hermes แบบบรรทัดคำสั่งและเกตเวย์ ไม่ได้ใช้เดสก์ท็อป
เมื่อสั่งดูรายการปลั๊กอินบนเครื่องนี้ ระบบรายงานว่ามีปลั๊กอินทั้งหมด 61 รายการ เป็นปลั๊กอินที่มาพร้อมระบบ 59 รายการ และ 2 รายการที่มาในรูปแบบ entrypoint ของแพลตฟอร์ม [3]
ในจำนวนนั้นมีที่เปิดใช้จริง 55 รายการ ที่เหลือ 6 รายการยังไม่ถูกเปิด [3]
ดังนั้นสิ่งที่ผมเล่าเรื่องหน้าปลั๊กอินของเดสก์ท็อปมาจากเอกสารทางการ ไม่ใช่จากการที่ผมลองเอง
ผมยืนยันว่าบนเครื่องนี้มีกลไกปลั๊กอินทำงานอยู่จริง [3] และเอกสารระบุว่าปลั๊กอินเป็นแบบเลือกใช้ ไม่ได้โหลดทุกตัวโดยอัตโนมัติ [2]
ปลั๊กอินในโปรเจกต์ถูกปิดโดยค่าเริ่มต้น
มีรายละเอียดหนึ่งในเอกสารที่ผมว่าสำคัญมากและควรถูกพูดถึงให้มากกว่านี้
ปลั๊กอินที่วางไว้ในโฟลเดอร์ของโปรเจกต์ ซึ่งจะถูกโหลดก็ต่อเมื่อคุณรัน Hermes ในโฟลเดอร์นั้น ถูกปิดไว้โดยค่าเริ่มต้น [2]
ถ้าจะเปิดใช้ ต้องตั้งค่าตัวแปรสภาพแวดล้อมยืนยันก่อนว่าไว้ใจที่เก็บโค้ดนั้น ซึ่งเอกสารแนะนำให้ทำเฉพาะกับที่เก็บที่คุณเชื่อถือจริง [2]
เหตุผลที่ผมว่าข้อนี้สำคัญคือมันกันสถานการณ์ที่อันตรายที่สุดของระบบปลั๊กอิน
นั่นคือการโหลดโค้ดที่มากับโปรเจกต์ ซึ่งคุณอาจเพิ่งโคลนมาเพื่อดูเท่านั้น โดยที่คุณไม่ได้ตั้งใจให้มันรันอะไรในเครื่องของคุณเลย [2]
ผมมองว่านี่คือการออกแบบที่คิดถึงผู้ใช้จริง ไม่ได้คิดถึงความสะดวกอย่างเดียว
วิธีเขียนปลั๊กอินของตัวเอง
ส่วนที่ผมชอบที่สุดในเอกสารคือความเรียบง่าย
การสร้างปลั๊กอินคือการวางโฟลเดอร์ลงในที่ที่กำหนด โดยมีไฟล์ manifest ไฟล์ลงทะเบียน ไฟล์สคีมาของเครื่องมือ และไฟล์ตัวจัดการเครื่องมือ [2]
เมื่อเริ่ม Hermes เครื่องมือใหม่จะปรากฏอยู่ข้างเครื่องมือที่มีมาให้ และโมเดลเรียกใช้ได้ทันที [2]
เอกสารยังระบุชัดว่าปลั๊กอินแบบนี้เหมาะกับเครื่องมือเฉพาะตัว เฉพาะทีม หรือเฉพาะโปรเจกต์
ส่วนเครื่องมือที่เป็นแกนกลางของระบบจริงๆ มีเส้นทางแยกต่างหาก คือแก้ในโค้ดหลักโดยตรง [2]
ผมว่าการบอกแบบนี้ตรงไปตรงมามาก เพราะหลายระบบไม่กล้าบอกว่าเส้นทางสองเส้นนี้ต่างกัน และปล่อยให้คนใช้พยายามดัดแปลงแกนกลางโดยไม่จำเป็น
แล้วอะไรคือคำถามที่ควรถามก่อนติดตั้งปลั๊กอิน
ผมอยากปิดด้วยวิธีคิดที่ใช้ได้กับทุกเครื่องมือ ไม่ได้จำกัดอยู่ที่ Hermes
คำถามแรกคือ โค้ดที่กำลังจะรันนี้เป็นคอมมิตไหน ถ้าตอบไม่ได้ ก็ยังไม่ควรติดตั้ง
คำถามสองคือ ปลั๊กอินนี้ได้สิทธิ์อะไรบ้าง เพราะการเพิ่มเครื่องมือหมายถึงการเพิ่มสิ่งที่ agent ทำได้ในเครื่องของคุณ
คำถามสามคือ ถ้าที่เก็บโค้ดนั้นเปลี่ยนภายหลัง คุณจะรู้ตัวไหม
สามคำถามนี้ใช้ได้ทั้งกับระบบปลั๊กอินของ Hermes และของเครื่องมืออื่นทุกตัวที่คุณใช้อยู่
แล้วปลั๊กอินตัวสุดท้ายที่คุณติดตั้งไป คุณตอบได้กี่ข้อ?
แหล่งอ้างอิง
[1] GitHub, NousResearch/hermes-agent "Hermes Agent v0.21.2 (v2026.9.11)" บันทึกการออก ส่วน Plugin catalog and one Plugins page และการติดตั้งปลั๊กอินจากที่เก็บส่วนตัวด้วยข้อมูลรับรองที่เครื่องมีอยู่แล้ว (11 กันยายน 2026 / ค.ศ. 2026) · https://github.com/NousResearch/hermes-agent/releases/tag/v2026.9.11
[2] Hermes Agent Docs, "Plugins" เอกสารทางการ อธิบายโครงสร้างปลั๊กอิน ตัวอย่างที่ทำงานได้จริง ฮุก ความสามารถของปลั๊กอิน และการปิดปลั๊กอินในโปรเจกต์โดยค่าเริ่มต้น (เข้าถึง 4 ตุลาคม 2569 / ค.ศ. 2026) · https://hermes-agent.nousresearch.com/docs/user-guide/features/plugins
[3] ผลจากการสั่งตรวจสอบบนเครื่องที่ผู้เขียนใช้จริง ด้วยคำสั่ง hermes --version และ hermes plugins list --plain เทียบกับซอร์สโค้ดของ Hermes Agent (4 ตุลาคม 2569 / ค.ศ. 2026) · https://github.com/NousResearch/hermes-agent
[4] GitHub, NousResearch/hermes-agent "Hermes Agent v0.21.5 (v2026.9.24)" บันทึกการออก รุ่นล่าสุด (24 กันยายน 2026 / ค.ศ. 2026) · https://github.com/NousResearch/hermes-agent/releases/tag/v2026.9.24
Top comments (0)