Skip to content
dsh-market Browse plugins GitHub 中文

lw-storm/dsh-plugin-noticeme

Background notification plugin: desktop notification, with a tab-title fallback, when an approval prompt or an ask-user-question card appears while the page is in a background tab. The host queues approval and question events behind a same-origin endpoint that the client polls every 3 seconds; clicking the notification focuses the page, and the tab title is restored once the page becomes visible.

Stars ★ 1 Category Notifications & Integrations Listed 2026-09-01

Install

Inside DeepSeek Harness, with dsh-market

dsh plugin --profile web add dshmarket

Or from the command line

dsh plugin --profile web add github:lw-storm/dsh-plugin-noticeme

Installing runs third-party code with your own permissions — it can read your files, use your credentials and reach the network. Review the source first, and pin a commit (github:owner/repo#sha) when you can.

Screenshots

README

Notify me when DSH needs me: desktop notification (with tab-title fallback) when an approval prompt or an ask-user-question card appears while the page is in the background.After testing, this plugin can implement notification functionality in a lightweight manner.

Install

dsh plugin --profile web add link:/absolute/path/to/this/pkg
# published form:
dsh plugin add github:lw-storm/dsh-plugin-noticeme

Restart DSH after installing. On first page load the browser asks for notification permission — allow it.

Behavior

  • Watches approval/request (approval prompts) and tools/result for ask_user_question (question cards) on the host.
  • Host keeps a short-lived queue, exposed at GET /dsh-noticeme/pending (same-origin only). Reading drains the queue: each item is notified once.
  • Client polls every 3 s. While the page is visible nothing is shown; while hidden, a desktop Notification is raised (click → focus the page). If the Notification permission is unavailable, the tab title is prefixed with ⚠ 需要你确认 · and restored when the page becomes visible again.

Files

  • lib/index.js — host entry (ESM, Node)
  • client/client.js — browser entry (hand-written ModuleLoader bundle, no build step)
  • cordis.patch.yml — profile layer insertion

License

MIT

Content from the project README on GitHub ↗

Comments

Comments live in GitHub Discussions. Sign in with GitHub to post or react.