dsh-thinking-notifier
Manifest valid★ 4A simple popup that can quickly show when Deepseek has finished thinking or is requesting permission during split-screen.
dsh-thinking-notifier
A DeepSeek Harness (DSH) plugin that shows a small always-on-top desktop popup in the bottom-right corner of your screen. It mirrors the AI's thinking status in real time and alerts you when the AI requests permission or finishes thinking — even when you are working in other apps, browsers, or virtual desktops.
中文说明见 README.zh.md
Features
| State | Popup | Sound |
|---|---|---|
| AI is thinking | DeepSeek-blue pulsing dot + AI 正在思考… + elapsed time. Auto-collapses to a 25 px slim right-edge tab after 5 s; hover or click the tab to expand it again | none |
| AI requests permission | Amber pulsing dot + AI 请求权限 + session/tool name | system Exclamation |
| AI finished thinking | Green dot + AI 已完成思考, auto-hides after 12 s | system Asterisk |
| Idle | Hidden | none |
- DeepSeek-style dark card (
#1E2235/#4D6BFE). - Always-on-top frameless window, bottom-right, visible over any application.
- Auto-collapses into a 25 px slim right-edge tab after 5 s while the AI is thinking, so it stays visible without blocking desktop controls.
- Hover or click the edge tab to expand it manually; new turns, permission requests, and completions expand it automatically.
- Click the X button to dismiss the current popup; the next new turn, permission request, or completion will show it again.
- Multiple sessions are summarized automatically.
- The popup process stays alive while DSH runs; it exits ~15 s after the status endpoint becomes unreachable.
- No browser extension required; the popup is a native desktop window.
How it works
DSH process
└─ lib/index.js (host plugin)
├─ listens to session/event: turn/start, turn/end, approval/asked, approval/decided, session/title
├─ rebuilds existing session state from ctx.sessions.list() at startup
├─ serves a local status JSON at http://127.0.0.1:7389/status
└─ launches the desktop popup process
├─ Windows: desktop-popup.ps1 (PowerShell + WPF)
└─ macOS/Linux: desktop-popup.py (Python 3 + tkinter)
Desktop popup
├─ polls /status every second
├─ renders the DeepSeek-style card (running/pending/done/idle)
├─ plays a system sound on pending/done transitions
├─ auto-collapses to the right edge while running; expands on new states
└─ hides while idle, keeps running in the background
Installation
From a local checkout
cd dsh-thinking-notifier
dsh plugin --profile web add .
# Restart DSH web so the host plugin is loaded
dsh web
From npm (once published)
dsh plugin --profile web add dsh-thinking-notifier
dsh web
Uninstall
dsh plugin --profile web remove dsh-thinking-notifier
Configuration
| Environment variable | Default | Description |
|---|---|---|
DSH_THINKING_NOTIFIER_PORT | 7389 | Local status server port. If busy, the next 10 ports are tried. |
Requirements
- DeepSeek Harness Web UI (
dsh web) - Node.js
^22.19.0 || >=24.0.0 - Windows: Windows 10/11 with PowerShell 5.1+ (built in)
- macOS/Linux: Python 3 with
tkinter
Project structure
dsh-thinking-notifier/
├── lib/
│ └── index.js # host plugin: status service + popup launcher
├── desktop-popup.ps1 # Windows native popup (PowerShell + WPF)
├── desktop-popup.py # macOS/Linux native popup (Python 3 + tkinter)
├── cordis.patch.yml # DSH bundle patch for persistent mounting
├── package.json # npm package + dsh.bundle declaration
├── README.md # English readme
├── README.zh.md # Chinese readme
├── CHANGELOG.md
├── CONTRIBUTING.md
└── LICENSE
Troubleshooting
Debug logs are written to:
~/.dsh/tn-plugin.log— host plugin lifecycle and launcher status.~/.dsh/tn-launcher.log— PID of the popup process created by the launcher.~/.dsh/tn-popup-debug.log— popup script lifecycle and polling errors.
If the popup does not appear after restarting dsh web, check those logs first.
License
Comments
Loading…
Similar plugins
by yxiaoy6
Flash the DeepSeek Harness taskbar button on Windows when an approval, a question or a plan review is waiting, or when a turn finishes.
★ 0
MIT
JavaScript
Oct 21, 2026
dsh plugin --profile web add dsh-taskbar-alertby pedesdestiny
Browser desktop notifications for DeepSeek Harness (dsh) — get notified when a turn completes or an approval is needed
★ 3
↓ 241/wk
JavaScript
Aug 18, 2026
dsh plugin --profile web add dsh-notifyby Aisland-SJL
🔔 Cross-window completion & approval notifications for DeepSeek Harness — popup reminders that bring you back to DSH, Codex/WorkBuddy style.
★ 19
↓ 251/wk
MIT
TypeScript
Aug 16, 2026
dsh plugin --profile web add dsh-reminderby CoachLeong
DeepSeek Harness plugin: desktop notifications when the model starts, finishes, or needs your input (approval / question / plan review).
★ 0
MIT
TypeScript
Aug 16, 2026
dsh plugin --profile web add dsh-notifyby faukwaa
During long agent thinking, posts a hot-news or reminder message directly into the conversation stream.
★ 1
↓ 238/wk
MIT
TypeScript
Aug 20, 2026
dsh plugin --profile web add dsh-gap-feedby omdsh-dev
Desktop notifications for DeepSeek Harness turn completions, with per-outcome controls and include/exclude keyword rules.
★ 90
↓ 461/wk
MIT
JavaScript
Sep 1, 2026
dsh plugin --profile web add dsh-notification