DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Client Ui Thinking Stats — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
C

@six6strings/dsh-client-ui-thinking-stats

Client Ui Thinking Stats

A lightweight plugin that adds model thinking token statistics to the bottom Dock and the end of each conversation.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:Six6stRINgs/dsh-client-ui-thinking-stats#14654ed7e3c4477f80653eec245238527eefd17f
READMECompatibilityVersions
thinking-token statistics

Compatibility and provenance

Client Ui Thinking Stats is published as @six6strings/dsh-client-ui-thinking-stats and currently resolves to version 1.0.2. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
9/6/2026

Versions

1.0.2stable
9/6/2026

Related plugins

Loading related plugins…

Latest
1.0.2
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in models-usage.

Whale Widgetdsh-whale-widgetDeepSeek balance whale widget in the bottom-right corner of the DSH Web interface: balance/today’s usage/peak-off-peak pricing, customizable bubble click sequence (text/balance/today/peak-off-peak/image/random phrases and parallel weighted selection), per-line styles and fonts, floating quick editinUsage Stats@ychris12138/dsh-usage-statsToken usage heatmap, provider balances, and subscription quotas for the dsh web GUICodex Connectdsh-codex-connectChatGPT OAuth and Codex models for DeepSeek Harness.Ui Usage Billing@kenz1117/dsh-ui-usage-billingUsage billing dashboard for DeepSeek Harness: sidebar cost metrics plus a full dashboard modal, priced from a current multi-provider catalog with real usage aggregated from session logs.

README

dsh-client-ui-thinking-stats

A lightweight plugin that adds model thinking token statistics to the bottom Dock and the end of each conversation. Client-only and zero-cost when idle: it reads the existing conversation snapshot and renders nothing at all when there is no thinking.

Chinese version / 中文版

thinking-token statistics

It adds two readouts, both of which render nothing when the model has produced no thinking for the relevant scope:

SurfaceSlotScope
Bottom composer dockconversation.composer.dockWhole session (cumulative)
Each assistant reply (timing row)conversation.chat.assistant-actionsThat single turn

The per-turn readout is appended to the reply's timing strip — the same hover row that shows 20:55 · 用时 11秒 · 首token 10秒 · 28 tok/s — so it reads as part of that same unit.

Each readout shows, left to right, a brain glyph, the thinking-token count, its share of all tokens, and its share of output tokens, each with one decimal place, for example:

💭 15 · 0.2% · 60.0%

Hover for the exact numbers.

How thinking tokens are counted

For every finalized assistant message, in order:

  1. Provider-reported — if usage.reasoningTokens is present (DeepSeek, OpenAI o-series, Anthropic, …), it is used as-is. This is exact.
  2. Otherwise — the reasoning blocks are priced with the harness' fixed heuristic (four characters per token), so a provider that returns reasoning text but no token count still gets a figure.
  3. Neither present → the message counts as zero thinking and contributes nothing.

The two denominators are derived from the same assistant messages, so the percentages always agree with the count on one consistent scope:

  • share of all tokens = thinking ÷ (input + output + cache reads + cache writes)
  • share of output = thinking ÷ output

Why it's lightweight

  • Client-only, zero host behavior. The node half (lib/index.js) is an empty apply that exists only so the package appears in the host Loader. All work is done in the browser.
  • Read-only. It consumes the existing conversation snapshot; it adds no service, projection, tool, or RPC.
  • Self-contained. It depends on no other plugin.
  • Zero-cost when idle. When nothing is being thought, both readouts render null — no element, no layout cost.
  • Theme-aware. Colors come from the --dsw-alias-* tokens, so it follows light/dark automatically.

Install

The plugin follows the standard dsh.bundle + dsh.client convention, so it installs like any DSH plugin. From this repository:

dsh plugin add github:Six6stRINgs/dsh-client-ui-thinking-stats

Then restart dsh web and reload the page. The readouts appear only once the model starts thinking.

Testing

test/harness.mjs stubs the browser/React environment, runs the real factory and apply, and renders both entries against sample data (provider-reported and block-estimated paths, the one-decimal formatting, and the hidden-when-empty cases). Run with:

node test/harness.mjs

Known limitations

  • Figures come from the in-window conversation snapshot. For very long, paged sessions the visible window is the counted scope; the shipped stats line and projections use whole-log folds instead.
  • The character-per-token estimate is approximate, exactly as the harness' fixed heuristic is; provider-reported reasoningTokens is always preferred.