@0xkobold/pi-alerts
Customizable chimes and notifications for pi
Package details
Install @0xkobold/pi-alerts from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@0xkobold/pi-alerts- Package
@0xkobold/pi-alerts- Version
0.1.0- Published
- Mar 24, 2026
- Downloads
- 31/mo · 6/wk
- Author
- moikapy
- License
- unknown
- Types
- extension, skill
- Size
- 39.1 KB
- Dependencies
- 0 dependencies · 0 peers
Pi manifest JSON
{
"extensions": [
"./extensions"
],
"skills": [
"./skills"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-alerts
A pi extension that plays customizable chimes and notifications when tasks are complete.
Features
- Beep Mode: Simple system beep or Glass-like tone (cross-platform)
- Custom Notes/Songs: Play any note or melody using notation like
C4:200,E4:200,G4:400 - Native Notifications: System notifications on macOS, Linux, or Windows
- Text-to-Speech: Announce completion with a spoken message
- Volume Control: Adjust alert volume (0-100%)
- Cross-Platform: Works on macOS, Linux, and Windows
- Bundled Skill: "Keep Me Posted" skill for notification workflows
Installation
Extension Only
# Create symlink to load the extension
ln -s /path/to/pi-alerts/index.ts ~/.pi/agent/extensions/pi-alerts.ts
Then restart pi or run /reload.
Full Package (Extension + Skill)
# Symlink extension
ln -s /path/to/pi-alerts/index.ts ~/.pi/agent/extensions/pi-alerts.ts
# Symlink skill
ln -s /path/to/pi-alerts/skills/keep-me-posted ~/.pi/agent/skills/
Usage
Tool: task_done_chime
Use in your prompts when you want to be notified when a task finishes:
// Basic beep alert with default settings
Use the task_done_chime tool when you're done.
// Custom chime
Use task_done_chime with mode="tone" and customSong="C5:200,E5:200,G5:400"
// System notification
Use task_done_chime with mode="notification" and title="Build Complete"
// Text-to-speech
Use task_done_chime with mode="speech" and customText="Task finished, ready for next!"
Commands
/alert- Show current settings/alert status- Display detailed settings in widget/alert test- Test current alert/alert test tone- Test specific mode
Configuration
| Command | Description |
|---|---|
/alert mode [beep|tone|speech|notification|silent] |
Set default mode |
/alert sound [Glass|Tink|Pop|...] |
Choose beep sound (macOS) |
/alert beeps [1-10] |
Number of beeps |
/alert delay [50-2000] |
Delay between beeps (ms) |
/alert song [C4:200,...] |
Set custom melody |
/alert text [message] |
Set speech text |
/alert title [title] |
Set notification title |
/alert volume [0-100] |
Set volume level |
/alert sound list |
List available macOS sounds |
Keyboard Shortcut
Ctrl+Shift+. - Test the current alert
Beep Mode
The default mode is beep with Glass sound on macOS or a generated glass-like tone on other platforms.
| Platform | Sound |
|---|---|
| macOS | System sound (Glass by default) |
| Linux | Generated 1318Hz tone with harmonics |
| Windows | Generated 1318Hz tone with harmonics |
Available macOS System Sounds
- Glass ✨ - Short, bright, bell-like (default)
- Tink - Soft, gentle, quiet
- Pop - Bubbly, quick burst
- Basso - Deep, bassy thump
- Ping - Crystal, ringing
- Blow - Soft whoosh
- Bottle - Lower version of Glass
Song Notation
Notes are formatted as NoteOctave:DurationMs:
| Note | Frequency | Example |
|---|---|---|
| C4 | 261.63 Hz | Middle C |
| E4 | 329.63 Hz | |
| G4 | 392.00 Hz | |
| C5 | 523.25 Hz | High C |
| E5 | 659.25 Hz | |
| G5 | 783.99 Hz | |
| A4 | 440.00 Hz | Concert A |
Examples:
C4:200- Middle C for 200msC4:200,E4:200,G4:200,C5:400- C major arpeggioC5:150,C5:150,C5:150,G5:600- Imperial March first phrase
Keep Me Posted Skill
When the user asks to be kept updated, use the notification:
Trigger phrases:
- "keep me posted"
- "let me know when you're done"
- "notify me when complete"
- "alert me when finished"
- "ping me when done"
- "give me a heads up"
What it does:
- Confirms notification will be sent
- Completes the task
- Plays the configured beep alert
Settings File
Settings are stored in ~/.pi/pi-alerts-settings.json:
{
"defaultMode": "beep",
"beepCount": 1,
"beepDelayMs": 200,
"beepSound": "Glass",
"toneSequence": [
{ "frequency": 523.25, "duration": 150 },
{ "frequency": 659.25, "duration": 150 },
{ "frequency": 783.99, "duration": 300 }
],
"speechText": "Task complete!",
"notificationTitle": "pi Alert",
"volume": 80
}
Platform Notes
macOS
- Uses
afplayfor sound playback - System sounds in
/System/Library/Sounds/ - Uses
osascriptfor notifications andsayfor speech
Linux
- Uses
aplay,paplay, orplayfor sound - Uses
notify-sendfor notifications - Uses
espeakorespeak-ngfor speech - Falls back to terminal bell
Windows
- Uses PowerShell SoundPlayer for sound
- Uses Toast notifications
- Uses System.Speech for text-to-speech
- Falls back to console bell