Introduction

When using the DeepSeek Harness (DSH) Web GUI, the status indicators after a model completes a reply are not always obvious enough. Especially when the page loses focus or is switched to another tab, it is hard to know immediately that this round of reply has ended.

dsh-web-notification is a small plugin for the DSH Web interface designed to display system-level Web notifications when a model completes a reply.

What is it

The core positioning of dsh-web-notification is: displaying system-level Web notifications in the DeepSeek Harness Web GUI when a model completes a reply.

It is intended for use with the Web profile and is licensed under MIT. The GitHub repository is:

https://github.com/2h0n/dsh-web-notification

Core Features

The following are verified runtime behaviors:

  • Triggers a system-level Web notification each time the model completes a reply, with the title 🐳 Model Replied and the body as the current user message.
  • When there is no user message, the notification body falls back to the session title.
  • Automatically requests notification permission at startup and on the first user interaction; requesting permission in Safari requires a user gesture.
  • Deduplicates by turn to avoid duplicate notifications for the same reply.
  • Does not inject any visible UI elements.
  • Replies in multiple sessions trigger notifications independently.
  • The notification uses a unique tag: dsh-reply-done-<sessionId>-<turn> and sets renotify: true.
  • On the build side, build.mjs bundles src/client/index.js into a browser bundle and loads it using the __ModuleLoader__ handshake format.

Installation and Usage

First, install the specified version archive to the web profile:

npx @deepseek-ai/dsh plugin --profile web add https://github.com/2h0n/dsh-web-notification/archive/refs/tags/v0.1.0.tar.gz

After installation, restart Web:

npx @deepseek-ai/dsh web

It is recommended to verify using the following steps:

  1. No dsh-web-notification related errors in the browser console.
  2. Send two messages in the same session to confirm that each reply triggers a notification.
  3. After running npx @deepseek-ai/dsh web again, the plugin is still present.

Notes during installation:

  • When installing the package with npx @deepseek-ai/dsh plugin --profile web add, the dsh.bundle declaration in the package automatically appends it to dsh.profile.bundles.
  • If you use pnpm add for installation, you need to manually add the bundle entry.
  • If the installation reports ERR_PNPM_TARBALL_INTEGRITY, you can run pnpm install --update-checksums first and then retry.

Local Development and Removal

Local development requires Node.js 22.19+ or 24+.

Execute the build:

node build.mjs

lib/ is the build output directory and should not be edited manually.

Install the current directory:

npx @deepseek-ai/dsh plugin --profile web add "$PWD"

Then restart Web:

npx @deepseek-ai/dsh web

To remove the plugin:

npx @deepseek-ai/dsh plugin --profile web remove dsh-web-notification

Use Cases and Considerations

This plugin is suitable for users who need to receive a “Model Replied” reminder even after leaving the current page in DSH Web.

The plugin relies on browser notification capabilities; notification permission must be granted on first use; in Safari, permission must be requested within a user gesture. Since the plugin loads with the DSH Web client, it is recommended to check the source code, dependency declarations, and license before installing; the license of this plugin is MIT.

GitHub repository:

https://github.com/2h0n/dsh-web-notification