🤖HermesBlog
Hermes Messaging Platforms · Parte 98/9/2026

Matrix — เครือข่ายแชทแบบกระจายศูนย์

Matrix — Decentralized Chat Network — easy-to-understand guide based on official docs

messaging-matrix

Matrix — เครือข่ายแชทแบบกระจายศูนย์

หากคุณเคยต้องการเครือข่ายแชทที่คุณไม่ต้องผูกติดกับเซิร์ฟเวอร์ของใครบางคน Matrix คือคำตอบ มันเป็นโปรโตคอลการส่งข้อความแบบเปิดและเชื่อมต่อถึงกัน (federated) — นึกถึงอีเมล แต่สำหรับการส่งข้อความโต้ตอบแบบทันที คุณสามารถรันโฮมเซิร์ฟเวอร์ของคุณเอง หรือใช้เซิร์ฟเวอร์สาธารณะอย่าง matrix.org ก็ได้ ไม่ว่าวิธีไหน คุณยังคงควบคุมการสนทนาของคุณเอง

Hermes Agent เชื่อมต่อเข้ากับ Matrix ได้โดยตรงผ่าน Python SDK ที่ชื่อ mautrix นั่นหมายความว่าบอทของคุณสามารถแชทกับคุณผ่าน Matrix ได้ โดยใช้พลังทั้งหมดของ Hermes ที่คุณรู้จักและชื่นชอบ — การใช้เครื่องมือ, ความจำ, การใช้เหตุผล, และการตอบสนองแบบเรียลไทม์ มันรองรับข้อความ, ไฟล์, รูปภาพ, เสียง, วิดีโอ และแม้แต่การเข้ารหัสแบบ end-to-end (E2EE) แบบเลือกได้

และนี่คือส่วนที่ดีที่สุด: Hermes ทำงานร่วมกับโฮมเซิร์ฟเวอร์ Matrix ทุกตัว ไม่ว่าจะเป็น Synapse, Conduit, Dendrite หรือเซิร์ฟเวอร์สาธารณะขนาดใหญ่อย่าง matrix.org — เลือกได้ตามใจคุณ

พฤติกรรมของ Hermes

เมื่อเชื่อมต่อแล้ว Hermes มีค่าเริ่มต้นที่ชาญฉลาด นี่คือสรุปโดยย่อ:

บริบท พฤติกรรม
ข้อความส่วนตัว (DMs) Hermes ตอบกลับทุกข้อความ ไม่จำเป็นต้อง @mention มัน ข้อความส่วนตัวแต่ละรายการจะได้รับเซสชันของตัวเอง
ห้อง (Rooms) โดยค่าเริ่มต้น Hermes จะรอการ @mention ก่อนที่จะตอบกลับ คุณสามารถเปลี่ยนได้ด้วย MATRIX_REQUIRE_MENTION=false หรือเพิ่มห้องเฉพาะลงใน MATRIX_FREE_RESPONSE_ROOMS คำเชิญเข้าร่วมห้องจะถูกยอมรับโดยอัตโนมัติ
เธรด (Threads) Hermes รองรับเธรดของ Matrix อย่างเต็มรูปแบบ ตอบกลับในเธรด แล้ว Hermes จะแยกบริบทนั้นออกจากไทม์ไลน์หลักของห้อง เธรดที่บอทเข้าร่วมแล้วไม่จำเป็นต้องมีการ mention
การสร้างเธรดอัตโนมัติ โดยค่าเริ่มต้น Hermes จะสร้างเธรดสำหรับการตอบกลับแต่ละครั้งในห้องโดยอัตโนมัติ ซึ่งช่วยให้การสนทนาเป็นระเบียบและแยกออกจากกัน ปิดได้ด้วย MATRIX_AUTO_THREAD=false
คำสั่ง คำสั่ง /commands ปกติทำงานตามที่คาดหวัง หากไคลเอนต์ของคุณสงวน / ไว้สำหรับคำสั่งท้องถิ่น ให้ใช้ !commands แทน — Hermes จะปรับค่านามแฝงเหล่านั้นให้เป็นมาตรฐานโดยอัตโนมัติ
ตัวควบคุมแบบโต้ตอบ การอนุมัติสำหรับคำสั่งอันตรายและการเลือก /model สามารถใช้ปฏิกิริยา (reactions) ของ Matrix ได้ คุณยังสามารถจำกัดปฏิกิริยาการอนุมัติให้เฉพาะผู้ใช้ที่ร้องขอการกระทำนั้นได้อีกด้วย
กิจกรรมการคิดและการใช้เครื่องมือ Hermes ใช้แผงแบบเธรดที่แก้ไขได้สำหรับกิจกรรมการคิดและการใช้เครื่องมือเมื่อเปิดใช้งาน gateway progress ไม่มีการสแปมไทม์ไลน์หลักด้วยการอัปเดตอีกต่อไป
ห้องที่ใช้ร่วมกัน โดยค่าเริ่มต้น Hermes แยกประวัติเซสชันต่อผู้ใช้ภายในห้อง คนสองคนในห้องเดียวกันจะไม่แชร์บทสนทนาร่วมกัน เว้นแต่คุณจะปิดการใช้งานนั้นอย่างชัดเจน

เคล็ดลับ: เพียงเชิญผู้ใช้ Matrix ของบอทเข้าสู่ห้องใดก็ได้ มันจะเข้าร่วมและเริ่มตอบสนองโดยอัตโนมัติ

สิ่งที่ Hermes ทำได้บน Matrix

นี่คือรายการความสามารถทั้งหมด ตรงจากการประกาศของอะแดปเตอร์:

  • ข้อความ — ได้
  • เธรด — ได้
  • ปฏิกิริยา — ได้
  • การอนุมัติ — ได้
  • ตัวเลือกโมเดล — ได้
  • แผงการคิด — ได้
  • รูปภาพ — ได้ (รวมถึงรูปภาพหลายรูป)
  • ไฟล์ — ได้
  • เสียง/เสียงพูด — ได้
  • วิดีโอ — ได้
  • E2EE — ปิด / เลือกได้ / บังคับ (ตามโหมด)
  • การวินิจฉัย — ได้

โมเดลเซสชันใน Matrix

โดยค่าเริ่มต้น Hermes จะแยกสิ่งต่าง ๆ อย่างเป็นระเบียบ:

  • ข้อความส่วนตัวแต่ละรายการจะได้รับเซสชันของตัวเอง
  • แต่ละเธรดจะได้รับเนมสเปซเซสชันของตัวเอง
  • ผู้ใช้แต่ละคนในห้องที่ใช้ร่วมกันจะได้รับเซสชันของตัวเองภายในห้องนั้น

สิ่งนี้ถูกควบคุมโดย config.yaml:

group_sessions_per_user: true

ตั้งค่าเป็น false เฉพาะเมื่อคุณต้องการให้ทั้งห้องใช้การสนทนาร่วมกันเพียงรายการเดียวอย่างชัดเจน:

group_sessions_per_user: false

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

การกำหนดค่า Mention และเธรด

คุณสามารถปรับแต่งทุกอย่างได้ผ่านตัวแปรสภาพแวดล้อมหรือ config.yaml นี่คือเวอร์ชัน YAML:

matrix:
  require_mention: true           # ต้องมีการ @mention ในห้อง (ค่าเริ่มต้น: true)
  allowed_users:                  # ผู้ใช้ Matrix ที่ได้รับอนุญาตให้ทริกเกอร์การทำงานของเอเจนต์
    - "@alice:matrix.org"
  allowed_rooms:                  # ห้อง Matrix ที่ได้รับอนุญาตให้ทริกเกอร์การทำงานของเอเจนต์
    - "!abc123:matrix.org"
  free_response_rooms:            # ห้องที่ได้รับการยกเว้นจากข้อกำหนดการ mention
    - "!abc123:matrix.org"
  ignore_user_patterns:           # ผู้ใช้ผี (ghost users) จาก bridge/appservice ที่จะไม่สนใจ
    - "^@telegram_"
    - "^@whatsapp_"
  process_notices: false          # ไม่สนใจ m.notice โดยค่าเริ่มต้น
  session_scope: room             # auto|room|thread; แนะนำให้ใช้ room สำหรับห้องโปรเจกต์
  auto_thread: true               # สร้างเธรดสำหรับการตอบกลับโดยอัตโนมัติ (ค่าเริ่มต้น: true)
  dm_mention_threads: false       # สร้างเธรดเมื่อถูก @mention ใน DM (ค่าเริ่มต้น: false)
  max_message_length: 16000       # ขนาดชิ้นส่วนข้อความขาออกในหน่วยอักขระ (ค่าเริ่มต้น: 16000, สูงสุด: 65535)

หรือผ่านตัวแปรสภาพแวดล้อม:

MATRIX_REQUIRE_MENTION=true
MATRIX_ALLOWED_USERS=@alice:matrix.org
MATRIX_ALLOWED_ROOMS=!abc123:matrix.org
MATRIX_FREE_RESPONSE_ROOMS=!abc123:matrix.org,!def456:matrix.org
MATRIX_IGNORE_USER_PATTERNS='^@telegram_,^@whatsapp_'
MATRIX_PROCESS_NOTICES=false
MATRIX_SESSION_SCOPE=room       # แนะนำสำหรับบริบทห้องโปรเจกต์ที่เสถียร
MATRIX_AUTO_THREAD=true
MATRIX_DM_MENTION_THREADS=false
MATRIX_REACTIONS=true          # ค่าเริ่มต้น: true — ปฏิกิริยาอีโมจิระหว่างการประมวลผล
MATRIX_ALLOW_ROOM_MENTIONS=false

เคล็ดลับ: MATRIX_REACTIONS=false จะปิดปฏิกิริยาอีโมจิวงจรชีวิตการประมวลผล (👀/✅/❌) ที่บอทโพสต์บนข้อความขาเข้า มีประโยชน์สำหรับห้องที่ปฏิกิริยามีเสียงดังหรือไม่ได้รับการสนับสนุน

เคล็ดลับอีกข้อ: Hermes ส่ง mention ผู้ใช้ Matrix แบบมีโครงสร้างสำหรับ ID ที่ชัดเจน เช่น @alice:example.org การ mention ทั่วทั้งห้องแบบ @room ถูกควบคุมแยกต่างหาก

นี่คือภาพรวมทั้งหมดของ Matrix ไม่ว่าคุณจะรันโฮมเซิร์ฟเวอร์ของคุณเองหรือเพียงแค่ต้องการแชทแบบกระจายศูนย์ที่เคารพความเป็นส่วนตัวของคุณ Hermes ครอบคลุมทั้งหมดแล้ว ไปเชิญบอทของคุณเข้าห้องแล้วดูมันทำงานจริงได้เลย!

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

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