webchat-audio-notifications
Add browser audio notifications to Moltbot/Clawdbot webchat with 5 intensity levels - from whisper to impossible-to-miss (only when tab is backgrounded).
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/brokemac79/webchat-audio-notifications🔔 Webchat Audio Notifications
Browser audio notifications for Moltbot/Clawdbot webchat. Plays a notification sound when new messages arrive - but only when the tab is in the background.
Features
- 🔔 Smart notifications - Only plays when tab is hidden
- 🎚️ Volume control - Adjustable 0-100%
- 🎵 5 intensity levels - Whisper (1) to impossible-to-miss (5)
- 📁 Custom sounds - Upload your own (MP3, WAV, OGG, WebM)
- 🔕 Easy toggle - Enable/disable with one click
- 💾 Persistent settings - Preferences saved in localStorage
- 📱 Mobile-friendly - Graceful degradation on mobile
- 🚫 Autoplay handling - Respects browser policies
- ⏱️ Cooldown - Prevents spam (3s between alerts)
- 🐞 Debug mode - Optional logging
Quick Start
Test the POC
cd examples
python3 -m http.server 8080
# Open http://localhost:8080/test.html
Test steps:
- Switch to another tab
- Click "Trigger Notification"
- Hear the sound! 🔊
Basic Integration
// Initialize
const notifier = new WebchatNotifications({
soundPath: './sounds',
soundName: 'level3', // Medium intensity (default)
defaultVolume: 0.7
});
await notifier.init();
// Trigger on new message
socket.on('message', () => notifier.notify());
// Use different levels for different events
socket.on('mention', () => {
notifier.setSound('level5'); // Loudest for mentions
notifier.notify();
});
API
Constructor Options
new WebchatNotifications({
soundPath: './sounds', // Path to sounds directory
soundName: 'level3', // level1 (whisper) to level5 (very loud)
defaultVolume: 0.7, // 0.0 to 1.0
cooldownMs: 3000, // Min time between alerts
enableButton: true, // Show enable prompt
debug: false // Console logging
});
Intensity Levels:
level1- Whisper (9.5KB) - Most subtlelevel2- Soft (12KB) - Gentlelevel3- Medium (13KB) - Defaultlevel4- Loud (43KB) - Attention-gettinglevel5- Very Loud (63KB) - Impossible to miss
Methods
init()- Initialize (call after Howler loads)notify(eventType?)- Trigger notification (only if tab hidden)test()- Play sound immediately (ignore tab state)setEnabled(bool)- Enable/disable notificationssetVolume(0-1)- Set volumesetSound(level)- Change intensity ('level1' through 'level5')getSettings()- Get current settings
Browser Compatibility
| Browser | Version | Support |
|---|---|---|
| Chrome | 92+ | ✅ Full |
| Firefox | 90+ | ✅ Full |
| Safari | 15+ | ✅ Full |
| Mobile | Latest | ⚠️ Limited |
Overall: 92% of users (Web Audio API support)
File Structure
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-brokemac79-webchat-audio-notifications": {
"enabled": true,
"auto_update": true
}
}
}Tags
Related Skills
voice-ai-tts
High-quality voice synthesis with 9 personas, 11 languages, and streaming using Voice.ai API.
riddle
Hosted browser automation API for agents. Screenshots, Playwright scripts, workflows — no local Chrome needed.
Agent Browser (Juan's fork)
A fast Rust-based headless browser automation CLI with Node.js fallback that enables AI agents to navigate, click, type, and snapshot pages via structured commands.
ressemble
Text-to-Speech and Speech-to-Text integration using Resemble AI HTTP API.
voice-ai-tts
High-quality voice synthesis with 9 personas, 11 languages, and streaming using Voice.ai API.