- Inicio
- Plugins
- Integraciones y acceso remoto
- dsh-attention-reminder
dsh-attention-reminder
chenyuiyu/dsh-attention-reminder
Strikes a single short chime, raises the DSH window, floats a reminder card above the page and sends a system notification whenever the agent needs your approval or an answer. Sound and popup are two independent switches in the session header, remembered across reloads and restarts.
Instalar
dsh plugin --profile web add github:chenyuiyu/dsh-attention-reminderREADME
dsh-attention-reminder
Sound and on-screen alerts for DeepSeek Harness: when the agent needs your approval (an approval/request) or an answer (ask_user_question), the plugin strikes a short chime, raises the DSH window, and floats a card above the page.
Two independent toggles — sound and popup — both remembered across reloads and restarts.
Install
dsh plugin --profile <profile> add github:chenyuiyu/dsh-attention-reminder
On DSH Desktop, install it from Settings → Plugins. The plugin is plain JavaScript: no build step, no dependencies.
The two toggles
Both live behind the 🔔 button at the right end of the session header.
- Sound — one bell strike (WebAudio, ~0.5 s). Each new request chimes exactly once and never repeats; the card stays on screen until you answer it.
- Popup —
window.focus()to put DSH in front, a floating card above the page naming what is waiting (up to 3 cards, the rest folded into “+N more”), and a system notification where the browser allows one.
The panel also has Send a test reminder, which travels the same path as a real alert.
Toggles are stored in $DSH_HOME/plugin-data/dsh-attention-reminder/state.json (default ~/.dsh/plugin-data/...).
How it works
- Host half (index.js) listens to the waterfall events
approval/requestanduser-questions/requestand keeps the unanswered ones in a bounded queue (24 entries). An entry leaves the queue when the promise returned bynext()settles or the request'sAbortSignalaborts. It only observes: every handler delegates withreturn next(), so approvals and questions behave exactly as before. The queue and the toggles are served asGET/POST /api/attention-reminderthroughconnection.fetch.register. - Web half (client.js) polls that route once a second and announces only ids it has not seen yet. Cards register into
shell.overlay; the 🔔 panel intoconversation.session.header.utilities.
Plugins have no host-to-page push channel, which is why the page polls; @deepseek-ai/dsh-deja uses the same HTTP route pattern.
Notes
- Audio starts after one interaction with the page — a browser rule, not this plugin. If DSH was just opened and an alert fires before you touched anything, one click on the page fixes it and the next alert is audible.
window.focus()cannot always beat the Windows foreground lock; the floating card and the system notification still appear.- The system notification needs the browser's notification permission, requested the first time you enable popup or press the test button (both are user gestures).
License
MIT
Plugins relacionados
dsh-web (dsh-ssh)
zhu1090093659/dsh-web
dsh-web (dsh-remote-web-ui)
zhu1090093659/dsh-web
dsh-web-ui (dsh-ssh)
zhu1090093659/dsh-web-ui
dsh-web-ui (dsh-remote-web-ui)
zhu1090093659/dsh-web-ui