🤖HermesBlog
Hermes Official Tutorials · Parte 88/9/2026

Tutorial 8: Session Management

Tutorial 8: Session Management — easy-to-understand guide based on official docs

Official session recap

Hermes tutorial

บทช่วยสอน 8: การจัดการเซสชัน

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

เซสชันทำงานยังไง

ให้คิดว่าเซสชันคือบันทึกการแชทที่มีป้ายชื่อติดไว้ ไม่ว่าคุณจะคุยกับ Hermes ผ่าน CLI, Telegram, Discord, Slack, WhatsApp หรือแพลตฟอร์มอื่นๆ ที่รองรับอีก 20+ แพลตฟอร์ม บทสนทนาของคุณจะถูกเก็บไว้พร้อมประวัติทั้งหมด

ทุกอย่างถูกเก็บในฐานข้อมูล SQLite ที่ ~/.hermes/state.db สำหรับแต่ละเซสชัน Hermes จะติดตาม:

  • ชื่อเรื่องที่ไม่ซ้ำกันและอ่านง่าย
  • แพลตฟอร์มที่คุณใช้ (CLI, Telegram ฯลฯ)
  • โมเดลและการตั้งค่า
  • ประวัติข้อความทั้งหมดพร้อมการเรียกใช้เครื่องมือและผลลัพธ์
  • จำนวนโทเค็นและเวลาประทับ
  • ID เซสชันต้นทาง (สำหรับกรณีที่บทสนทนายาวๆ ถูกแบ่งออก)

อะไรที่เข้าไปในบริบทจริงๆ

นี่คือความเข้าใจผิดที่พบบ่อย: Hermes ไม่ได้อ่านไฟล์หรือรูปภาพทั้งหมดที่คุณเคยส่งซ้ำทุกครั้ง สื่อจะถูกจัดการเป็นรายเทิร์น ถ้าคุณส่งรูปภาพแล้วขอมีม Hermes อาจวิเคราะห์ด้วยวิทัศน์ (vision) หนึ่งครั้ง จากนั้นเทิร์นถัดๆ ไปจะใช้เพียงคำอธิบายข้อความหรือพาธในเครื่อง — ไม่ใช่ไฟล์ JPEG ดิบๆ

ตัวกินบริบทตัวจริงคือข้อความที่ verbose: ทรานสคริปต์ที่วางมา, โลไฟล์ขนาดยักษ์, ดิฟฟ์มหึมา เอกสารมีเคล็ดลับดีๆ: ควรใช้บทสรุป, พาธไฟล์, และข้อความที่เจาะจงเฉพาะส่วน แทนที่จะคัดลอกอาร์ติแฟกต์ขนาดใหญ่เข้าไปในแชท

การกลับมาคุยต่อจาก CLI

นี่คือจุดที่ความมหัศจรรย์เกิดขึ้น มาดูสามวิธีในการกลับไปคุยต่อจากจุดที่ค้างไว้

1. ต่อเซสชันล่าสุด:

hermes --continue
# หรือสั้นกว่า
hermes -c

คำสั่งนี้จะดึงเซสชัน CLI ล่าสุดของคุณและโหลดประวัติทั้งหมด

2. ต่อตามเทอร์มินัล (อันนี้ใหม่และเจ๋งมาก):

การใส่ -c เฉยๆ ตอนนี้จะรู้จักเทอร์มินัลแล้ว Hermes จะวางไฟล์ breadcrumb เล็กๆ ไว้สำหรับแต่ละเซสชันเทอร์มินัล ดังนั้นถ้าคุณมีเทอร์มินัลสองแผงวางเคียงกัน แต่ละแผงจะกลับไปคุยต่อ บทสนทนาของตัวเอง แทนที่จะแย่งกันใช้เซสชันเดียวกัน ไม่มีการปนกันระหว่างแผงอีกต่อไป!

ถ้าไม่มี breadcrumb (ใช้ครั้งแรก หรือเก่ากว่า 30 วัน) มันจะถอยไปใช้เซสชันล่าสุดแทน คุณสามารถปิดฟีเจอร์นี้ได้ด้วยการตั้งค่า session.terminal_continue: false ใน config.yaml

3. กลับมาคุยต่อด้วยชื่อ:

ตั้งชื่อเซสชันให้มีความหมาย แล้วคุณสามารถกระโดดกลับเข้าไปได้ทันที:

hermes -c "my project"

ถ้ามีชื่อที่คล้ายกัน เช่น “my project”, “my project #2” ฯลฯ Hermes จะเลือกอันล่าสุดให้อัตโนมัติ

การกลับไปที่เซสชันเฉพาะ

ต้องกลับไปหาบทสนทนาใดบทสนทนาหนึ่งโดยเฉพาะไหม? ใช้ session ID:

hermes --resume 20250305_091523_a1b2c3d4
# หรือใช้ชื่อเรื่อง
hermes --resume "refactoring auth"
# หรือแค่เซสชันล่าสุด
hermes --resume latest

เคล็ดลับจากเอกสาร

  • /compress — ใช้เมื่อเซสชันยาวเกินไป มันจะลดบริบทที่ใช้งานอยู่ (แต่จำไว้ว่า: ไม่ใช่การลบเพื่อความเป็นส่วนตัว)
  • /new payments-refactor — เริ่มเธรดใหม่พร้อมตั้งชื่อทันที ทำให้ค้นหาเจอได้ง่ายด้วย /resume
  • hermes sessions prune — ใช้เมื่อต้องการลบเซสชันเก่าที่จบไปแล้วเท่านั้น
  • hermes sessions optimize — ถ้า state.db แค่ใหญ่เกินไป คำสั่งนี้จะรวมดัชนีค้นหาและทำความสะอาดโดยไม่แตะต้องข้อมูลของคุณ เริ่มจากคำสั่งนี้ก่อนเลย!

สรุป

การจัดการเซสชันคือพลังวิเศษด้านความจำของคุณ ไม่ว่าคุณจะจัดการหลายโปรเจกต์พร้อมกันในเทอร์มินัลต่างๆ หรือกลับไปแก้ดีบักเกมเมื่อสัปดาห์ก่อน Hermes จัดการให้ได้หมด ข้อควรจำหลักๆ: ใช้ /compress สำหรับแชทที่ยาว, ตั้งชื่อเซสชันด้วย /new <ชื่อ> และปล่อยให้ -c ที่รู้จักเทอร์มินัลช่วยจัดระเบียบแผงของคุณ

แชทให้สนุกนะ!


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

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