Small-tailqwq/dsh-tps

A TPS metrics plugin.

dsh-tps adds a live TPS (tokens per second) badge beside the "Deep diving..." status in the DSH Web UI. It counts streamed output in a rolling 5-second window with the bundled DeepSeek-V3 tokenizer, appears with the first reading, shows -- after roughly 1.5 seconds without output, and disappears with the status row when the turn ends. Hovering fades it after 2 seconds (becoming click-through) and it returns 3 seconds after the pointer moves away. The README notes the figure is a tokenizer estimate, not server billing usage or an exact count for other models' tokenizers, and that a UTF-8 byte approximation is used until BPE counting becomes available. The native stats line continues to provide averages, first-token latency, and total usage.

Development & Runtime ★ 1 updated 2026-08-22
View on GitHub ↗

Install

dsh plugin --profile web add 'github:Small-tailqwq/dsh-tps'

For DSH 0.1.2-rc.1 run the GitHub-source install above, then restart DSH with dsh web and reopen the page. GitHub installs build the plugin automatically; if pnpm blocks build scripts, configure the Web profile's allowBuilds as prompted and retry. The README also documents a local prebuilt-package form (dsh plugin --profile web add './dsh-tps-0.3.0-rc1-dom.tgz'). The npm name dsh-tps was NOT found on the registry on 2026-09-30, so use the GitHub-source form.

Compatibility

DeepSeek Harness 0.1.2-rc.1 (built and tested against that version). Front-end only: it reads DSH session snapshots with no extra network requests, mounts through the semantic DOM (conversation.composer.dock) without matching translated labels or CSS hashes, and mounts into the direct [role="status"][aria-live="polite"] child of [data-chat-flow] within the current [data-conversation-scroll]. Other Harness versions or altered layouts (e.g. an active skin that changes the chat status row) may require adaptation. If you use dshmarket, enable TPS there too -- the market restores its saved disable list.

Details

Recent updates

The README documents the install/uninstall steps, a four-item "installed but not visible" checklist, the token-counting caveats (bundled DeepSeek-V3 tokenizer; byte approximation during initialization; fixed hover timings with no config UI), the development setup (a sibling deepseek-harness checkout; pnpm install/typecheck/test/build; pnpm run prepare is the self-contained Git-install build), and how to regenerate tokenizer data with the official DeepSeek-V3 tokenizer.json.

FAQ

How do I install dsh-tps?
For DSH 0.1.2-rc.1, per the README run dsh plugin --profile web add 'github:Small-tailqwq/dsh-tps', then restart DSH with dsh web and reopen the page. The npm name dsh-tps is not published, so use the GitHub-source form.
The badge is not showing -- why?
The README's checklist: confirm the task is producing streamed output (the badge stays hidden while idle), confirm TPS is enabled in dshmarket too if you use it, restart DSH after installing, and check your host version / active skin preserves the chat status row.
Is the TPS number exact?
No -- the README states it uses the bundled DeepSeek-V3 tokenizer and is not server billing usage or an exact count for other models' tokenizers, with a UTF-8 byte approximation used until BPE counting is available.

Alternatives

apodemakeles/dsh-token-dashboard · 940842546/dsh-usage-billing · ben7am1n/dsh-deepseek-usage

More plugins in Development & Runtime

Browse more in Development & Runtime

Guides for Development & Runtime plugins