Skip to content

About

Native sound and desktop reminders before your OpenCode prompt cache window ends

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

11 Commits

Folders and files

Repository files navigation

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": ["opencode-cachebell@0.6.0"]
}

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": "opencode-cachebell@0.6.0", "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": [["opencode-cachebell@0.6.0", { "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

About

Native sound and desktop reminders before your OpenCode prompt cache window ends

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages