Install / Update
Install the dsh-context plugin on DeepSeek Harness with released NPM package:
dsh plugin --profile web add dsh-context@latestUpdate the dsh-context plugin:
dsh plugin --profile web update dsh-context@latestWhat's New
The Context Insights page gains a Skill Loads card — which skills your sessions actually pull in, and what each one is. The Context Browser now dates every element to the turn/step that introduced it, and the Context Stats session node can jump straight into the matching browser section. The shipped artifacts are minified, and the support floor moves up to dsh 0.1.7-rc.2.
Features
- Context Insights: the activity column's Skill Loads card (#123)
- Every skill loaded inside the page's scope — the range floor, or the heatmap's pinned day — as a colour-dotted row: load tally, a proportional share bar scaled to the heaviest skill, and the last load's relative time. The title toggles the order between Loads / Last used.
- A row click pins the session list to that skill's loaders (a chip clears it), and the pinned row unfolds into its detail: the registry description, then origin, usage, the exact last load, and the skill path as a click-to-copy value.
- The catalog — description, origin, and on-disk path — is resolved per current session the way the harness's own skill catalog resolves it (workspace preset layers included); when the route cannot serve, the card degrades to bare tallies rather than blanking.
- Context Browser: every element stamped with the turn/step that introduced it
- Each row — system prompt, tool schemas, user / assistant / tool / skill / inject messages — names the turn and step of the request that first carried it, derived client-side from the first request logged after the item's seq, so no wire change and older rows degrade gracefully.
- The stamp merges with the row clock into one muted meta run (
T1 S41 · 22:58:10), with the explanation on hover in both locales.
- Context Browser: the live tail's predicted step stamp
- Rows no request carries yet — the newest assistant reply, the tool results still waiting to be sent — wear a PENDING step instead of nothing. The prediction follows the harness's step loop (a newest user message opens a turn; a text-only final reply ends it; pending tool results or an in-flight injection continue it), and the confirmed stamp replaces it the moment the request logs.
- Past-step views never speculate: they reconstruct only what their request already carried.
- Context Stats: the session node's skill-loads and answers figures, and their jumps
- The Current Session node reads a second figures row — Skill Loads (the distinct skills among the retained skill-tagged injections; the available-skills catalog digest never counts) and Answers (assistant messages with a non-blank text block, so tool-call-only steps filter out).
- Both cells are keyboard-accessible jumps into the Context Browser: Skill Loads expands Skill Injections with the row lens cleared, Answers expands Assistant Messages with the Answer kind chip picked. They stay inert where no browser is mounted.
Fixes
- The sidebar panel glyph now sits at the harness's own line weight (#124)
- The Context Insights row's icon measured ~9.6% of its box against the harness icon set's 6.25%, so it read half again as heavy as the Plugins and Automation tasks glyphs beside it. The mono seat now derives the thin glyph from the same single artwork rather than shipping a second SVG — a compositing mask intersection, not an SVG filter, so it stays exact at 1x and 2x.
- Context Trend's duration curve reads as secondary again
- It rode the brand token, making the overlay the loudest element on the chart and colliding with the bar hover outline and the DNA highlight slices; it now paints in the tertiary gray of the right-hand axis labels at 1.25px, over a 3px card-background underlay that knocks the bars out behind it.
Changes
- The compatibility floor is now dsh
0.1.7-rc.2— the0.1.5line is dropped. Every supported line is the V4 durable-log generation, so the V3-only paths leave: thetool-resultwrapper reads, thesettings.registerhost face, the client settings-card seat, the retiredsessions.openjump fallback, legacy icon spellings, and the history page's V3 mapper (which was dropping result content on supported lines). An older harness still composes the fallback units and the upgrade prompt, and an undetectable version still fails open. See docs/compatibility.md. - The plugin settings entry rides the Insights page heading — the full-width row under the heatmap is gone; a quiet chip sits right of the title (the long hint moves to its hover title), and the entry is named Plugin Settings so it no longer reads as the shell's own Settings next to it.
- Smaller shipped artifacts — both halves are minified and stripped of source/build comments (legal comments and the published
index.d.tsJSDoc stay), and every built file is stamped with a package + git-commit banner. The browser half keeps minifying; the host half is left readable, since Node parses it straight off disk and no sourcemap ships beside it:lib/client.js355.18 → 336.46 kB (gzip 94.09 → 91.32),lib/index.js99.11 kB with comments stripped (gzip 24.21). - Hardened build config — the client bundle's browser target is pinned instead of falling back to
engines.node(which also tripped tsdown's legacy-CJS warning), and a newdeps.onlyBundleallowlist fails the build if any othernode_modulespackage gets inlined into it. - Internal cleanups — one shared connection seam and cost walk on the host, shared timeline/snapshot reads and the platform
ImageLightboxfor attachment previews on the client, dead CSS and unread component surface dropped, unusedplaywright-coreremoved, and the compatibility/test fixtures single-sourced.
Commits
- build(deps): carry zustand and immer, the rest of the phantom set (f60e1a5)
- build(deps): carry
diff, the harness bundle's phantom dependency (95d36a3) - chore: release v0.66.0 (4ae8e23)
- build(tsdown): leave the host half unminified (95d7ef3)
- build(tsdown): strip comments from the published artifacts (a5a82cf)
- build(tsdown): pin the client browser target and gate bundled deps (3775107)
- build(tsdown): minify both published artifacts (44e8e18)
- feat(overview): the activity column's skill-load card (48302d1)
- feat(host): tally daily skill loads and serve the skill catalog (b424e59)
- refactor(i18n): name the settings entry "Plugin Settings" (540e067)
- refactor(overview): move the plugin settings entry into the page heading (4f5b266)
- docs(readme): add recommendation from DeepSeek Harness staff (f9d6041)
- fix(sidebar): ink the panel glyph at the harness line weight (#124) (7ec8ff2)
- feat(stats): figure cells jump into the context browser (d4d5f52)
- feat(stats): second session-node row — skill loads & answers figures (16e3a20)
- docs(readme): update context insights dashboard snapshot image (36a1cc1)
- docs(readme): update context stats snapshot image (eceabd1)
- docs(readme): update context trend snapshot image (7c3d1f2)
- style(trend): quiet the duration curve — tertiary gray with a knockout halo (4199d9e)
- feat(browser): predict the pending step stamp for the live tail (f6b59f3)
- feat(browser): stamp each context row with its introducing turn/step (f1befe8)
- build: prepend a package/git header banner to built artifacts (2d474b0)
- build(test): enable tsc incremental for the typecheck (b784fd8)
- build(test): collapse the typecheck to a single program (5e6a5b8)
- build(test): run the two typecheck phases concurrently (8364917)
- test: single-source the baseline entries and the node fixtures (9f52f17)
- chore: drop the dead compareVersions and unexport nothing-imported symbols (a19c86c)
- refactor(host): single-source the connection seam and the cost walk (6a8f7a2)
- refactor(client): unthread the ctx the detail chain never reads (afa3376)
- refactor(client): share the timeline collections block and snapshot read (4da7803)
- refactor(client): trim unread component surface (95ddd40)
- chore(styles): drop dead and duplicate CSS (bb85479)
- refactor(client): ride the platform ImageLightbox for attachment previews (525b9af)
- chore(repo): drop unreferenced img.png files and ignore .DS_Store (3f7be66)
- chore(deps): drop unused playwright-core (c93a249)
- chore(styles): drop the orphaned .lc-stat-head rule (fc981a7)
- feat(compat): drop dsh 0.1.5-rc.1, floor the support matrix at 0.1.7-rc.2 (a988c9a)
v0.65.0...v0.66.0 · 37 commits
Contributors
- @bowenliang123
- @dotdance — issue report #123
- @simuusang — issue report #124