Introduction¶
When executing long tasks or complex workflows, the default behavior of DeepSeek Harness (DSH) is often to run silently. For developers, confirming whether it is currently “thinking,” “reading a file,” or “running tests” usually requires frequently switching windows or checking terminal logs. dsh-progress-overlay provides an independent system-level overlay that visualizes task status, letting you keep the full picture of the task without interrupting your current work.
What Is This¶
dsh-progress-overlay is a Windows-only always-on-top progress overlay plugin. It is maintained by jtt0001 and is licensed under the MIT license.
It does not depend on the DSH main interface or Web UI; it is an independent OS window. Even if the DSH main window is minimized, occluded, or moved to the background, the overlay remains visible. It obtains data by subscribing to DSH’s session/event event bus, and only performs display and simple approval interactions, without interfering with task execution.
Core Features¶
- Independent window and no focus stealing: Uses the
WS_EX_NOACTIVATEattribute so status updates do not interrupt what you are typing. The only exception is when the user actively clicks the “Open DSH Main Window” menu. - Real progress display: Does not fake progress percentages. Progress is displayed only when a DSH todo event provides real
completed/totalvalues; otherwise, only the stage and action are shown. - Parallel multi-task list: When multiple tasks run simultaneously, the overlay lists each task individually (stage, title, step, elapsed time), with the window height growing automatically; the first entry is the primary task.
- Status flashing and colors:
- Light blue: Task completed.
- Red: Task failed/errored; the overlay will automatically pop up and remain visible.
- Orange: Approval/confirmation required; the overlay will automatically pop up.
- Automatic fullscreen hiding and click-through: Automatically hides when a fullscreen application (browser/game/PPT) is active, and restores automatically when it exits. Supports enabling mouse click-through to avoid blocking fullscreen content.
- Direct approval: When DSH requests approval, the overlay displays “confirmation required + tool name + command/path/reason” and provides “Allow/Reject” buttons, so you can complete the response directly from the overlay.
- DPI and multi-monitor support: Supports PerMonitorV2 DPI scaling, multi-monitor workspace positioning, and persistent saving of the dragged position.
Install and Enable¶
Install the plugin via the DSH CLI.
dsh plugin --profile desktop add github:jtt0001/dsh-progress-overlay
# 安装完成后重启 DeepSeek Harness Desktop
The plugin automatically attempts to load resources/dsh-overlay.exe. If security software blocks the unsigned executable, the plugin automatically falls back to PowerShell in-memory compilation mode (functionally equivalent but slightly slower to start). No manual intervention is required; just ensure the plugin directory is not isolated by security software.
Configuration and Interaction¶
After installation, find the overlay configuration item in the DSH settings interface.
Configuration Options¶
| Key | Default | Description |
|---|---|---|
enabled |
true | Master switch |
opacity |
0.92 | Overlay card opacity |
position |
remember | Position (top-right / top-left / bottom-right / bottom-left / remember) |
compactMode |
false | Start collapsed in a single-line display |
autoHideOnComplete |
true | After completion, show ✓ and automatically hide after a few seconds |
autoHideDelayMs |
5000 | Dwell time after completion (milliseconds) |
hideOnFullscreen |
true | Hide when a fullscreen application is active |
clickThrough |
false | Mouse click-through (when enabled, cannot drag/click buttons) |
showElapsedTime |
true | Show elapsed running time |
showPercentage |
true | Show percentage when real progress is available |
showTitle |
true | Show task/session title |
Interactions¶
- Move: Drag the blank area of the card to move it; after release, the position is automatically validated and saved to the current monitor workspace.
- Collapse/Hide: Use
-to collapse/expand, and use✕to hide the overlay (the task continues to run). - Right-click menu: Right-click to quickly adjust opacity, toggle mouse click-through, toggle auto-hide, and more (applies locally and immediately).
Technical Implementation and Limitations¶
- Platform limitation: Only the Windows platform is supported. The overlay itself is built with .NET Framework 4.8 WPF, and this runtime ships with Windows 10/11.
- Data source: Data originates from the DSH session event bus (
session/event) and shares the data source with the built-indsh-tauri-pet. - Security software: Security software such as 360 may flag the unsigned
dsh-overlay.exeas a threat and remove it. If this issue occurs, add the plugin directory to the trusted zone or rely on the PowerShell fallback host. - Fullscreen overlay: For DirectX fullscreen mode (such as DirectX fullscreen games), the system layering is determined by the game, and the plugin cannot force itself over the game.
Acceptance¶
The plugin includes complete unit tests and integration tests.
# 归约器单测
node test/state.test.js
# 路由注册与审批桥接测试
node test/smoke-apply.mjs
Running the tests verifies the event reduction logic, the write-back logic for approval buttons, and whether communication between the overlay and the DSH main process is functioning correctly.