Repository navigation
Releases: usermbzlj/dsh-retro-dock
Releases · usermbzlj/dsh-retro-dock
Release list
v1.7.0 — Idle hold and a sharper classic dial
Added
- Idle hold. When generation stops, the number keeps the last turn's average speed and the unit reads 均速 /
avg; the needle still drops to zero. On by default; turn it off under Settings → 空闲读数 (holdinprefs:v3). - Turn-average marker. A small triangle outside the scale marks the current turn's running average, or the last turn's once idle. Classic and VU draw a triangle; Swiss draws a hollow square on the rule. It glides to its new position (no motion when reduced motion is on).
Changed
- Classic dial: tapered needle with a counterweight tail and an accent pivot cap (muted when idle); 12 minor ticks between the four majors; the over-range glow that the README described now exists (
--rg-overdrives a drop-shadow on the rate arc). - Classic readout is right-aligned: the units digit and
tok/sshare a fixed right edge, so a growing number extends left instead of pushing the sub dial. The over-range+is a superscript that takes no width. An idle0is muted instead of being the brightest thing on the gauge. - CTX shows
%like HIT. The HIT label is tinted teal so it doubles as a legend for the inner ring. - Lamps: unlit lamps are solid, faint lenses instead of outline rings; lit lamps get a soft halo, with brighter green and amber in the dark theme (VU keeps its light-face colours).
- Settings: the context-lamps switch is visibly disabled on Chart and Swiss, where it does nothing.
- README, README.en and package summary describe the four looks that ship; specimen sheets are regenerated for 1.7.0 with a four-look strip. The stale seven-style hero is no longer referenced or packed.
Fixed
- A blue dot sat at the start of the classic speed arc at 0 tok/s (a zero-length round line cap). The arc now fades out as the needle reaches zero.
v1.1.0 — Four instruments, one measurement contract
Changelog
1.1.0 — 2026-10-26
视觉、设置与测量核心的一次完整升级。旧的 1.0.0 包只有单一样式,测量与文档也停留在初版。
Added
- Four high-quality styles: Heritage, Neon HUD, Minimal, Terminal, with independent light/dark palettes that follow
body[data-ds-dark-theme]. - Settings popover anchored to a gear button: style, placement, density, full scale, CTX warning threshold, sub-readout switch, language and calibration reset.
- Full
settings.sectionpage with the same controls and live full/minimal previews. - Chinese/English UI, including style names, descriptions, tooltips, aria labels and the settings page.
- Style gallery and screenshots in
docs/(styles-*.jpg,settings-*.jpg,popover-*.jpg, per-style cards), generated by Playwright. src/module layout with an esbuild bundle;client.jsis now a build artifact.- 43 tests: measurement, incremental stream counting, rate/calibration, preference migration, i18n, SSR rendering of all styles, jsdom mount/toggle/popover integration, and the built bundle's ModuleLoader contract.
- GitHub Actions CI (
npm ci && npm run build && npm test). - Package compatibility metadata:
engines.dsh,dsh.compatibilityrelease map, peer dependency range, repository/homepage/bugs/author. .gitattributes(LF), README.en.md, CHANGELOG.md, rewritten MEASUREMENT.md.
Changed
- Rate accounting is incremental: only the appended slice of each streaming block is tokenized. Long generations no longer pay O(n²).
- Calibration compares host
sessionStatstoken deltas against estimated token deltas within the same interval, instead of comparing a session average with a single generation average. - Calibration has explicit states:
pending,available(with sample count) andunavailable; the tooltip no longer claims×1.00when no sample exists. - HIT formatting follows the host's exact formatter: integer while integer rounding stays below 100, otherwise the minimum honest precision (e.g.
99.9,99.99). - Layout, size and density are per gauge instance and driven by a ResizeObserver; switching placement can no longer carry the other variant's size over.
- Preferences moved to
dsh-retro-dock:prefs:v2;rg-gauge-placementis migrated and removed. - The runtime no longer uses
window.__dsh*globals as a data bus. A module-scoped engine owns state;window.__retroDockis a read-only debug mirror. - rAF stops after the needle settles; the body MutationObserver is attached only when the chat stream is unavailable.
- Heritage dial gains a 25-tick scale, metallic bezel ring, redline arc and a brighter face; Neon gains a real gradient arc and aligned endpoint; Minimal CTX tracks use the warning colour; endpoint dot geometry is aligned to the 240° sweep.
Fixed
- Marker dots in Neon and Minimal were 90° out of phase with the arc.
- Heritage/Neon tick rings were rotated 90° off the 8 o'clock start.
- Minimal density could inherit the other placement's dial size.
- Sub-dial SVG overflowed its 68% face on some sizes.
- Settings had duplicate “Show CTX / HIT” labels and a duplicated notice.
- HIT could under-report
99.95as99.9; it now matches the host. - The popover could be clipped by the composer; it is portaled to
body, closes on Escape/outside pointerdown and restores focus. - A stale v1.0.0 tarball link and a JPEG saved as
preview.pngwere removed from the docs.
Known limitations
- A real-session trace of
window.__retroDockagainst hostsessionStatsis still pending; measured accuracy is not claimed yet. sessionStatsmissing → calibration unavailable; DOM fallback is less trustworthy than projections.- The 1.2 s window can show a spike when tool arguments arrive in one burst.
- HIT is whole-session cumulative, not the current request.
v1.0.0 — Composer Instrument Dials
Two instrument dials for the DeepSeek Harness composer.
- Live tokens/sec on a 240-degree dial (0-180 tok/s) with spring-damped needle; past the ceiling the needle rattles and the ring brightens from blue to cyan.
- Secondary dial: amber ring = context pressure, teal ring = cache hit rate.
- Click the cluster to dock it above the composer or in the stats bar (remembered in localStorage).
- Density adapts to the container: full / compact / minimal (sub dial folds into text).
- Reads streamed blocks from the chat store; calibrates against sessionStats decodeTokens/decodeMs.
Install: download the attached tarball and add it to your DSH profile, or use pnpm add github:usermbzlj/dsh-retro-dock.
