🤖HermesBlog
แพลตฟอร์มส่งข้อความของ Hermes · Parte 228/9/2026

ntfy — การแจ้งเตือนแบบพุชที่มีน้ำหนักเบา

ntfy — การแจ้งเตือนแบบพุชที่มีน้ำหนักเบา — คู่มือที่เข้าใจง่ายอ้างอิงจากเอกสารอย่างเป็นทางการ

เคยไหมที่อยากให้มือถือสั่นเตือนทันทีที่สคริปต์ทำงานเสร็จ—โดยไม่ต้องติดตั้งแอปแม้แต่ตัวเดียว? นี่คือความมหัศจรรย์ในชีวิตประจำวันของ ntfy: มันเปลี่ยนทุกหัวข้อ (topic) ให้กลายเป็นช่องทาง pub-sub ที่คุณสามารถส่ง ping ได้ด้วยคำขอ HTTP ง่ายๆ

สำหรับผู้ใช้ Hermes Agent แล้ว ntfy คือวิธีที่ง่ายที่สุดในการพกพา AI agent ของคุณไว้ในกระเป๋าเสื้อ ไม่ต้องใช้ SDK ไม่ต้องมี daemon ไม่ต้องติดตั้ง Node.js—แค่ชื่อ topic และแอปมือถือ ntfy ฟรี เท่านั้นเอง นี่คือวิธีตั้งค่า

messaging-ntfy

ทำไม ntfy ถึงเข้ากับ Hermes ราวกับถุงมือ

Hermes คือระบบอัตโนมัติที่เน้นความเบา (lightweight) ntfy เข้ากับปรัชญานี้ได้อย่างลงตัว:

  • ไร้ dependencies — adapter ใช้แค่ httpx ซึ่งมากับ Hermes อยู่แล้ว
  • ใช้ HTTP client ตัวไหนก็ได้ — curl, Python, หรือแม้แต่นาฬิกาอัจฉริยะ
  • โฮสต์เองได้ — รันเซิร์ฟเวอร์ ntfy ของตัวเองสำหรับ topic ส่วนตัว หรือใช้บริการฟรีสาธารณะ ntfy.sh

คุณสมัครรับ topic บนมือถือ ส่งข้อความไปยัง topic นั้นจาก Hermes แล้วรับคำตอบเป็น notification มันคือ push messaging ที่ปราศจากความอ้วนพี

เริ่มต้นอย่างรวดเร็ว: Setup Wizard

เส้นทางที่เร็วที่สุดคือการตั้งค่าแบบมีไกด์:

hermes gateway setup

เลือก ntfy จากเมนู ใส่ชื่อ topic ของคุณ (เช่น hermes-myname-2026) แล้วเสร็จสิ้น ตัว wizard จะเขียน config ไปที่ ~/.hermes/.env

การตั้งค่าด้วยตนเองผ่าน Environment Variables

ชอบแก้ไฟล์เองใช่ไหม? เพิ่มบรรทัดเหล่านี้ลงใน ~/.hermes/.env:

NTFY_TOPIC=hermes-myname-2026
NTFY_ALLOWED_USERS=hermes-myname-2026
NTFY_HOME_CHANNEL=hermes-myname-2026

นี่คือขั้นต่ำสุด นี่คือคำอธิบายของแต่ละตัวแปร:

ตัวแปร จำเป็น วัตถุประสงค์
NTFY_TOPIC ใช่ Topic ที่จะสมัครรับ (ข้อความขาเข้า)
NTFY_SERVER_URL ไม่ ค่าเริ่มต้นคือ https://ntfy.sh; เปลี่ยนเป็นเซิร์ฟเวอร์ที่โฮสต์เองเพื่อความเป็นส่วนตัว
NTFY_TOKEN ไม่ Bearer token (tk_xyz) หรือ user:pass สำหรับการยืนยันตัวตน
NTFY_PUBLISH_TOPIC ไม่ Topic แยกสำหรับข้อความตอบกลับ (ค่าเริ่มต้นคือ NTFY_TOPIC)
NTFY_MARKDOWN ไม่ ตั้งค่าเป็น true เพื่อส่งข้อความตอบกลับพร้อมกับ X-Markdown: true
NTFY_ALLOWED_USERS แนะนำ รายชื่อ topic คั่นด้วยเครื่องหมายจุลภาคที่ถือว่าเป็น user ID
NTFY_ALLOW_ALL_USERS ไม่ อนุญาตทุกคนที่ publish ได้—ปลอดภัยเฉพาะกับ topic ส่วนตัวเท่านั้น
NTFY_HOME_CHANNEL ไม่ Topic เริ่มต้นสำหรับ cron / การแจ้งเตือน
NTFY_HOME_CHANNEL_NAME ไม่ ป้ายชื่อที่มนุษย์อ่านเข้าใจสำหรับ home channel

โมเดลตัวตน: อ่านก่อนนำไปใช้งานจริง

นี่คือจุดที่ต้องระวังกับ ntfy: มันไม่มีบัญชีผู้ใช้จริง ๆ ฟิลด์ title ในข้อความนั้น ถูกควบคุมโดยผู้เผยแพร่ (publisher)—ใครก็ได้ที่สามารถปลอมแปลงได้ ดังนั้น Hermes จึง ไม่ ใช้ title ในการอนุญาตสิทธิ์

แต่ ชื่อ topic เองคือตัวตน ทุกข้อความบน topic จะถูกถือว่ามาจากผู้ใช้คนเดียวกันเชิงตรรกะ NTFY_ALLOWED_USERS โดยปกติแล้วก็แค่ชื่อ topic เอง—เป็น allowlist ที่มีรายการเดียว

ผลกระทบด้านความปลอดภัย: ใครก็ตามที่รู้ topic ของคุณสามารถคุยกับ agent ของคุณได้ เพื่อให้สิ่งนี้เป็นขอบเขตความเชื่อใจที่แท้จริง:

  • โฮสต์ ntfy ด้วยตัวเอง และล็อก topic ด้วย Access Control
  • เฉพาะ client ที่ได้รับอนุญาตเท่านั้นที่สามารถ publish หรือ subscribe ได้

เคล็ดลับสำหรับการใช้งานประจำวัน

ตั้งค่า NTFY_MARKDOWN=true หากคุณต้องการให้ข้อความตอบกลับที่จัดรูปแบบแล้ว (ตัวหนา, รายการ, บล็อกโค้ด) แสดงผลอย่างสวยงามในแอป ntfy มันทำให้ข้อความตอบกลับยาว ๆ จาก agent อ่านง่ายขึ้นมากบนหน้าจอมือถือ

สรุป

ntfy มอบช่องทาง push ที่ง่ายสุด ๆ ให้กับ Hermes: สมัครรับบนมือถือ ตั้งค่า environment variables สามตัว แล้วก็ใช้งานได้เลย ไม่ต้องมีบัญชีคลาวด์ ไม่ต้องมีบริการเสริม ไม่มีช่วงการเรียนรู้

เคล็ดลับสุดท้าย: เริ่มต้นด้วย topic ที่ไม่ซ้ำใคร เช่น hermes-<ชื่อคุณ>-<ปี>—มันแทบจะไม่ชนกับใครบนเซิร์ฟเวอร์สาธารณะ จากนั้น เมื่อคุณเชื่อใจเวิร์กโฟลว์แล้ว ค่อยโฮสต์ ntfy ด้วยตัวเองและเพิ่ม access control เพื่อช่องทางที่เป็นส่วนตัวอย่างแท้จริง ตอนนี้ agent ของคุณอยู่ห่างจากการสั่นเตือนเพียงหนึ่งครั้ง


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

この記事は Hermes Agent のเอกสารทางการに基づいています:เอกสารทางการ › user-guide/messaging/ntfy