Skip to content
    ↑↓ select↵ openesc close
    hamidi-dev

    Cachebell

    opencode-cachebell·v0.6.0·Notifications

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

    GitHub stars

    2

    Monthly installs

    811

    14 in 7 days

    Composite score

    41.4

    Multi-signal model

    Last commit

    12 days ago

    2026-10-08

    Install and configure

    opencode.json

    Writes to this project's opencode.json — applies to this repository only.

    opencode.json

    {
      "$schema": "https://opencode.ai/config.json",
      "plugin": ["opencode-cachebell@0.6.0"]
    }

    OpenCode loads npm dependencies through its embedded runtime on startup and caches them locally — no manual global install needed.

    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

    Similar plugins