Repository navigation
Releases
CacheBell 0.6.0
On OpenCode 2, cache reminders now default to open session tabs only. A bundled TUI component loads automatically and checks your open tabs; switching tabs keeps a reminder, while closing the tab or terminal silences it. With tabs disabled, only the currently viewed session is eligible. Warnings are claimed atomically, so several clients never duplicate one, and notifications play on the terminal client's machine.
To keep the previous server-side behavior for every tracked session, even after closing its tab or client, set "sessionScope": "all" in the plugin options. Browser, desktop, and API-only sessions have no TUI, so they need "all" to receive reminders. OpenCode 1 is unchanged.
The README and guide now show OpenCode 2's native plugins object form alongside OpenCode 1's tuple form.
Upgrade your OpenCode plugin entry to opencode-cachebell@0.6.0 and restart OpenCode.
CacheBell 0.5.0
Four new bundled sounds: Cat Meow, Rooster Crow, Horse Neigh, and Cow Moo. Select them with sound: "cat-meow", "rooster-crow", "horse-neigh", or "cow-moo". The two sheep clips are now quieter; Pulse remains the default.
Upgrade your OpenCode plugin entry to opencode-cachebell@0.5.0 and restart OpenCode.
CacheBell 0.4.0
Two new bundled sounds: Sheep Field (2.5-second field bleat) and Sheep Close (1.36-second close-up bleat). Select them with sound: "sheep-field" or sound: "sheep-close"; "sheep" aliases Sheep Field. Pulse remains the default.
Releases now publish to npm through GitHub Actions trusted publishing with provenance—no local npm login required. All 44 tests pass.
Upgrade your OpenCode plugin entry to opencode-cachebell@0.4.0 and restart.
CacheBell 0.3.0
CacheBell now works with OpenCode 2 and OpenCode 1 from the same package.
- Version 2 drives the bell through the
model.requestsession hook and the subscribed event stream; version 1 keeps usingchat.headers. The logic that decides when a window opens, when cache reads or writes confirm it, and when the bell is due is shared. - Titles, summaries and compactions no longer arm a window — nobody is waiting on those.
- Version 2 runs one plugin instance per location against one shared event stream, so a session now rings only in the instance whose directory owns it.
- 41 passing tests.
Upgrade the OpenCode plugin entry to opencode-cachebell@0.3.0 and restart.
CacheBell 0.2.0
Three original sounds are now included: Pulse (the new default), Chime, and Knock.
- Choose with
"sound": "chime","pulse", or"knock".trueuses Pulse;falsestays silent. - The same bundled WAVs play across platforms, including Windows-host playback from WSL.
- Shorter README, with technical details moved to the guide. 29 passing tests.
Upgrade the OpenCode plugin entry to opencode-cachebell@0.2.0 and restart.
Manual installations must now keep the sounds/ directory alongside index.js.
CacheBell 0.1.0
Initial release of CacheBell, a standalone OpenCode prompt-cache reminder.
- Native sound and desktop notifications on macOS; Windows-host delivery through PowerShell on WSL and best-effort native Windows support.
- Model-aware cache-window estimates, request-start timing, and one reminder while the main session is idle.
- Zero runtime npm dependencies, no helper scripts, and no keepalive requests.
- 17 passing automated tests. Actual WSL/Windows desktop delivery still needs host verification.
Install by adding "opencode-cachebell@0.1.0" to the plugin array in opencode.json, then restart OpenCode.