dsh-thinkmeter
DeepSeek Harness(DSH)客户端插件:将聊天视图中流式的 Think 思考预览替换为 实时 Token 数量显示。
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 18, 2026
- Updated
- Aug 18, 2026
Introduction
dsh-thinkmeter (ThinkMeter)
A DeepSeek Harness (DSH) client plugin that replaces the streaming Think reasoning preview in the chat view with a live token-count display.
What it does
While the model is thinking, the shipped UI streams the latest line of the reasoning text in the "Think" disclosure row. This plugin replaces that summary with a token counter:
| State | Display |
|---|---|
| Running | Thinking ≈ 1,234 tokens (with sweep animation) |
| Settled | Think · 1,234 tokens |
- Settled counts use the exact
usage.reasoningTokensreported by the model when available; otherwise a heuristic estimate (CJK chars × 0.6 + other chars ÷ 4). - Click the row to expand/collapse the full reasoning text.
- Keyboard accessible (
Enter/Spacetoggles).
How it works
The package is a proper DSH profile bundle:
cordis.patch.yml— bundle patch inserting thethinkmeterplugin row (dsh.bundle.patchin package.json), sodsh plugin addreconciles it into the profile's layer list automatically.index.js— empty host half (pure UI plugin).client.js— browser bundle in thewindow.__ModuleLoader__.loadformat (exports["./client"], declared viadsh.client.platform: web).
The Think row itself is embedded inside the shipped assistant-step chat-node renderer, with no dedicated extension slot. The browser half registers the same keyed entry (conversation.chat.node, key assistant-step) in the Cordis slot system, shadowing the shipped renderer with a lightweight one. When the plugin is removed, the shipped renderer is restored automatically.
Known trade-off: while this plugin is active, plain assistant text blocks render as pre-wrapped plain text instead of full Markdown, because the dynamic/lightweight renderer cannot reuse the shipped Markdown components.
Install
Command (recommended)
Install directly from GitHub into your profile:
dsh plugin --profile web add https://github.com/dmz2922990/dsh-thinkmeter.git
Replace web with the profile you use (e.g. tui, headless). The command forwards to pnpm add inside the profile directory, so any pnpm-supported specifier works (git URL, tag, local path).
Upgrade / remove:
dsh plugin --profile web up dsh-thinkmeter
dsh plugin --profile web rm dsh-thinkmeter
If your machine has no GitHub credentials configured for git-over-HTTPS, use the SSH form:
git+ssh://git@github.com/dmz2922990/dsh-thinkmeter.git.
Static composition
Clone the repo next to your DSH config, then add a row to your cordis.yml composition:
plugins:
- name: dsh-thinkmeter
path: ../dsh-thinkmeter
Or once the package is published to a registry:
plugins:
- name: dsh-thinkmeter
Development
Plain JavaScript, no build step:
src/index.js # the Cordis client plugin (default export)
The same logic can also be pasted as a dynamic Cordis plugin (cordis_define client code) inside a running DSH session.
License
MIT