@2008muyu/pi-notify
Notification extension for pi: tab status, sound, terminal bell, Bark push to iPhone
Package details
Install @2008muyu/pi-notify from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@2008muyu/pi-notify- Package
@2008muyu/pi-notify- Version
1.1.2- Published
- Jun 5, 2026
- Downloads
- not available
- Author
- 2008
- License
- MIT
- Types
- extension
- Size
- 30 KB
- Dependencies
- 0 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./extensions/pi-notify.ts"
],
"image": "https://github.com/2008muyu/pi-notify/raw/main/docs/screenshot.png"
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-notify
Notification extension for pi coding agent — tab status, system sounds, terminal bell, and Bark push to iPhone.
Features
- Tab title + footer status — shows ⏳ running / ✅ complete / ❌ error on your terminal tab and footer
- System notification sound — plays a custom
.wav/.mp3/.aifffile when the agent finishes - Loop mode — notification sound loops until you press any key or start a new interaction
- Terminal bell — optional BEL (
\x07) on completion - OSC 9 notification — desktop notification popup (iTerm2, Ghostty, WezTerm, Windows Terminal)
- Bark push — sends push notification to your iPhone via Bark
- Fully configurable —
/notifyinteractive settings panel, all options are toggleable - Sound preview —
/notify-soundlets you browse and preview system sounds before selecting
Installation
# via git
pi install git:github.com/2008muyu/pi-notify
# or via npm (once published)
pi install npm:pi-notify
Then restart pi (or run :reload in pi).
Usage
/notify — Settings Panel
Opens an interactive settings panel with cursor persistence — toggles are applied inline without losing your place.
| Option | Description |
|---|---|
| ✅ Sound | Enable/disable notification sounds |
| ✅ Terminal bell | Enable/disable BEL (\x07) |
| ✅ Loop sound | Enable/disable looping notification sound |
| ✅ OS notification | Enable/disable OSC 9 desktop notification |
| ✅ Bark push | Set Bark device key for iPhone push |
| ♪ Sound file | Pick a custom notification sound |
Navigate with ↑↓, toggle with Enter, exit with Esc.
/notify-sound — Sound Picker
Browse and preview system sounds before selecting one as your notification sound.
- ↑↓ navigate list
- Space preview sound
- Enter select and save
- Esc cancel
Configuration
Configuration is stored in ~/.pi/agent/pi-notify.json. You can also use environment variables:
| Variable | Default | Description |
|---|---|---|
PI_NOTIFY_SOUND |
true |
Enable/disable sounds |
PI_NOTIFY_BELL |
true |
Enable/disable terminal bell |
PI_NOTIFY_LOOP |
false |
Enable/disable looping |
PI_NOTIFY_OS_NOTIFY |
true |
Enable/disable OSC 9 notifications |
BARK_KEY / PI_NOTIFY_BARK_KEY |
— | Bark device key |
BARK_SERVER |
https://api.day.app |
Bark server URL |
How It Works
- When the agent starts (
agent_start), the extension sets the tab title to ⏳ and prepares for notifications - When the agent ends (
agent_end), it triggers:- Terminal bell (optional)
- OSC 9 desktop notification (optional)
- System sound playback (custom file or system default)
- Bark push to iPhone (if configured)
- Loop mode: the sound keeps playing in a background PowerShell process. Press any key or start a new conversation to stop it
- Error handling catches all failures silently — the extension never blocks the agent
Publishing to the pi Community
This package can be distributed through:
Via GitHub (recommended)
Users can install directly from GitHub:
pi install git:github.com/2008muyu/pi-notify
Via npm
To publish to npm and make it installable via pi install npm:pi-notify:
- Ensure you have an npm account
- Update
package.jsonwith the correct registry metadata - Run:
npm login
npm publish
Via the pi Package Registry
Check pi packages documentation for the official community registry once available.
License
MIT
中文说明
简介
pi-notify 是 pi 编程助手 的通知扩展,提供终端标签状态、系统提示音、响铃和 iPhone 推送功能。
功能
- 终端标签页 + 底部状态栏 — 显示 ⏳ 运行中 / ✅ 完成 / ❌ 错误
- 自定义提示音 — Agent 完成时播放自定义
.wav/.mp3/.aiff文件 - 循环模式 — 提示音持续循环,按任意键或开始新对话即停
- 终端响铃 — 可选的 BEL 提示音
- 桌面通知 — OSC 9 弹窗通知(iTerm2、Ghostty、WezTerm、Windows Terminal)
- Bark 推送 — 通过 Bark 推送到 iPhone
- 完全可配置 —
/notify交互式面板,所有选项即开即关 - 声音预览 —
/notify-sound浏览和试听系统音效
安装
# 通过 GitHub
pi install git:github.com/2008muyu/pi-notify
# 或通过 npm(发布后)
pi install npm:pi-notify
安装后重启 pi(或运行 :reload)。
使用方法
/notify — 设置面板
光标位置保持的交互式设置面板,开关项即时生效不跳转。
| 选项 | 说明 |
|---|---|
| ✅ Sound | 启用/禁用提示音 |
| ✅ Terminal bell | 启用/禁用终端响铃 |
| ✅ Loop sound | 启用/禁用循环播放 |
| ✅ OS notification | 启用/禁用桌面通知 |
| ✅ Bark push | 设置 Bark 设备密钥 |
| ♪ Sound file | 选择自定义提示音 |
↑↓ 导航,Enter 切换/进入,Esc 退出。
/notify-sound — 声音选择器
浏览和试听系统音效,选定后设为通知音。
- ↑↓ 浏览列表
- Space 试听
- Enter 选定并保存
- Esc 取消
配置
配置文件位于 ~/.pi/agent/pi-notify.json,也支持环境变量:
| 变量 | 默认值 | 说明 |
|---|---|---|
PI_NOTIFY_SOUND |
true |
启用/禁用声音 |
PI_NOTIFY_BELL |
true |
启用/禁用终端响铃 |
PI_NOTIFY_LOOP |
false |
启用/禁用循环 |
PI_NOTIFY_OS_NOTIFY |
true |
启用/禁用桌面通知 |
BARK_KEY / PI_NOTIFY_BARK_KEY |
— | Bark 设备密钥 |
BARK_SERVER |
https://api.day.app |
Bark 服务器地址 |
工作原理
- Agent 开始运行 → 标签页显示 ⏳
- Agent 完成 → 触发:
- 终端响铃(可选)
- OSC 9 桌面通知(可选)
- 播放提示音(自定义文件或系统默认)
- Bark 推送(已配置时)
- 循环模式:提示音在后台 PowerShell 进程中持续播放,按任意键或开始新对话即停止
- 所有失败静默处理,绝不阻塞 Agent
发布到 pi 社区
通过 GitHub(推荐)
用户可以直接从 GitHub 安装:
pi install git:github.com/2008muyu/pi-notify
通过 npm
npm login
npm publish
然后用户可通过 pi install npm:pi-notify 安装。
通过 pi 官方包管理器
待官方社区注册中心上线后,可参考 pi packages 文档 发布。
许可证
MIT
