Skip to content

v0.4.1 — token-streamed replies (npm republication of 0.4.0)

Latest

Choose a tag to compare

@flyer103 flyer103 released this 20 Oct 15:40

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 over POST /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's streaming flag; the committed assistant/message replaces 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 seen seq with a fresh live baseline.
  • Polling fallback — if a transport cannot stream (no readable body, JSON refusal, no
    hello within ~2.5 s, or two failed connects), that tab falls back to
    /side-chat/api/snapshot polling, 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.1

Restart 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