Mono
รายชื่อรอ

ตั้งการแจ้งเตือนเมื่อเอเจนต์เขียนโค้ดทำงานเสร็จหรือรอการอนุมัติ

รับการแจ้งเตือนเมื่อเอเจนต์เขียนโค้ดทำงานเสร็จ ล้มเหลว หรือรอให้คุณอนุมัติ บนคอมพิวเตอร์หรือโทรศัพท์ แล้วทดสอบให้เรียบร้อยก่อนลุกจากโต๊ะ

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

คู่มือนี้ใช้ Claude Code เป็นตัวอย่าง ส่วนวิธีทำให้คอมพิวเตอร์ไม่เข้าโหมดพักเครื่องมีคู่มือแยกต่างหาก Mono by Reunified ส่งการแจ้งเตือนเหล่านี้สำหรับเอเจนต์ที่คุณรันผ่าน Mono แต่วิธีนี้ใช้ได้ไม่ว่าคุณจะตั้งค่าแบบไหน

1. เลือกเหตุการณ์ของเอเจนต์ที่ต้องมีการแจ้งเตือน

เหตุการณ์ที่สำคัญมีสามอย่าง:

เหตุการณ์ สิ่งที่คุณทำต่อ
รอการอนุญาต อ่านคำขอ แล้วอนุญาตหรือปฏิเสธ
ทำงานเสร็จ ตรวจผลลัพธ์และรีวิวการเปลี่ยนแปลง
หยุดเพราะเกิดข้อผิดพลาด อ่านข้อผิดพลาดแล้วตัดสินใจว่าจะลองใหม่หรือไม่

ถ้าจะตั้งการแจ้งเตือนเพียงอย่างเดียว ให้เลือกการแจ้งเตือนเมื่อเอเจนต์ขออนุญาต

2. เปิดการแจ้งเตือนใน Claude Code

Claude Code ส่งการแจ้งเตือนเมื่อทำงานเสร็จหรือหยุดรอการอนุญาตในตอนที่ดูเหมือนคุณไม่อยู่ โดยค่าเริ่มต้นจะแสดงการแจ้งเตือนบนเดสก์ท็อปเฉพาะใน Ghostty, Kitty และ iTerm2 (การตั้งค่าเทอร์มินัล) ในเทอร์มินัลอื่น ให้ตั้ง preferredNotifChannel เป็น "terminal_bell" ใน ~/.claude/settings.json เพื่อให้เทอร์มินัลส่งเสียงกริ่ง ถ้าใช้ tmux ให้เพิ่ม set -g allow-passthrough on ลงใน ~/.tmux.conf แล้วโหลดไฟล์ใหม่

หากต้องการเสียงหรือคำสั่งของคุณเอง ให้เพิ่ม hook ในไฟล์เดียวกัน เหตุการณ์ Notification รับ matcher เช่น permission_prompt (คำขออนุมัติรอมาแล้วประมาณหกวินาที) และ idle_prompt (Claude ทำงานเสร็จมาประมาณหนึ่งนาทีและคุณยังไม่ได้พิมพ์อะไร) บน Mac ตัวอย่างนี้เล่นเสียงต่างกันสำหรับแต่ละกรณี:

json
{
  "hooks": {
    "Notification": [
      {
        "matcher": "permission_prompt",
        "hooks": [{ "type": "command", "command": "afplay /System/Library/Sounds/Glass.aiff" }]
      },
      {
        "matcher": "idle_prompt",
        "hooks": [{ "type": "command", "command": "afplay /System/Library/Sounds/Hero.aiff" }]
      }
    ]
  }
}

คู่มือ hook ยังมีคำสั่งแสดงการแจ้งเตือนบนเดสก์ท็อปสำหรับ macOS, Linux และ Windows ด้วย เอเจนต์อื่นทำงานต่างออกไป จึงควรตรวจเอกสารของเอเจนต์นั้น

3. ส่งการแจ้งเตือนไปที่โทรศัพท์

การแจ้งเตือนไปถึงโทรศัพท์ได้สามทาง:

  • แอปของเอเจนต์เอง เมื่อเปิด Remote Control ของ Claude Code อยู่ ให้รัน /config แล้วเปิดตัวเลือกพุชเมื่อ Claude ตัดสินใจ (“Push when Claude decides”) พุชเมื่อต้องดำเนินการ (“Push when actions required”) หรือทั้งสองอย่าง ต้องใช้แพ็กเกจที่รองรับ และต้องลงชื่อเข้าใช้แอป Claude ด้วยบัญชีเดียวกันพร้อมอนุญาตการแจ้งเตือนไว้
  • hook ที่ส่งข้อความพุช เช่น ใช้ curl ส่งไปยังบริการพุชที่ติดตั้งแอปไว้บนโทรศัพท์ของคุณ
  • แอปเสริม ที่ส่งต่อเหตุการณ์ของเซสชันจากคอมพิวเตอร์

ทุกทางต้องให้คอมพิวเตอร์เปิดอยู่ ไม่พักเครื่อง และออนไลน์ โดยที่เอเจนต์ยังทำงานอยู่ เก็บ token ของ hook ไว้ใน ~/.claude/settings.json ไม่ใช่ใน .claude/settings.json ของโปรเจกต์ เพราะไฟล์นั้นอาจถูก commit เข้ารีโพซิทอรี

4. ไม่ให้ข้อความแจ้งเตือนเผยข้อมูลบนหน้าจอล็อก

ใครก็ตามที่อยู่ใกล้โทรศัพท์ที่ล็อกอยู่อ่านตัวอย่างการแจ้งเตือนได้ อย่าใส่ข้อมูลลับ เนื้อหาไฟล์ หรือบรรทัดจาก log ในข้อความของ hook ส่งแค่ชื่อเหตุการณ์และชื่อโปรเจกต์ สำหรับโปรเจกต์สมมติชื่อ “invoice-export” ข้อความ “invoice-export: รอการอนุมัติ” ก็เพียงพอ บน iPhone ให้เปิด “การตั้งค่า > การแจ้งเตือน” แล้วตั้ง “แสดงตัวอย่าง” เป็น “เมื่อไม่ได้ล็อค” Android ก็ซ่อนเนื้อหาที่ละเอียดอ่อนบนหน้าจอล็อกได้เช่นกัน แต่ชื่อตัวเลือกต่างกันไปตามรุ่นโทรศัพท์

ใน Mono การแจ้งเตือนเมื่อทำงานเสร็จจะแสดงข้อความล่าสุดของเอเจนต์ และย่อให้สั้นลงถ้าข้อความยาว ส่วนการแจ้งเตือนขออนุญาตจะแสดงคำขอตามที่เอเจนต์อธิบาย ซึ่งมักเป็นคำสั่งที่จะรัน

5. ทดสอบด้วยงานที่ไม่มีผลเสียก่อนออกไป

บนคอมพิวเตอร์ที่บ้าน ให้เริ่มเซสชันชื่อ “invoice-export check” แล้วขอให้เอเจนต์รันการทดสอบและรายงานข้อที่ไม่ผ่านโดยไม่แก้ไขไฟล์ เอเจนต์ถามก่อนรันคำสั่ง จึงขออนุญาตรัน npm test ที่คอมพิวเตอร์ ให้เปิดหน้าจอหรือแอปอื่นไว้ จากนั้นล็อกโทรศัพท์แล้วไปอยู่อีกห้อง

ใน Mono สิ่งที่ควรเห็นคือ:

  1. การแจ้งเตือน “คำขออนุญาตจากเอเจนต์” ที่ระบุคำสั่งทดสอบ
  2. เมื่อกดการแจ้งเตือน เซสชันนั้นจะเปิดขึ้น แล้วคุณเลือก “อนุญาต” คำขอครั้งต่อไปจะมีการแจ้งเตือนแยกของตัวเอง
  3. “เอเจนต์ทำงานเสร็จใน “invoice-export check”” พร้อมข้อความล่าสุดของเอเจนต์ เช่น “การทดสอบหนึ่งรายการใน dates.test.ts ไม่ผ่านเพราะเรื่องเขตเวลา ไม่ได้แก้ไขไฟล์ใด ๆ”

จากนั้นรันงานที่สองโดยเปิดเซสชันไว้บนโทรศัพท์ ระหว่างที่คุณดูอยู่จะไม่มีการแจ้งเตือนเข้ามา ก่อนออกจากบ้าน ตรวจให้แน่ใจว่าไม่มีอุปกรณ์ใดเปิดเซสชันค้างไว้บนหน้าจอ

6. แก้ปัญหาเมื่อการแจ้งเตือนไม่มา

อาการ สิ่งที่ต้องตรวจ
ไม่มีอะไรมาเลย สิทธิ์การแจ้งเตือนของระบบ โฟกัสหรือห้ามรบกวน และสวิตช์ในตัวแอปเอง
มาเฉพาะบนคอมพิวเตอร์ เปิดการส่งไปยังอุปกรณ์อื่นไว้หรือไม่ โทรศัพท์ลงชื่อเข้าใช้อยู่และอนุญาตการแจ้งเตือนหรือไม่
มาช้าหรือมาพร้อมกันเป็นชุด สรุปการแจ้งเตือนบน iPhone การเพิ่มประสิทธิภาพแบตเตอรี่บน Android หรือคอมพิวเตอร์ที่พักเครื่องอยู่
ไม่มาขณะที่คุณดูอยู่ เป็นเรื่องปกติ: การแจ้งเตือนจะข้ามเซสชันหรือเทอร์มินัลที่คุณกำลังดูอยู่
ไม่มีการแจ้งเตือนขออนุญาต และเอเจนต์ทำงานต่อไปเลย โหมดยอมรับอัตโนมัติ เช่น โหมด YOLO ของ Mono

ใน Mono ให้เปิด “การตั้งค่า > การแจ้งเตือน” แล้วตรวจ “การแจ้งเตือนทั้งหมด” “Code” (เซสชันที่ทำงานเสร็จและที่หยุดไป) “คำขอสิทธิ์” และ “ส่งไปยังอุปกรณ์อื่น” ทุกตัวเลือกเปิดอยู่โดยค่าเริ่มต้น การแจ้งเตือนส่งมาจากคอมพิวเตอร์ที่รันเอเจนต์ จึงต้องเปิด Mono ไว้บนเครื่องนั้น

ก่อนอนุมัติจากโทรศัพท์ ให้อ่านสิ่งที่ต้องตรวจในคำขออนุญาต ส่วนคู่มือเอเจนต์เขียนโค้ดจากโทรศัพท์อธิบายการตั้งค่าส่วนที่เหลือ Mono ยังไม่เปิดให้ใช้ แต่คุณเข้าร่วมรายชื่อรอได้

เขียนโดย

Reunified สร้างแอปที่รวบรวมสิ่งที่กระจัดกระจายกลับมาไว้ด้วยกัน

อ่านเรื่องอื่นต่อ

บทความทั้งหมด

อ่าน 6 นาที

ทำให้ Mac หรือพีซีไม่เข้าโหมดพักเครื่องขณะเอเจนต์เขียนโค้ดทำงาน

ป้องกันไม่ให้ Mac หรือพีซี Windows เข้าโหมดพักเครื่องขณะเอเจนต์เขียนโค้ดทำงานที่ใช้เวลานาน ด้วย caffeinate หรือการตั้งค่าโหมดพัก แล้วคืนค่าเดิมเมื่องานเสร็จ

อ่าน 6 นาที

Context window ของ Claude Code ใกล้เต็ม? เลือก compact, clear หรือเริ่มใหม่

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

เร็ว ๆ นี้

ลงชื่อในรายชื่อรอ

ทิ้งอีเมลไว้ แล้วเราจะแจ้งคุณเมื่อ Mono พร้อมให้ดาวน์โหลด

คุณจะใช้ Mono บนแพลตฟอร์มไหน