opencode-cachebell
v0.6.0
Published
Native sound and desktop reminders before an OpenCode prompt cache window ends
Maintainers
Readme
CacheBell
Get a reminder before your OpenCode prompt cache expires. Continuing the conversation while the cache is available means paying less for repeated input.
CacheBell plays a short sound and shows a desktop notification about two minutes beforehand, while the agent is idle.
Install
For OpenCode 2, add to plugins in ~/.config/opencode/opencode.json, keeping your other entries:
{
"plugins": ["[email protected]"]
}Restart OpenCode. It installs the package automatically. On OpenCode 1, use
"plugin" instead of "plugins".
Works with OpenCode 1 and OpenCode 2 from the same package. Supports macOS and WSL, with best-effort native Windows and Linux desktop support.
Sounds
Nine sounds are included:
| Sound | Style | | --- | --- | | Pulse (default) | Short, rising electronic signal | | Chime | Two warm bell notes | | Knock | Soft, woody double-tap | | Sheep Field | Quiet, 2.5-second field bleat | | Sheep Close | Quiet, 1.36-second close-up bleat | | Cat Meow | Short, soft meow | | Rooster Crow | Short farmyard crow | | Horse Neigh | Soft, short whinny | | Cow Moo | Soft, short moo |
To choose a sound, replace the plugin entry with:
{
"plugins": [{ "package": "[email protected]", "options": { "sound": "sheep-close" } }]
}Use "pulse", "chime", "knock", "sheep-field", "sheep-close",
"cat-meow", "rooster-crow", "horse-neigh", "cow-moo", or false for silence.
"sheep" remains an alias for "sheep-field". Restart after changes.
On OpenCode 1, use the tuple form:
"plugin": [["[email protected]", { "sound": "sheep-close" }]].
Sheep Field is an excerpt of a public-domain recording by earthcalling. Sheep Close is a CC0 recording by TheKingOfGeeks360, converted from its publicly available high-quality MP3 preview. Both are mono PCM WAVs for desktop playback. Cat Meow is an excerpt of a public-domain recording by Heismark. Rooster Crow is an excerpt of a public-domain recording by alys. Horse Neigh comes from a CC0 recording by Joseph Sardin. Cow Moo is excerpted from a CC0 recording by Joseph Sardin.
Timing
Defaults: 5 minutes for Claude, 30 minutes for GPT-5.6+. The clock starts with the model request, not when its answer finishes. Other models and custom cache durations need an override. These are estimates, not guaranteed cache hits.
Open sessions
On OpenCode 2, reminders now default to open session tabs only. Switching to another tab keeps the reminder; closing the tab or terminal stops it. With tabs disabled, only the currently viewed session is eligible. The persistent server does not play sounds on its own. The included TUI component loads automatically.
Set "sessionScope": "all" in the plugin's options to retain server-side
reminders for all tracked sessions, even after closing their tabs or clients.
The default is "sessionScope": "open". This setting applies to OpenCode 2;
OpenCode 1 retains its existing process-bound behavior.
Configuration and troubleshooting | npm | MIT
