Releases: bowenliang123/dsh-context
Release list
dsh-context v0.6.1
UI fixes and polish since v0.6.0.
Changes
- Dark-mode legibility: the active Step/Turn toggle button now uses the harness's primary-button pairing (
button-primary-fill+label-primary-foreground) — dark themes resolve the brand color to near-white, which made the old white-on-white text invisible. - Bidirectional composition hover: hovering a legend chip now also lights the matching segment AND shows the tooltip (derived from the shared hover key, centered on the segment); hovering a segment still does both.
- Granularity re-anchor: switching step ↔ turn scrolls the history back to the newest bars (the narrow turn chart had left a stale left-edge position).
- Regression guard: a real-React + jsdom render smoke covers the step → turn → step toggle with a 460-request snapshot.
dsh-context v0.6.0
Correct context pricing — the Current composition numbers are now right, plus UI polish.
Critical fix
- Assistant replies and tool results were priced at a flat 4 tokens (a TS-port regression passed the event envelope instead of
data.message), so tool-heavy sessions were massively undercounted (e.g. 20.7k vs the real ~495k). Now priced by content, mirroring dsh'sderiveEventMessage/token-meter exactly; empty usage-only assistant messages price 0; tool schemas use dsh's whole-array price. - Overview now shows the last provider-reported actual prompt alongside the estimate, so a heuristic gap (fixed density vs real tokenizer, CJK-heavy content) is visible instead of looking like a bug.
Also in this release
- History retained by whole turns (never cut mid-turn; up to 300 turns) instead of a step count.
- Turn bars use a uniform column width, aligned 1:1 with the turn strip.
- Composition bar ↔ legend hover highlight (bidirectional).
- Message list timestamps (host passes
ev.timethrough). - Husky pre-commit hook runs
tsc --noEmit.
dsh-context v0.5.0
Interactive history chart — everything since v0.4.0, plus the new granularity toggle.
New in 0.5.0
- Granularity toggle: a Step/Turn segmented control in the History card switches the chart from one bar per step (default) to one bar per turn — each turn is shown by its last step's record (the context state when the turn finished).
- Hover linking: hovering a history bar previews its breakdown in the detail panel below (hover > pinned click > newest request).
- Themed tooltip on the Current-composition stacked bar segments (category, tokens, share of total), replacing the native title.
- Turn strip: below the chart, one color block per turn aligned to its bar columns — hovering a block highlights that turn's bars in the chart, and hovering a bar highlights its block (bidirectional, hover-only).
Also in this release
- License switched to Apache-2.0.
- Package manager switched from npm to pnpm (own workspace root;
packageManager: pnpm@11.9.0). - Runtime remains zero-dependency; strict TS; all functional tests green.
dsh-context v0.4.0
Full TypeScript port — both plugin halves now ship as strict TypeScript.
Changes
src/host.ts: typed fold model (Snapshot/RequestRecord/SurfaceNode/ContextEventRecord), local drift-free service contracts forconnection/sessions/sessionQueryviadeclare moduleaugmentation.src/client.cts: typed client bundle — React types (@types/react),locale/slots/connectioncontracts, typed component props. CJS-flavored so esbuild keepsrequire/module.exportssemantics despitetype: module.tsconfig.json: strict,noEmit,verbatimModuleSyntax— the type system enforces that the client bundle carries no runtime imports.- Build: esbuild transpiles both halves (
npm run build);npm run typecheckadded tonpm test. - Runtime behavior is byte-for-byte equivalent to v0.3.1; all functional tests pass unchanged.
Note: the official
@deepseek-ai/*service type packages publish broken dependency chains on npm (dsh-paths404s), so this plugin declares the exact API surface it consumes instead — zero drift risk against user-installed harnesses.
dsh-context v0.3.1
README cleanup — publishing instructions removed from the README (the npm page now focuses on installing and using the plugin).
dsh-context v0.3.0
History chart overhaul — the trend chart no longer stretches or squashes.
Changes
- Fixed-width bars (14px columns): sparse histories no longer render as fat bars, and dense histories scroll horizontally instead of compressing.
- Scrollable history: the chart scrolls left to reach earlier requests; it stays anchored on the newest bars unless you scroll away manually.
- Turn ranges: a tick row under the bars groups consecutive requests of the same turn into one labeled range (e.g.
T1spans all of its bars with a connector line), so multi-step turns are readable at a glance. - Chart render test added (stateful fake React drives the view; asserts bar count, scroll container, and turn-range geometry).
dsh-context v0.2.3
npm metadata — the package page now links back to the source repository.
Changes
- Added
repository,homepage,bugs, andauthorfields to package.json, so the npm page shows a Repository link to https://github.com/bowenliang123/dsh-context and an issue tracker link.
dsh-context v0.2.2
Zero-decision quick install — the README now targets the shipped web profile, which dsh web boots and which is auto-created on first use. No profile naming needed.
Changes
- Quick install now reads:
dsh plugin --profile web add dsh-context dsh web
webis the official default web profile (dsh webis a hardcoded alias ofdsh --profile web); custom profile names are only needed for multiple isolated compositions.
dsh-context v0.2.1
README quick-install — one-command install up front, so DeepSeek Harness users can install directly from the npm page.
Changes
- New Quick install section at the top of the README:
dsh plugin --profile demo add dsh-context dsh --profile demo web
- Existing Install section trimmed to complement the quick start.
dsh-context v0.2.0
README screenshot fix — the npm package page was showing a broken image because the README referenced a local path.
Changes
- README screenshot now points to the GitHub raw URL (
raw.githubusercontent.com/bowenliang123/dsh-context/main/docs/screenshot.png), so the image renders on npm and anywhere else the README is displayed.