Introduction¶
When running conversations with thinking output in DeepSeek Harness (DSH), the thinking content is often embedded in the chat stream: folded, scrolled away by other messages, and long English passages require manual matching. Earlier approaches involved using PowerShell + WPF to read disk session logs and installing translation plugins, which had high maintenance costs.
Below is an introduction to the community-maintained client plugin dsh-think-overlay (maintainer hcycyxx): it extracts data from currently rendered thinking lines on the page, providing a pinned semi-transparent window in the bottom right. It features character-by-character streaming, a “green light” syncing with speed, optional English-to-Chinese translation, and a detachable mini-window. It is a standard DSH client plugin; install and enable it immediately, with zero external dependencies and no need to rebuild frontend artifacts; TUI does not display this interface.
- Plugin Directory: skillhub.cn/plugins/hcycyxx/dsh-think-overlay
- Source Code & Docs: github.com/hcycyxx/dsh-think-overlay
- Category: Client · License: MIT · Current Version: 0.2.0
What is it¶
dsh-think-overlay streams the thinking content currently being generated in DSH Web and the desktop version (which shares the same interface) into a floating window in the bottom right corner, character by character. The window is draggable, resizable, supports transparency and font size adjustment, and supports click-through; the breathing frequency of the green light in the title bar changes with the typing speed—slower when idle, faster when thinking intensifies. English thinking can be automatically translated to Chinese, or a separate window synchronized with the main window can be popped up with one click.
The data extraction scope is clear: it only reads the already rendered thinking lines on the page ([data-variant="think"] / [data-chat-group-part="reasoning"]), does not read disk session logs, does not depend on the “Thinking Process Machine Translation” plugin, and does not load history. Collapsed thinking lines can capture summaries, and full text can be captured after expansion.
Core Features¶
Character-by-Character Streaming and Green Light Sync¶
Thinking content is emitted character by character to avoid jumps in the entire paragraph. The main window is the only “typewriter”; the independent mini-window directly displays the emitted fragments, keeping the visual experience consistent on both sides. The green light in the top-left corner is driven by a continuous phase, and its frequency changes smoothly with the typing speed (recorded data: ~0.29 Hz idle, up to ~1.8 Hz active). Changing the speed does not reset the animation phase.
Automatic English-to-Chinese Translation¶
English thinking is translated to Chinese by default: it prioritizes DSH’s built-in translation channel (local Node side); if that fails, it falls back to a public translation endpoint; if that also fails, the original English text is displayed, and it automatically retries up to 4 times every 6–18 seconds. The Translate button in the title bar can be toggled at any time; when turned off, translated content reverts to the original text.
When English-to-Chinese translation is enabled, English thinking text is sent to a translation service (which may go through public endpoints like Google / MyMemory during fallback). If you are concerned about online translation, you can turn off Translate in the window or settings; at this point, it focuses on capturing the page. Except for translation, the plugin does not register model tools, does not execute commands, and does not send other network requests.
Independent Mini-Window and Window Operations¶
Clicking ⧉ pops up a separate window, synchronizing character-by-character results and green light status with the main window via a message channel. The mini-window can be pinned to cover other programs. It also supports: dragging the title bar to move, dragging edges and corners to resize, transparency/font size sliders, click-through, collapsing into a small capsule, clearing, and pausing follow. Default layout (width 428, height 380, opacity 0.9, font size 15px, position 28px from the edge in the bottom right, etc.) and preferences are saved in the current interface’s localStorage (key name dsh-think-overlay.cfg.v1), and will not be cleared when the plugin is uninstalled; a Floating Window for Thinking section will appear in DSH settings.
Each thinking block comes with a tool name and time; if DSH changes the DOM structure of thinking lines in the future, the window will not error out, it will just temporarily lack new content.
Installation and Activation¶
Current verified installation paths are subject to the README; @latest is only applicable after npm has published it and it is queryable, and cannot be treated as the sole current entry point.
Via Plugin Market (Recommended)¶
- Open Plugins → Experimental Plugins, and enable Custom Plugin Markets / Custom plugin markets (or Custom plugin indexes in some versions).
- Go to Discover / Discover → Add Index Source / Add index source.
- Add the following index, search for
dsh-think-overlay, and install after confirming the source is the Git repositoryhcycyxx/dsh-think-overlay.
https://raw.githubusercontent.com/hcycyxx/dsh-think-overlay/main/market/index.json
Restart the instance as prompted; for the desktop version, you can refresh the web page. Index sources are saved by profile, and each user needs to add them manually.
Command Line or Offline Package¶
After downloading dsh-think-overlay-0.2.0.tgz from Releases, install it to the Web profile with the actual path and restart:
dsh plugin --profile web add ./dsh-think-overlay-0.2.0.tgz
After npm release is confirmed to be available, you can also install a specific version or latest:
dsh plugin --profile web add dsh-think-overlay@0.2.0
dsh plugin --profile web add dsh-think-overlay@latest
For the desktop version, you can install the tgz using a file: path in the plugin management interface, or point to a repository directory containing the root package.json, for example:
file:C:/路径/dsh-think-overlay-0.2.0.tgz
file:C:/路径/dsh-think-overlay
Installing the plugin will load the client script (client.js) into the current DSH process/interface (injected into the Web platform). Before installing, it is recommended to browse the repository source code and the MIT license to ensure it aligns with your acceptance of data export and online translation.
Typical Usage¶
After installation and restart following the steps above, use is possible without additional configuration: let the model answer a task that generates thinking; once the thinking lines appear, the window in the bottom right corner will start streaming character by character.
| Button | Action |
|---|---|
| Translate | Toggle English-to-Chinese translation |
| ⧉ | Pop up independent mini-window |
| ◌ | Click-through |
| Ⅱ | Pause/Resume following |
| ⌫ | Clear current content |
| — | Collapse into small capsule |
When you need to cover other applications: first click ⧉ to pop up the mini-window, then click Pin. If the host does not expose the pinning interface, it may display “Pin*”, and you can manually pin it using the system window menu or tools like PowerToys; the data will still sync with the main window. After enabling click-through, an exit point for click-through will appear in the bottom right of the page; pressing Esc in the independent mini-window can also exit click-through.
Suitable Scenarios and Notes¶
Who is it for: Users who frequently view the model’s thinking process in DSH Web or the desktop version with the same interface, want to separate the thinking process from the main chat area, and need optional English-to-Chinese translation.
Environment and Verification: Version 0.2.0 does not block installation based on DSH version number. The README records successful installation and loading on Windows desktop (Electron, DSH 0.2.2-rc.1), and continuous running on Web profile and macOS/Linux desktop versions is outside the verified scope.
Permissions and Data: The plugin runs with the permissions of the current DSH client, reading only the displayed chat structure and thinking lines loaded in the current session; it does not register model tools or execute shell commands. Apart from optional translation, it does not initiate other network requests.
Uninstall:
dsh plugin --profile web remove dsh-think-overlay
Simply restart the corresponding instance; there is no need to delete the entire DSH profile.
Conclusion¶
dsh-think-overlay gathers real-time thinking within the page into an overlay that is draggable, click-through capable, and synchronized to a mini-window, using character-by-character streaming and green light speed syncing to reduce the friction of “not seeing, not keeping up”. The community plugin has no official affiliation with DeepSeek / Fangfang; index and installation details are subject to the repository README and Discover Documentation.
- Directory Page: https://www.skillhub.cn/plugins/hcycyxx/dsh-think-overlay
- GitHub: https://github.com/hcycyxx/dsh-think-overlay