github bowenliang123/dsh-context v0.69.1

2 hours ago

Install / Update

Install the dsh-context plugin on DeepSeek Harness with released NPM package:

dsh plugin --profile web add dsh-context@latest

Update the dsh-context plugin:

dsh plugin --profile web update dsh-context@latest

What's New

A bug-fix release for the conversation tab row occasionally showing two identical 上下文 tabs — reported in #137 and closed by this release.

Fixes

  • The client bundle mounts once per page — the same package can mount twice into one page's slot ledger (a static profile bundle plus a later activation of the same package). The client-plugin runner force-assigns a fresh shadowing priority to every registration, so the slot registry's own same-id duplicate guard never fires across the two mounts, and the session header — which renders the raw ledger and matches the active view by entry id — would paint both copies of every list-slot seat. apply() now reads the raw ledger first and mounts nothing when this bundle's chat→Context jump entry is already seated. The read fails open, so an absent or unfamiliar ledger face still mounts exactly as before.
  • A placement mount is tracked by its own state, not by the disposer it hands back — a face that seats a seat and returns no disposer read as "never mounted", so a later preference change registered a second copy of the same tab and sidebar entry.

Notes

  • The underlying harness-side defects — the runner forcing a shadowing rank onto additive list slots, and the session header rendering the raw ledger instead of the per-cell projection — are in deepseek-ai/deepseek-harness and are reported separately. This release is the plugin-side defense; it does not change what the harness renders for other plugins.
  • One detail from the investigation corrects the original report: a second full mount of the bundle already fails at the dictionary registration (the harness refuses a duplicate locale namespace), so the ledger guard converts an activation that would otherwise error into a clean no-op rather than being the sole line of defense.

Commits

  • mount the client bundle once per page (issue #137) (9873eb5)
  • track a placement mount by its own state, not its disposer (0f01900)
  • release v0.69.1 (f6ab4a2)

v0.69.0...v0.69.1 · 3 commits

Contributors

Don't miss a new dsh-context release

NewReleases is sending notifications on new releases.