dsh-stats-expand
DSH Web client plugin: unwrap the session stats bar to full-width, click to toggle truncation (preference persisted). DSH Web 客户端插件:会话底部统计条解除限宽、单行完整铺满,点击可切回官方截断。
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 20, 2026
- Updated
- Aug 23, 2026
Introduction
dsh-stats-expand
A DeepSeek Harness (
dsh) Web client plugin that unwraps the session stats bar to full width — one line, fully visible; click to toggle back to the official truncation (preference persisted).
The official session stats bar (turns/steps · LLM/tool durations · first-token latency & output speed · cache hits · input/output tokens) is capped at --dsh-chat-content-width:748px and truncated to one line with an ellipsis — full content only visible on hover. This plugin lifts the width cap by default so the whole line fills the conversation area.
What you get
- Removes the official width cap: the stats line fills the full conversation width.
- Click the stats bar to toggle between full width / official truncation; the choice is persisted in
localStorage["dsh-stats-expand:expanded"]. - The
StatsLineroot class is a css-module hash (changes across upgrades); it is resolved at runtime from the DSH-injected<style data-plugin-css="@deepseek-ai/dsh-client-ui-conversation/StatsLine.module.css">tag, with a known-hash fallback when parsing fails. - Debug hook:
__dshStatsExpandin DevTools (expanded/toggle()/sync()/rootClass()).
Install (link, development)
npm install # installs esbuild (devDependency, build only)
npm run build # src/client.js → lib/client.js
npm run link-profile
link-profile adds a link: dependency, appends to dsh.profile.bundles, and runs pnpm install in the profile. Then restart dsh web (by convention, no auto-restart).
Directory layout
src/client.js # browser source (hand-written ModuleLoader format; the client logic lives here)
lib/index.js # host-side empty apply (host plugin logic goes here; see dsh-image-read)
lib/client.js # browser build output (npm run build)
package.json # three essentials: dsh.bundle.patch + dsh.client declaration + exports["./client"]
cordis.patch.yml # bundle patch: inserts into the profile plugin tree
build.mjs # build script (esbuild)
link-profile.mjs # link install script
Development notes
- Project-level skill
dsh-plugin-dev: SKILL.md + references/ (manifest three essentials, client half, paste/reference chain, pnpm pitfalls). - Reference implementations:
dsh-text-collapse(complete client plugin template),dsh-image-read(host tool plugin),~/.dsh/profiles/web/node_modules/dsh-chat-timeline(hand-written client bundle). - Authoritative source for DSH internal APIs:
/opt/homebrew/lib/node_modules/@deepseek-ai/dsh/(installed version).
License
MIT