pi-ding

pi extension: play a sound when the agent finishes a prompt

Package details

extension

Install pi-ding from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-ding
Package
pi-ding
Version
0.2.2
Published
Feb 1, 2026
Downloads
35/mo · 15/wk
Author
ninlds
License
MIT
Types
extension
Size
16.1 KB
Dependencies
0 dependencies · 0 peers
Pi manifest JSON
{
  "extensions": [
    "./extensions/ding.ts"
  ]
}

Security note

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

README

pi-ding

A pi extension that plays a sound when the agent finishes processing a prompt (when it’s ready for the next input).

Install

pi install npm:pi-ding

After installing, restart pi or run /reload inside pi.

Configure (recommended)

pi-ding stores its config inside pi’s settings files, so you can configure once and then just run pi.

Settings locations (project overrides global):

  • Global: ~/.pi/agent/settings.json
  • Project: <project>/.pi/settings.json

Add a ding key:

{
  "ding": {
    "enabled": true,
    "player": "mpv",
    "args": ["--no-video", "--really-quiet"],
    "path": "~/sounds/done.mkv"
  }
}

Notes:

  • args is optional.
  • If player is omitted, pi-ding tries common players automatically (mpv, ffplay, paplay, afplay, aplay).
  • Supported audio formats depend on the chosen player.

Easiest way: edit from inside pi

Inside pi:

  • /ding edit → edits project config (.pi/settings.json)
  • /ding edit global → edits global config (~/.pi/agent/settings.json)

Commands (inside pi)

  • /ding — toggle enabled (saved to project settings by default)
  • /ding on / /ding off — set enabled
  • /ding test — play sound immediately
  • /ding info — show debug info (effective config, resolved file, players)
  • /ding reload — reload settings from disk

Optional CLI overrides

You typically won’t need these once config exists, but they can override settings for a single run:

pi --no-ding
pi --ding-player mpv --ding-path "./done.mkv"
pi --ding-args '["--no-video","--really-quiet"]'

License

MIT