DeepSeek Harness plugin

dsh-reminder

Bottom-right reminder cards for the DeepSeek Harness web GUI: an amber persistent card when an approval waits for you, a green self-dismissing card when a task completes

Jump to install

Source facts

Repository
Aisland-SJL/dsh-reminder
Latest update
Aug 16, 2026
Category
Security & Permissions
GitHub stars
12
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/Aisland-SJL/dsh-reminder
Plugin: dsh-reminder
Author: Aisland-SJL

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource ยท read only

dsh-reminder ๐Ÿ””

<p align="center"><b>English</b> ยท <a href="README.zh.md">็ฎ€ไฝ“ไธญๆ–‡</a></p>

A cross-window reminder plugin for DeepSeek Harness โ€” while you work in any other window, it taps you on the shoulder the moment a task finishes or waits for your approval. Codex / WorkBuddy style.

<img src="assets/toast-preview.svg" alt="Toast preview" width="720">

---

โœจ Features

๐ŸŽฏFeatureDescription
๐ŸŸขCompletionPops "Task completed" on every turn end, with session ยท duration and a green check icon
๐ŸŸกApprovalPops "Waiting for your approval" with the tool name and an amber alert icon
๐ŸŽฏPops in any windowNotifies even while you work in other apps
๐Ÿ–ฑ๏ธClick to returnClicking focuses the DSH window and opens the session
โฑ๏ธAuto-dismissGone in 3-5 s (adjustable)
๐ŸŽตSoft chimeA gentle two-note chime (D4โ†’A4) โ€” nothing startling
๐Ÿ”DeduplicatedNever pops twice for the same event
๐Ÿ›ก๏ธReminds, never actsNever approves on your behalf

---

๐Ÿค” Why

  • ๐Ÿ˜ด Nobody calls you for approvals โ€” the agent waits while you are away; now an amber popup tells you
  • ๐Ÿ‘€ Nobody tells you it's done โ€” no completion signal before; now a green popup tells you

---

๐Ÿš€ Quick start

1. Install: dsh plugin --profile web add <dsh-reminder> (or npm i dsh-reminder), register dsh-reminder in the profile bundle list, restart the DSH web process 2. Grant permission: Settings โ†’ Reminders โ†’ "Enable & test notifications" โ†’ Allow โ€” a test popup arrives instantly 3. Enjoy: Switch away and work โ€” the popups come to you

---

โš™๏ธ Settings

SettingDefaultDescription
Notification permissionunsetOne-click grant + test popup
Approval remindersOnOff = no approval popups
Completion remindersOnOff = no completion popups
Duration3-5 sSeconds before auto-dismiss
Failure alertsOff (reserved)Planned for v0.3

---

๐Ÿ—๏ธ Architecture

One package ships the host Cordis plugin and the web client:

  • host: registers the settings namespace plus a plugin-owned Typert Remote (reminder/getSettings ยท updateSettings) โ€” plugin namespaces sit outside the web settings allowlist
  • client: subscribes to the session list and conversation snapshots (turn/end, approval/requested arrive over the mux stream), pops via the Notification API with a Web Audio chime
  • Read-only: never mutates DSH core behavior

---

๐Ÿ”ง Development

pnpm install
pnpm run typecheck   # tsc --noEmit
pnpm test            # node tests/unit/*.test.cjs (16 tests)
pnpm run build       # esbuild: host ESM + single-file client CJS (ModuleLoader handshake) + tsc d.ts
  • Artifacts: lib/index.js (host ESM), lib/client.js (client), lib/types/ (.d.ts)
  • Offline dev: no new dependencies; @deepseek-ai/* types and local esbuild/typescript come from 03_local/codes (not in git)

---

โš ๏ธ Known limits

  • Chrome page notifications reject actions (ServiceWorker persistent notifications only) โ€” dismiss via auto-close or the hover โœ•
  • Permission must be requested from a user gesture (browser policy) โ€” the settings button does it in one click
  • The chime unlocks on the first click (autoplay policy)

---

๐Ÿ“„ License

[MIT](LICENSE)