dsh-thinkbar
Manifest valid★ 3Make DeepSeek Harness's thinking state visible — non-invasively transform reasoning waits into a dynamic ThinkBar that gradually warms up from blue to gold.
🧠 dsh-thinkbar
Dynamic reasoning-wait visual indicator for DeepSeek Harness Web Composer
English | 简体中文
dsh-thinkbar is a lightweight, non-intrusive Web UI plugin for DeepSeek Harness. It fills the existing model selector with a dynamic thermal gradient during each assistant Step's model-thinking window, and overlays a separate Tool activity treatment while that Step's tools execute.
✨ Key Features
- 🌡️ Thermal Iron Scale Palette: Smooth transition from initial Harness info blue (0s) through red (~6.7s), orange (~13.3s), and glowing gold (20s) with an ease-out progression curve.
- ⚡ Zero-Intrusion Portal Adapter: Injects through the public
conversation.input.rightSlot lifecycle without hacking DSH internals, generated CSS classes, or model label strings. - 🎯 Model-Compatible Per-Step State Machine: Starts with each model request, follows explicit
reasoningchunks when available, and switches exclusively to Tool activity when a call begins. - 🛠️ Visible Tool Activity: Uses a distinct violet/cyan sweep and temporarily overlays the names of every currently executing Tool.
- 💨 Fluid Drain Animation: Drains smoothly in 240ms when reasoning yields to text, tool calls, or message completion.
- ♿ Accessibility Ready: Fully respects
prefers-reduced-motionsettings. - 🔒 100% Client-Side & Private: Zero backend modifications, zero telemetry, zero external network traffic.
📋 Requirements
| Dependency | Required Version | Note |
|---|---|---|
| DeepSeek Harness | 0.1.2-alpha.4 | Supports the current lazy-target Conversation lifecycle |
| Profile | Standard DSH web Profile | Official model-selection plugin enabled |
| Node.js | ^22.19.0 || >=24.0.0 | Recommended LTS |
| Package Manager | pnpm (>= 9.0) | Standard DSH workflow |
[!IMPORTANT] This release supports exactly
0.1.2-alpha.4. Earlier builds used different Conversation target lifecycles and are not supported.
🚀 Quick Start
Installation
Install via npm registry:
pnpm dsh plugin --profile web add dsh-thinkbar
Or test a local release tarball:
pnpm dsh plugin --profile web add ./dsh-thinkbar-<version>.tgz
Restart your DSH Web Profile after installation:
pnpm dsh web
Verify that dsh-thinkbar is loaded:
pnpm dsh --profile web --dump-config
(The output must contain exactly one dsh-thinkbar row)
Upgrade & Uninstall
# Upgrade to a specific version
pnpm dsh plugin --profile web add dsh-thinkbar@<version>
# Uninstall plugin
pnpm dsh plugin --profile web remove dsh-thinkbar
🔍 How It Works
[ step/start ] ──> Start Thinking Fill (8% -> 100%, 0s -> 20s)
│
[ assistant/chunk: reasoning ] ──> Continue Thinking Fill
│ │
│ └──> Palette: Blue -> Red -> Orange -> Yellow
│
[ text / step/end ] ──────────────> Fast Drain (240ms) -> Return to Idle
[ assistant tool-call / tool/call ] ──> Stop Thinking Clock + Fast Drain (240ms)
│
└──> After 200ms, show violet/cyan Tool sweep + name overlay
│
[ final matching tool/result ] ───────┴──> Return to Idle until next step/start
- State Projection: Derives mutually exclusive Thinking and Tool phases for each
{ turn, step }from the publicctx.uiConversation.eventsandctx.uiConversation.viewsregistries. Parallel Tools remain paired independently by call ID, while the Thinking clock stays stopped for the rest of that Step. - Anchor & Portal: Anchors in
conversation.input.right, identifies the trailingbutton[aria-haspopup="menu"]within[data-composer-card], and portals an isolated plugin layer. - Safety Fallback: If the model trigger cannot be identified uniquely, the DOM remains untouched with a single console notice:
[dsh-thinkbar] Could not uniquely identify the DeepSeek Harness model selector; the indicator is disabled.
🛠️ Troubleshooting
| Issue | Root Cause | Solution |
|---|---|---|
| No visual changes after install | Profile not restarted or bundle unlinked | Restart Web Profile and verify with pnpm dsh --profile web --dump-config. |
| Client bundle load failure | DSH version mismatch | Ensure DSH is 0.1.2-alpha.4. Inspect browser console and host stderr. |
| Compatibility warning in console | Missing or conflicting model trigger | Ensure official model-selection plugin is enabled without conflicting custom buttons. |
| Thinking fill does not light up | No active model Step reached the client projection | Inspect the browser console and verify the Conversation target subscription. Tool execution uses its separate activity treatment. |
| Changes persist after removal | Cached Profile process | Restart the Profile after pnpm dsh plugin --profile web remove dsh-thinkbar. |
🧑💻 Development
# Install dependencies
pnpm install --frozen-lockfile
# Run typecheck, unit tests, build validation & publint
pnpm verify
# Pack local tarball
pnpm pack
Release Pipeline
# One-command automated publish suite
npm run publish
# Dry-run validation without publishing
npm run publish -- --dry-run
The browser artifact is a DSH lazy-CJS factory. Always preserve its window.__ModuleLoader__.load(...) envelope.
Contributor References
📄 License and Attribution
The original reasoning indicator design was extracted from DeepSeek Harness commit 6d7ae5aa57b4dedfc03b09de7cafb65c01338800. DeepSeek Harness is Copyright (c) 2026 DeepSeek and distributed under the MIT License. Independent packaging and subsequent modifications are maintained by the dsh-thinkbar contributors.
Compatibility
Versions
| Latest version | Published | Size |
|---|---|---|
| 0.1.0 | — | — |
| 0.1.1 | — | — |
| 0.1.2 | — | — |
| 0.1.3 | — | — |
| 0.1.4 | — | — |
Comments
Loading…
Similar plugins
by 2877905731
dsh-think-autoexpand:让 DeepSeek Harness 里的 Think 思考行始终可见,并在流式输出时自动展开,实时查看 Agent 完整推理过程;保留工具卡折叠体验。
★ 6
JavaScript
Sep 1, 2026
dsh plugin --profile web add dsh-think-autoexpandby drscrewdriver
deepseek-harness dsh thinging levels 调整 reasoning强度调整
★ 13
MIT
TypeScript
Oct 28, 2026
dsh plugin --profile web add dsh-thinking-levelsby peterwangze
DSH (DeepSeek Harness) plugin: unified default reasoning level (thinking effort) for all models — per-model defaults with capability probing, live call statistics, one-command install via dsh plugin
★ 2
NOASSERTION
JavaScript
Sep 12, 2026
dsh plugin --profile web add dsh-reasoning-levelby yingjian666
DeepSeek Harness (dsh) 插件:注入系统提示词,强制 Agent 的思维链 / 规划 / 工具推理全程使用简体中文,防止中文思考漂移为英文。零外部依赖,任意本地目录 link 即装。
★ 18
MIT
JavaScript
Oct 1, 2026
dsh plugin --profile web add dsh-zh-thinkingby lco117
DeepSeek Harness (DSH) plugin: a "Thinking Language" selector under Settings → General that tells the model which language to reason in (chain of thought) via a system-prompt section. Zero extra calls
★ 4
MIT
JavaScript
Aug 14, 2026
dsh plugin --profile web add dsh-think-any-langby AI-Galaxy-GPU
DeepSeek Harness 插件:在 Web GUI 中为会话选择模型的推理程度(reasoning effort),星光推理选择器一键切换 Off / 默认 / High / Max。
★ 0
JavaScript
Aug 15, 2026
dsh plugin --profile web add dsh-effort