据 AlphaMoat 统计,截至 2026-09,Webchat Audio Notifications 累计下载 3,430 次、获 1 个星标,在全部 5,078 个 AI 技能中排名第 3,246 位,在「开发编程」分类(577 个)中排名第 414 位。
| 平台 | 累计安装 | 累计下载 | 星标 | 评论 |
|---|---|---|---|---|
| ClawHub ↗ | 111 | 3,284 | 1 | - |
| SkillHub ↗ | 207 | 3,430 | 1 | — |
各平台的计数口径不同,统计时间不一致。
仅当标签页处于后台时对新消息播放提示音,避免打扰前台使用。功能包括智能触发(标签页隐藏才响)、0-100% 音量调节、5 档音效强度(level1 极轻 9.5KB 到 level5 极响 63KB,默认 level3)、自定义音效(MP3/WAV/OGG/WebM)、一键开关、localStorage 持久化设置、移动端优雅降级、遵循浏览器自动播放策略、3 秒冷却防轰炸与可选调试日志。集成方式:把 client 下的 howler.min.js、notification.js 与 sounds 目录拷入 webchat 目录,在 </body> 前引入脚本并 new WebchatNotifications({soundPath}) 初始化,随后在消息事件里调用 notifier.notify();API 含 init/notify(仅标签页隐藏时触发)/test(无视标签页状态试听)/setEnabled/setVolume/setSound/getSettings。浏览器兼容:Chrome 92+、Firefox 90+、Safari 15+、Edge 92+ 完整支持,移动端有限支持(iOS 每次播放需用户手势),官方称覆盖约 92% 用户(Web Audio API 支持口径)。体积与性能:打包约 122KB、播放期内存约 2MB、CPU 开销可忽略、一次下载缓存使用;安全面为无外部请求、仅用 localStorage、无追踪、无需特殊权限。
资料发布于 2026-10-27
以下是根据技能文档生成的示例,不代表实际运行结果。
2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。
| 月份 | 累计下载 | 环比 | 星标 |
|---|---|---|---|
| 2026-09 | 3,430 | — | 1 |
| 2026-08 | 3,217 | +2.2% | 1 |
| 2026-07 | 3,148 | +6.4% | 1 |
| 2026-06 | 2,959 | +4.1% | 1 |
| 2026-05 | 2,843 | — | 1 |
| 2026-03 | 2,439 | — | 1 |
以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。
--- name: webchat-audio-notifications description: Add browser audio notifications to Moltbot/Clawdbot webchat with 5 intensity levels - from whisper to impossible-to-miss (only when tab is backgrounded). version: 1.1.0 author: brokemac79 repository: https://github.com/brokemac79/webchat-audio-notifications homepage: https://github.com/brokemac79/webchat-audio-notifications tags: - webchat - notifications
- audio
- ux
- browser
- howler
metadata:
clawdbot:
emoji: 🔔
compatibility:
minVersion: "2026.1.0"
browsers:
- Chrome 92+
- Firefox 90+
- Safari 15+
- Edge 92+
dependencies:
- howler.js (included)
files:
- client/howler.min.js
- client/notification.js
- client/sounds/notification.mp3
- client/sounds/alert.mp3
install:
- kind: manual
label: Install webchat audio notifications
instructions: |
1. Copy files to your webchat directory:
- client/howler.min.js → /webchat/js/
- client/notification.js → /webchat/js/
- client/sounds/ → /webchat/sounds/
2. Add to your webchat HTML before closing </body>:
```html
<script src="/js/howler.min.js"></script>
<script src="/js/notification.js"></script>
<script>
const notifier = new WebchatNotifications({
soundPath: '/sounds/notification'
});
notifier.init();
</script>
```
3. Hook into message events:
```javascript
socket.on('message', () => {
if (notifier) notifier.notify();
});
```
4. Test by switching tabs and triggering a message
See docs/integration.md for full guide.
---
# 🔔 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
```bash
cd examples
python3 -m http.server 8080
# Open http://localhost:8080/test.html
```
**Test steps:**
1. Switch to another tab
2. Click "Trigger Notification"
3. Hear the sound! 🔊
### Basic Integration
```javascript
// 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
```javascript
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 subtle
- `level2` - Soft (12KB) - Gentle
- `level3` - Medium (13KB) - Default
- `level4` - Loud (43KB) - Attention-getting
- `level5` - 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 notifications
- `setVolume(0-1)` - Set volume
- `setSound(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
```
webchat-audio-notifications/
├── client/
│ ├── notification.js # Main class (10KB)
│ ├── howler.min.js # Audio library (36KB)
│ └── sounds/
│ ├── level1.mp3 # Whisper (9.5KB)
│ ├── level2.mp3 # Soft (12KB)
│ ├── level3.mp3 # Medium (13KB, default)
│ ├── level4.mp3 # Loud (43KB)
│ └── level5.mp3 # Very Loud (63KB)
├── examples/
│ └── test.html # Standalone test with all levels
├── docs/
│ └── integration.md # Integration guide
└── README.md # Full documentation
```
## Integration Guide
See `docs/integration.md` for:
- Step-by-step setup
- Moltbot-specific hooks
- React/Vue examples
- Common patterns (@mentions, DND, badges)
- Testing checklist
## Configuration Examples
### Simple
```javascript
const notifier = new WebchatNotifications();
await notifier.init();
notifier.notify();
```
### Advanced
```javascript
const notifier = new WebchatNotifications({
soundPath: '/assets/sounds',
soundName: 'level2', // Start with soft
defaultVolume: 0.8,
cooldownMs: 5000,
debug: true
});
await notifier.init();
// Regular messages = soft
socket.on('message', () => {
notifier.setSound('level2');
notifier.notify();
});
// Mentions = very loud
socket.on('mention', () => {
notifier.setSound('level5');
notifier.notify();
});
// DMs = loud
socket.on('dm', () => {
notifier.setSound('level4');
notifier.notify();
});
```
### With UI Controls
```html
<input type="range" min="0" max="100"
onchange="notifier.setVolume(this.value / 100)">
<button onclick="notifier.test()">Test 🔊</button>
```
## Troubleshooting
**No sound?**
- Click page first (autoplay restriction)
- Check tab is actually hidden
- Verify volume > 0
- Check console for errors
**Sound plays when tab active?**
- Enable debug mode
- Check for "Tab is visible, skipping" message
- Report as bug if missing
**Mobile not working?**
- iOS requires user gesture per play
- Consider visual fallback (flashing favicon)
## Performance
- **Bundle:** ~122KB total (minified)
- **Memory:** ~2MB during playback
- **CPU:** Negligible (browser-native)
- **Network:** One-time download, cached
## Security
- ✅ No external requests
- ✅ localStorage only
- ✅ No tracking
- ✅ No special permissions
## License
MIT License
## Credits
- **Audio library:** [Howler.js](https://howlerjs.com/) (MIT)
- **Sounds:** [Mixkit.co](https://mixkit.co/) (Royalty-free)
- **Author:** @brokemac79
- **For:** [Moltbot/Clawdbot](https://github.com/moltbot/moltbot) community
## Contributing
1. Test with `examples/test.html`
2. Enable debug mode
3. Report issues with browser + console output
## Roadmap
- [ ] WebM format (smaller files)
- [ ] Per-event sounds (mention, DM, etc.)
- [ ] Visual fallback (favicon flash)
- [ ] System notifications API
- [ ] Settings UI component
- [ ] Do Not Disturb mode
---
**Status:** ✅ v1.1.0 Complete - 5 Intensity Levels
**Tested:** Chrome, Firefox, Safari
**Ready for:** Production use & ClawdHub publishing
## Links
- 📖 [README](./README.md) - Full documentation
- 🔧 [Integration Guide](./docs/integration.md) - Setup instructions
- 🧪 [Test Page](./examples/test.html) - Try it yourself
- 💬 [Discord Thread](https://discord.com/channels/1456350064065904867/1466181146374307881) - Community discussion
用 gh 命令行工具查看 GitHub 上的 PR 检查、工作流运行与 API 查询的技能。
聚合 16 个搜索引擎、无需 API Key 的检索技能。
用命令行直接列出、配置、授权并调用 MCP 服务与工具。
生成有效的 Mermaid 图表,如流程图、时序图、思维导图、ER 图、用户旅程等。
用受管 OAuth 访问 YouTube Data API,检索视频并管理频道内容。
通过受管的 OAuth 连接访问 GitHub REST API。
覆盖规划、实现、验证与测试的编码工作流技能。
整理 Docker 常用命令与容器工作流的技能。
数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。