ตั้งค่าแจ้งเตือนเสียงให้ Claude ทำงานเสร็จ
ปัญหาที่พบบ่อยเมื่อใช้ Claude
เมื่อสั่ง Claude ทำ Task ยาวๆ จำเป็นต้องนั่งเฝ้าหน้าจอเพื่อ:
- ดูว่าติดปัญหาหรือไม่
- อยากส่งคำสั่งถัดไป
สถานการณ์นี้เหนื่อยมากเพราะสมองโดน “lock” ไว้ และไม่สามารถทำอย่างอื่นได้
วิธีแก้: ตั้งค่า Hook เพื่อแจ้งเตือน
ปัญหานี้จะหมดไปเมื่อเราตั้งค่า Claude ให้แจ้งเตือนเมื่อเสร็จงาน!
Hook คืออะไร
Claude Code สามารถตั้งค่า “Hook” ซึ่งเป็นการผูก event ที่เกิดขึ้นกับการทำงานบางอย่างที่เราต้องการได้
ตัวอย่าง:
- Event: แก้ไข code เสร็จแล้ว → Action: จัด format ทุกครั้ง ✅
- Event: ก่อนเอา output เข้า context → Action: บีบอัดข้อมูลเพื่อไม่เปลือง token ✅
Event สำหรับแจ้งเตือน
เราสามารถผูก event เหล่านี้กับการแจ้งเตือน:
- Notification - แจ้งเตือนเมื่อต้องการ input จาก user
- Stop - เมื่อทำงานเสร็จ
เสียง Built-in ใน MacOS
1. เสียง Built-in ของระบบ
เสียง built-in อยู่ใน /System/Library/Sounds เช่น:
Glass.aiffPing.aiff
สามารถเล่นได้ด้วยคำสั่ง afplay:
$afplay /System/Library/Sounds/Ping.aiff
2. Text-to-Speech เช่น Siri
ใช้คำสั่ง say พร้อมกับเสียง Siri:
say -v Siri "Done"
say -v Siri "I need help"
หมายเหตุ: MacOS มีเสียงให้เลือกมากกว่า 30 เสียง และสามารถเล่นไฟล์เสียงของเราเองได้เช่นกัน
ตั้งค่า Hook เพื่อแจ้งเตือนด้วยเสียง
ขั้นตอนการตั้งค่า
1. เปิดไฟล์ ~/.claude/settings.json
2. เพิ่มคำสั่งด้านล่าง:
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "command",
"command": "say -v Siri 'Mission Complete!'",
"async": true
}
]
}
],
"Notification": [
{
"hooks": [
{
"type": "command",
"command": "say -v Siri 'Somebody Help Me!'",
"async": true
}
]
}
]
}
3. เปิด Claude ใหม่แล้วลองใช้งาน
สรุป
การแจ้งเตือนด้วยเสียงช่วยให้เรารู้ว่า Claude ทำงานเสร็จแล้วหรือยัง สะดวกมากเมื่อเราอยู่ใกล้กับคอมแต่ไม่ว่างดู
ข้อแนะนำ: หากปล่อยให้ Claude ทำงานทิ้งไว้และไปข้างนอก หรือใช้ remote-control ลองเปลี่ยนไปแจ้งเตือนทางอื่น เช่น Email เพื่อได้รับการแจ้งเตือนแม้อยู่ไกลจากคอมพิวเตอร์