วิธีติดตั้ง Hermes Agent บน VPS ราคาประหยัด
Hermes Agent ไม่จำเป็นต้องใช้ GPU เพราะรันโมเดลจากที่อื่น แนะนำให้ใช้ VPS ราคา $5 และติดตั้งอย่างปลอดภัยด้วย systemd ProtectSystem=strict และ UFW สำหรับ IPv6
Hermes Agent คืออะไร
Hermes Agent คือ AI agent แบบ self-hosted จาก Nous Research ที่เปิดตัวเมื่อเดือนกุมภาพันธ์ 2026 คุณสามารถรันโปรแกรมนี้บนเซิร์ฟเวอร์ส่วนตัว โดยโปรแกรมจะเก็บข้อมูลโปรเจกต์ไว้ในหน่วยความจำแบบถาวร สามารถเขียนทักษะที่นำกลับมาใช้ใหม่ได้เองในขณะทำงาน และติดต่อสื่อสารผ่านแอปพลิเคชันแชทอย่าง Telegram และ Discord โปรแกรมนี้ไม่ยึดติดกับโมเดลใดโมเดลหนึ่ง (model-agnostic) คุณสามารถเชื่อมต่อกับ language model ใดก็ได้ตามต้องการ และมีขนาดเล็กพอที่จะรันบน VPS ราคา $5, ใน Docker หรือผ่าน SSH
เช่นเดียวกับ agent ทั่วไป คุณค่าของมันมาจากการทำงานแทนคุณ ดังนั้นจึงจำเป็นต้องติดตั้งอย่างระมัดระวัง Agent ที่สามารถจดจำ เรียนรู้ และทำงานได้ คือกระบวนการที่ทำงานอยู่ตลอดเวลาและมีสิทธิ์เข้าถึงเซิร์ฟเวอร์ของคุณ คู่มือนี้จะสอนวิธีการติดตั้งอย่างปลอดภัย โดยใช้มาตรฐานการป้องกัน (hardening) แบบเดียวกับที่ใช้ใน การรัน OpenClaw อย่างปลอดภัย
การติดตั้งด้วยคำสั่งเดียว และเหตุผลที่ควรเริ่มอ่านจากส่วนนี้ก่อน
Hermes สามารถติดตั้งได้ด้วยคำสั่งเดียว:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bashวิธีนี้สะดวก แต่เป็นรูปแบบที่ควรระวัง การใช้ pipe ส่ง script จากอินเทอร์เน็ตเข้าสู่ shell โดยตรง จะเป็นการรันคำสั่งทุกอย่างที่อยู่ใน script นั้นด้วยสิทธิ์ของผู้ใช้ที่รันคำสั่ง ก่อนจะรันบนเซิร์ฟเวอร์จริง ให้ดาวน์โหลดไฟล์มาตรวจสอบก่อน แล้วจึงรันด้วย user เฉพาะ แทนที่จะรันด้วย root:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh -o hermes-install.sh
less hermes-install.shนี่ไม่ใช่เรื่องความไม่ไว้วางใจใน Hermes โดยเฉพาะ แต่เป็นนิสัยที่ช่วยป้องกันไม่ให้การติดตั้ง curl | bash กลายเป็นจุดอ่อนที่สุดในระบบของคุณ
การกำหนด user ที่ไม่มีสิทธิ์สูง (unprivileged user)
จงรัน Hermes ด้วย system account ของตัวเอง และห้ามรันด้วย root เพื่อป้องกันไม่ให้ bug หรือคำสั่งที่ผิดพลาดส่งผลกระทบต่อส่วนอื่นของเครื่อง ให้สร้าง user ที่ไม่มี login shell:
sudo useradd --system --home /opt/hermes --shell /usr/sbin/nologin hermesติดตั้ง Hermes ภายใต้ /opt/hermes และกำหนดให้ account นั้นเป็นเจ้าของไฟล์ เนื่องจากตัวติดตั้งอย่างเป็นทางการจะติดตั้งลงใน user ที่รันคำสั่ง ดังนั้นให้รัน script ที่ดาวน์โหลดมาด้วย user hermes เช่น sudo -u hermes bash hermes-install.sh เพื่อให้ไฟล์ไปอยู่ที่ home directory ของ user นั้นแทนที่จะเป็นของคุณ เหตุผลคือเช่นเดียวกับ การรัน services as an unprivileged user: ขอบเขตความเสียหายที่ agent สามารถทำได้จะถูกจำกัดไว้เท่ากับสิทธิ์ของ account ที่ใช้รัน
การตั้งค่า firewall และแยกส่วนข้อมูลสำคัญ
Hermes ทำงานโดยการเชื่อมต่อออกไปยัง model และแอปพลิเคชันแชทที่คุณเชื่อมต่อไว้ ดังนั้นจึงไม่จำเป็นต้องรับการเชื่อมต่อขาเข้า (inbound connections) จากอินเทอร์เน็ต ให้ตั้งค่า firewall แบบ default-deny สำหรับเซิร์ฟเวอร์:
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enableโปรดระวัง ช่องโหว่ของ IPv6 firewall เนื่องจากกฎที่ครอบคลุมเฉพาะ IPv4 อาจทำให้บริการถูกเปิดเผยผ่าน IPv6 ได้ ให้เก็บ model API key และ chat tokens ไว้ในไฟล์ที่เฉพาะ user hermes เท่านั้นที่อ่านได้ (mode 600) และให้โหลดค่าเข้าสู่ service แทนการพิมพ์ลงใน command line ซึ่งจะทำให้ข้อมูลค้างอยู่ใน shell history
การรัน Hermes ในฐานะ hardened systemd service
systemd unit จะช่วยให้ Hermes ทำงานต่อได้แม้คุณจะ log out ออกไปแล้ว หรือหลังจาก reboot และจะเริ่มทำงานใหม่หากโปรแกรม crash นอกจากนี้ยังช่วยให้คุณเพิ่มการทำ sandboxing ระดับ kernel เพื่อจำกัดสิทธิ์การเข้าถึงไฟล์ในระบบ ให้เปิดใช้งาน NoNewPrivileges, ProtectSystem=strict, PrivateTmp และ ProtectHome เพื่อจำกัดขอบเขตหากเกิดการบุกรุก
สร้าง hardened unit ที่นี่ จากนั้นคัดลอกไปยัง /etc/systemd/system/hermes.service โดย unit นี้จะเริ่มทำงานที่ hermes gateway ซึ่งเป็น process หลักที่เชื่อมต่อกับแอปแชท ให้รัน hermes --help หลังติดตั้งเพื่อตรวจสอบคำสั่งและ path ของ binary ในเวอร์ชันของคุณก่อนจะ enable service:
สำหรับรายละเอียดเกี่ยวกับ directives รวมถึงขั้นตอน daemon-reload และ enable --now สามารถอ่านได้ใน การรันโปรแกรมในฐานะ systemd service:
sudo systemctl daemon-reload
sudo systemctl enable --now hermesการป้องกันเซิร์ฟเวอร์โดยรอบ
ขั้นตอนสุดท้ายคือการป้องกันทางเข้าหลัก ให้เปลี่ยนการเข้าถึง SSH เป็นแบบ key-only และปิดการ login ด้วย root ตามวิธีใน SSH hardening on a VPS เพื่อไม่ให้ใครสามารถเดา account ที่คุณใช้จัดการเครื่องได้ Agent ที่มีหน่วยความจำถาวรเป็นสิ่งที่มีค่าและควรได้รับการปกป้อง วิธีที่ง่ายที่สุดคือการทำให้แน่ใจว่าไม่มีใครสามารถ login เข้าสู่เซิร์ฟเวอร์ที่มันทำงานอยู่ได้
หากคุณต้องการทำความเข้าใจกลไกการทำงานแทนการใช้ agent สำเร็จรูป การสร้าง AI agent ของคุณเองบน VPS จะอธิบายขั้นตอนอย่างละเอียด
FAQ
ฉันสามารถรัน Hermes Agent บน VPS ราคาถูกได้หรือไม่?
ได้ Hermes ถูกออกแบบมาให้รันบนเซิร์ฟเวอร์ขนาดเล็ก โดย VPS ราคา $5 ก็เพียงพอสำหรับการใช้งาน agent ส่วนตัวแบบเปิดทิ้งไว้ตลอดเวลา เนื่องจากโปรแกรมเน้นการเชื่อมต่อออกไปยัง language model และแอปแชท ไม่ได้รองรับ traffic จำนวนมาก จึงใช้ทรัพยากรน้อย เพียงแค่กำหนด user เฉพาะ, ตั้งค่า firewall และใช้ systemd service เซิร์ฟเวอร์ขนาดเล็กก็สามารถรันได้อย่างสบาย
script การติดตั้งแบบบรรทัดเดียวปลอดภัยหรือไม่?
การติดตั้งแบบ curl | bash นั้นสะดวก แต่แนวทางที่ปลอดภัยคือการดาวน์โหลด script มาตรวจสอบก่อนรัน และควรเลือกรันด้วย user เฉพาะแทนที่จะเป็น root เพื่อให้ installer ที่ถูก pipe มาจากโปรเจกต์ใดก็ตาม ไม่สามารถทำอะไรได้เกินกว่าสิทธิ์ที่ account นั้นได้รับ นี่ไม่ใช่เรื่องเฉพาะของ Hermes แต่เป็นแนวทางปฏิบัติที่ดีสำหรับการติดตั้งทุกรูปแบบที่มีลักษณะนี้
ฉันจะรัน Hermes โดยไม่ใช้ root ได้อย่างไร?
ให้สร้าง system user เฉพาะที่ไม่มี login shell, ติดตั้ง Hermes ภายใต้ directory ที่ user นั้นเป็นเจ้าของ เช่น /opt/hermes และรัน service ด้วย account นั้น หาก agent ถูกบุกรุก ความเสียหายจะถูกจำกัดอยู่เพียงเท่าที่ account นั้นสามารถเข้าถึงได้
ฉันจะทำให้ Hermes ทำงานต่อเนื่องแม้จะ log out ออกไปแล้วได้อย่างไร?
ให้รันในฐานะ systemd service โดยใช้ unit file เพื่อให้ Hermes เริ่มทำงานตอน boot, เริ่มทำงานใหม่หาก crash และทำงานต่อแม้ session SSH จะสิ้นสุดลง ในขณะที่ตัวเลือก sandboxing ของ systemd จะช่วยจำกัดสิทธิ์การเข้าถึงของ process ให้สร้าง hardened unit ด้วยเครื่องมือด้านบนและเปิดใช้งานด้วย systemctl enable --now hermes
Hermes Agent จำเป็นต้องใช้ GPU หรือไม่?
ไม่จำเป็น Hermes คือ runtime ของ agent ไม่ใช่ตัว language model ดังนั้นจึงสามารถรันบน VPS ที่มีเฉพาะ CPU ได้อย่างไม่มีปัญหา การคำนวณหนักๆ จะเกิดขึ้นที่ฝั่งของ model ซึ่งโดยปกติคือ hosted API ที่คุณเชื่อมต่อด้วย หากคุณต้องการรัน model บนเครื่องเดียวกัน ให้เลือกขนาดเครื่องตามความต้องการของ model แทนที่จะเป็น Hermes และสำหรับการรัน model แบบ CPU-only ให้ดูข้อมูลใน คู่มือ Ollama