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
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
listslots, 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
- @bowenliang123
- @x98-beep — the duplicate-tab report (#137)