@pi-unipi/notify

Cross-platform notification extension for Pi — native OS, Gotify, and Telegram notifications for agent lifecycle events

Packages

Package details

extensionskill

Install @pi-unipi/notify from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@pi-unipi/notify
Package
@pi-unipi/notify
Version
2.0.8
Published
May 25, 2026
Downloads
2,832/mo · 764/wk
Author
neuron-mr-white
License
MIT
Types
extension, skill
Size
137.8 KB
Dependencies
2 dependencies · 3 peers
Pi manifest JSON
{
  "extensions": [
    "index.ts"
  ],
  "skills": [
    "skills"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

@pi-unipi/notify

Push notifications when things happen. Workflow finishes, Ralph loop completes, MCP server errors — notify sends alerts to native OS, Gotify, Telegram, or ntfy.

Configure once, get alerts everywhere. Per-event platform routing lets you send critical errors to Telegram and routine completions to Gotify. Native desktop notifications can also be suppressed while the Pi window is focused.

Commands

Command Description
/unipi:notify-settings Open settings overlay to configure platforms and events
/unipi:notify-set-gotify Configure Gotify server connection
/unipi:notify-set-tg Interactive Telegram bot setup
/unipi:notify-set-ntfy Configure ntfy topic and server
/unipi:notify-recap-model Set model for notification recaps
/unipi:notify-test Send test notification to all enabled platforms

Special Triggers

Notify subscribes to Pi lifecycle events and routes notifications based on your config:

Event Default Description
workflow_end On Workflow command completes
ralph_loop_end On Ralph loop completes
mcp_server_error On MCP server error
agent_end Off Agent finishes responding
memory_consolidated Off Memory auto-saved
session_shutdown Off Session ends

Notify registers with the info-screen dashboard, showing enabled platforms and last notification time. The footer subscribes to NOTIFICATION_SENT events to display notification stats.

Agent Tool

Tool Description
notify_user Send cross-platform notification
notify_user({
  title: "Build Failed",
  message: "TypeScript compilation failed with 12 errors.",
  priority: "high"
})

Platforms

Native OS

Desktop notifications via node-notifier:

  • Windows: SnoreToast (no admin required)
  • macOS: terminal-notifier
  • Linux: notify-send / libnotify

Zero configuration — works out of the box. Set native.suppressWhenFocused to true to skip native notifications when the active/focused window is already Pi.

Gotify

Self-hosted push notification server:

{
  "gotify": {
    "enabled": true,
    "serverUrl": "https://your-gotify-server.com",
    "appToken": "your-app-token",
    "priority": 5
  }
}

Telegram

Bot API notifications. Run /unipi:notify-set-tg for interactive setup:

  1. Create a bot via @BotFather
  2. Paste the bot token
  3. Auto-detect your chat ID

ntfy

HTTP-based pub-sub notifications via ntfy.sh or self-hosted:

{
  "ntfy": {
    "enabled": true,
    "serverUrl": "https://ntfy.sh",
    "topic": "your-topic-name",
    "priority": 3
  }
}

Configurables

Settings stored at ~/.unipi/config/notify/config.json. Edit via /unipi:notify-settings or manual JSON editing.

Per-event platform routing lets you control where each event type goes. The settings overlay shows all events with platform toggles.

License

MIT