DSH-Thinking-Notifier: Persistent Notification of DSH Thinking Status in the Bottom-Right Corner of the Screen

Preface

When developing with DeepSeek Harness (DSH), the AI’s thinking, permission requests, and completion status primarily appear in the Web UI. When switching to other applications, it’s easy to miss status changes.

dsh-thinking-notifier is a DSH plugin. It displays a small persistent topmost desktop popup in the bottom-right corner of the screen, mirroring the AI’s thinking status in real-time, and alerts you when permissions are requested or thinking is completed.

What Is This

  • A DSH plugin maintained by 6-debug-6.
  • License: MIT.
  • No browser extension required; the popup is a native desktop window.
  • Uses PowerShell + WPF on Windows; Python 3 + tkinter on macOS/Linux.
  • The plugin loads during DSH runtime and launches a local desktop popup process.

Core Features

Below are the four states it covers:

1、AI Thinking

  • Displays a DeepSeek blue pulsing dot, AI is thinking…, and elapsed time.
  • Automatically collapses to a 25 px narrow side tab on the right after 5 seconds.
  • Can be expanded by hovering over or clicking the tab.

2、AI Requesting Permission

  • Displays an amber pulsing dot, AI requests permission, and the session/tool name.
  • Plays the system Exclamation sound.

3、AI Finished Thinking

  • Displays a green dot, AI has finished thinking.
  • Automatically hides after 12 seconds.
  • Plays the system Asterisk sound.

4、Idle

  • Hides the popup.

Additionally, it has the following behaviors:

  • Uses DeepSeek-style dark color cards: #1E2235 / #4D6BFE.
  • Borderless, always-on-top, positioned at the bottom-right corner, and can display above any application.
  • Automatically aggregates multiple sessions.
  • The popup process stays alive during DSH runtime; it exits approximately 15 seconds after the status endpoint becomes unreachable.

How It Works

The plugin provides a local status endpoint:

http://127.0.0.1:7389/status

The desktop popup polls /status every second, renders cards based on the status, collapses to a narrow side tab, and plays system sounds when permission is requested or thinking is completed.

The local status service port defaults to 7389. If the port is busy, the documentation indicates it will attempt the next 10 ports.

Installation and Enabling

The documentation provides two installation paths: local checkout and npm. The npm command is marked as once published in the README, and the publication status is unconfirmed. To install from local source code, perform a local installation first, then start the Web UI:

cd dsh-thinking-notifier
dsh plugin --profile web add .
dsh web

If it becomes available later as an npm package, the command provided in the documentation is:

dsh plugin --profile web add dsh-thinking-notifier
dsh web

Uninstallation:

dsh plugin --profile web remove dsh-thinking-notifier

After the steps above, the plugin will be loaded when the DSH Web UI starts, and the popup process will be launched by the plugin.

Typical Usage

After installation and enabling, you can first check whether the status endpoint is available:

http://127.0.0.1:7389/status

If you need to adjust the local status service port, you can set the environment variable:

DSH_THINKING_NOTIFIER_PORT

The default value is 7389.

Debug logs are written to the following paths:

  • ~/.dsh/tn-plugin.log
  • ~/.dsh/tn-launcher.log
  • ~/.dsh/tn-popup-debug.log

If the popup doesn’t appear after restarting dsh web, check these logs first.

Applicable Scenarios and Notes

This plugin is suitable for people who need to leave the current window while DSH is running but still want to stay informed about the AI’s status. It addresses the issue of “status only being visible in the Web UI.”

Important notes before use:

  • Requires the DeepSeek Harness Web UI (dsh web).
  • Requires Node.js ^22.19.0 || >=24.0.0.
  • Windows requires Windows 10/11 and PowerShell 5.1+.
  • macOS/Linux requires Python 3 and tkinter.
  • The plugin runs within the permission context of the current DSH process and launches a local popup process; review the source code and license before installation.
  • The npm installation command in the documentation is marked once published, and the publication status is unconfirmed.
  • The repository, bugs, and homepage fields in package.json use the YOUR_GITHUB_USERNAME placeholder, which is inconsistent with the provided GitHub URL; the links in this article follow the URL provided in the documentation.

Links

  • Directory page: https://www.skillhub.cn/plugins/6-debug-6/dsh-thinking-notifier
  • GitHub: https://github.com/6-debug-6/dsh-thinking-notifier

The purpose of dsh-thinking-notifier is to place DSH’s thinking, permission request, and completion states in the bottom-right corner of the desktop, making it convenient to view above other applications.

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye