Repository navigation
Same code as 0.4.0, republished as 0.4.1.
The npm registry never released 0.4.0: the publish was accepted asynchronously (HTTP 202)
but the version never entered the packument, npm stage list exposed no stage id, and
republishing failed with 409 Cannot publish over previously staged version — the known
registry issue npm/cli#9889. A wedged version
number cannot be reused, so the identical tree ships as 0.4.1. Nothing else changed.
Highlights
- Replies stream token by token — the host half folds DSH's live assistant stream into a
per-session attempt and serves it overPOST /side-chat/api/events(SSE:hello,event,
live,status,error, 15 s ping). Committed events and agent status travel on the same
stream. - Streaming rendering — Markdown, reasoning and tool-call arguments update live through
the shell renderer'sstreamingflag; the committedassistant/messagereplaces the live
row on settlement, with a snapshot catch-up so nothing is lost. - Visibility-aware — hiding the tab aborts the stream; showing it reconnects from the
last seenseqwith a fresh live baseline. - Polling fallback — if a transport cannot stream (no readable body, JSON refusal, no
hellowithin ~2.5 s, or two failed connects), that tab falls back to
/side-chat/api/snapshotpolling, which also carries the live attempt. - Still dependency-free — no
@deepseek-ai/*imports in either half.
Install and upgrade
dsh plugin --profile desktop add @flyer103/dsh-side-chat
# or a pinned tag
dsh plugin --profile desktop add github:flyer103/dsh-side-chat#v0.4.1Restart DSH afterwards. Collapsing the sidebar or switching tabs pauses live updates (not the
side session); closing the tab still destroys the side session.
npm: https://www.npmjs.com/package/@flyer103/dsh-side-chat/v/0.4.1