@deepseek-ai/dsh-session
@deepseek-ai/dsh-session is a DeepSeek Harness capability seam: Event-sourced session store. Sessions are appended as events, which is why a session file grows by frames rather than being rewritten.
Published on npm at 0.0.1-rc.1. It installs into $DSH_HOME/profiles/<name> as a dependency of that profile.
Install
Plugin management forwards to pnpm inside the profile directory, so this behaves like pnpm add.
dsh plugin --profile web add @deepseek-ai/dsh-sessionWhat it does in a profile
Event-sourced session store. Sessions are appended as events, which is why a session file grows by frames rather than being rewritten. Currently 0.0.1-rc.1. To check whether it is already installed, read the dependencies in $DSH_HOME/profiles/<name>/package.json, or read the composed tree with --dump-config.
When you need to look at this package
Symptom: the list shows a session id that will not open, or the transcript you see stops matching the log. SessionStore (ctx key sessions) is the append-only source of truth, and the model message history is derived from it — a mismatch is a derivation problem, not a missing file.
What breaks if you remove or replace it
Without it there is no append-only log, so compaction has no surface to project and nothing is durable. The package also ships the chunk-row codec that writes the on-disk rows, and the lossless JSON utilities used when reading them back.
The package it gets confused with
It is not dsh-workspace. The workspace registry holds the list and attachment records; the session store holds the events. A session can exist as events and still be absent from the workspace list — that is exactly the state Session Index Doctor reports.
Common questions
How do I remove it again?
Use dsh plugin --profile <name> remove @deepseek-ai/dsh-session, the mirror of the install command.
What if the version does not match my dsh?
Plugins declare a compatible range through engines.dsh or DSH peer dependencies. Outside that range the CLI skips the plugin and prints the requirement instead of booting a combination that may crash.